我已经为此苦苦挣扎了几个小时。因此,我创建了 VPC 以及 4 个不同的子网。前三个连接到常规互联网网关。最后一个连接到 NAT 网关(以 0.0.0.0/0 作为目标)。我的 CodeBuild 项目设置为使用此 VPC 和最后一个子网。
当我在 CodeBuild 项目环境中单击“验证 VPC 设置”时,我收到此警告:
“ID 为 * 的 VPC 可能没有互联网连接。CodeBuild 找不到子网 ID 为 * 的目标互联网网关的 0.0.0.0/0 目标。”
如果我尝试运行 CodeBuild 项目,它将超时,因为它无法访问 Internet 并且无法从 CodeCommit 下载源...
我在这里缺少什么?我的子网的路由表附加到 NAT 网关,目标是 0.0.0.0/0,因此上面的错误消息对我来说没有任何意义。
谢谢!
因此,如果其他人也遇到同样的问题,原因是我错误地将 NAT 网关放置在私有子网上而不是公共子网上。
我遇到了同样的问题,下面是我为使其工作而应用的修复:
注意:两个路由表必须附加到同一个 VPC。
实际输出:我收到消息“ID为{{vpc-xyz}}的VPC具有互联网连接”。
有助于尝试上述步骤的参考:https://aws.amazon.com/premiumsupport/knowledge-center/ec2-internet-connectivity/
我希望这有帮助。
对于那些没有立即理解的人。 创建 NAT 时,您必须从 VPC 中选择一个公共网络,然后在您的私有网络上使用该 NAT。
不要忘记为您的 codeBuild 角色授予必要的权限。 https://docs.aws.amazon.com/codebuild/latest/userguide/auth-and-access-control-iam-identity-based-access-control.html#customer-management-policies-example-create-vpc -网络接口