我有一个正在 VPC 内启动的代码构建项目。当位于 VPC 外部时,项目会运行并记录到 Cloudwatch 日志中。我需要移动到 VPC 内部,以便它可以访问数据库。在 VPC 内部时,安装阶段失败,并且代码构建无法将任何内容写入 Cloudwatch 日志。构建的控制台页面显示:
Error: The specified log stream does not exist.
我预计安全组是问题所在,但是 flow logs已打开,并且它们没有显示代码构建 ENI 的阻塞流量。
VPC 有一个互联网网关,并且子网具有使用网关到互联网的路由。
codebuild项目是由cloudformation构建的。当 VpcConfig 时写入日志codebuild 项目的内容被注释掉,但在包含它时则不会。我相信这表明 IAM 权限不是问题。
如有任何建议,我们将不胜感激。
最佳答案
Codebuild VPC documentation将这个花絮隐藏在最佳实践的末尾。
When you set up your AWS CodeBuild projects to access your VPC, choose private subnets only.
他们的意思是,codebuild 只能在具有 NAT 的私有(private)子网中工作。
将我的代码构建从公共(public)子网移动到私有(private)子网修复了我的错误。
关于amazon-vpc - 在 VPC 内,codebuild 需要什么权限才能写入 cloudwatch 日志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52583977/