使用 BeanStalk、GitHub、CodePipeline 和 Jenkins 的 CI/CD 的最佳子网配置

Optimal Subnet Configuration for a CI/CD with BeanStalk, GitHub, CodePipeline and Jenkins

我计划在涉及 AWS BeanStalk[的 VPC 中创建 CI/CD 配置 =42=](主机环境),GitHub(代码库),CodePipelineJenkins(代码构建)。位于 GitHub 存储库中的应用程序应该 运行 在 BeanStalk 环境中,而对 GitHub repo 应该从前端反映出来。

我创建了一个 VPC 2 public 和私有子网 。我已经配置了一个 BeanStalk 环境和 NodeJS 平台(应用程序是 NodeJS)。然后我正在配置 CodePipeline,在添加源阶段,我已经成功连接到 GitHub 存储库。现在,我正处于代码构建阶段,我想在 EC2 实例中添加一个 Jenkins,其中 运行s。因此,我准备了一个 EC2 实例,我计划安装 Jenkins,然后在代码构建阶段提及它。

但是,我不确定Jenkins EC2 实例 应该是哪个子网Public 或私有?

为了更安全的架构,在私有子网中托管 jenkins 并设置 AWS codepipeline 以使用 VPC 端点,使用 VPC 端点,不需要 public IP 地址,VPC 和 CodePipeline 之间的流量不会离开亚马逊网络。