AWS CodeBuild – Build 没有互联网连接。请检查子网网络配置

AWS CodeBuild – Build does not have internet connectivity. Please check subnet network configuration

我正在尝试使用 CodeBuild,但遇到了死胡同。我的构建总是失败并显示错误消息:

Build does not have internet connectivity. Please check subnet network configuration.

我检查了 VPC 配置(子网、安全组),它们似乎没问题。为了测试互联网连接,我在同一子网中启动了一个 EC2 实例,它能够与外部服务通信(我尝试了 ping 和一些 HTTP GET)。

如何解决这个 'internet connectivity' 问题?

CodeBuild 构建需要 NAT 网关才能访问互联网,因为它们不会像 public 子网中的 EC2 实例那样被分配 public IP 地址。您可以将其视为 CodeBuild 构建始终位于 VPC 的私有子网中: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_Scenario2.html

请参阅此文档了解更多故障排除步骤,包括用于使用 NAT 网关设置 VPC 的 CloudFormation 模板: https://docs.aws.amazon.com/codebuild/latest/userguide/vpc-support.html#troubleshooting

当您将 CodeBuild 项目分配给子网时,它必须是一个 私有 子网,具有连接到互联网网关的 NAT 网关。

我遇到了同样的问题,但我在项目中还很早,所以我可以将其拆除并重新开始。

VPC Dashboard 我使用了 'Start VPC Wizard' 按钮,在那里我可以 select 一个名为 'VPC with Public and Private Subnets' 的模板。我仍然需要创建安全组并分配弹性 IP。

生成并配置新 VPC 后,我重新配置了我的 CodeBuild 项目以在新 VPC 中使用 私有子网,并且配置步骤成功。

希望对您有所帮助。