twi*_*wiz 7 amazon-web-services amazon-vpc aws-codecommit
我最初有一个由提交到 CodeCommit 存储库触发的简单 CodePipeline 设置,其中一个“Stage”将源代码输出为工件,另一个“Stage”使用 CodeBuild 从该源输出运行一些代码。现在我想在那个 CodeBuild“阶段”中访问 RDS,所以我将我的 RDS 的 VPC 设置添加到我的 CodeBuild 项目中。
问题是现在 CodeBuild 无法再访问 CodeCommit 源。我收到以下错误:
CLIENT_ERROR: RequestError: send request failed caused by: Get https://mypipeline-artifactstorebucket-twlrq7tj45fq.s3.amazonaws.com/MYPipeline-data-pipe/RepoSource/PKGw3xs: dial tcp 52.216.160.35:443: i/o timeout for primary source and source version arn:aws:s3:::mypipeline-artifactstorebucket-twlrq7tj45fq/MYPipeline-data-pipe/RepoSource/PKGw3xs
向 CodeBuild 项目添加 VPC 是否也会删除默认设置?(也许它最初使用的是默认 VPC?)
如何允许 CodeBuild 访问 RDS 和 CodeCommit?
基于 VPC 的 CodeBuild 可以访问的内容取决于您用于 CodeBuild 容器的子网配置。
如果您将其放置在专用子网中,请确保该子网配置为通过NAT 网关访问互联网。
如果您在公共子网中运行它,请确保将其配置为默认分配公共 IP。
有关更多信息,请参阅此答案:VPC 中的公共和私有子网
还要确保没有其他限制,例如安全组允许对互联网的出站访问、没有 NACL 等。
简单测试:是在运行 CodeBuild 容器的同一子网中启动一个小型 EC2 实例,并从那里测试它是否可以到达 codebuild 端点(例如curl https://mypipeline-artifactstorebucket.../PKGw3xs
)。
换句话说:是的,CodeBuild 可以在 VPC 中运行,并且仍然可以访问 CodeCommit,但您的子网网络配置必须正确。
希望有帮助:)
归档时间: |
|
查看次数: |
5990 次 |
最近记录: |