我最初有一个由提交到 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?
我有一个带有 ec2 实例的公共子网。路由表0.0.0.0/0
默认有IGW(互联网网关)。
我测试了向我的实例添加一个公共 IP 地址(104.27.142.41/32
如 curl 所报告ifconfig.co
),当我 ssh 到该 ec2 时,它会返回此 IP 地址,这正是我所期望的。
1)我的问题是,由于 NAT 仅适用于出站流量,因此当它向其他站点发送请求或报价时,它们如何通信?
2) 如果我将公共子网的 IGW(互联网网关)切换到 NAT,它是否会将所有出站流量屏蔽到 NAT IP 地址,并且仍然能够与其他站点进行通信?
nat subnet amazon-ec2 amazon-web-services amazon-nat-gateway