amazon-vpc - 在 VPC 内,codebuild 需要什么权限才能写入 cloudwatch 日志?

标签 amazon-vpc aws-codebuild amazon-cloudwatchlogs

我有一个正在 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/

相关文章:

amazon-web-services - CloudWatch 日志定价困惑

amazon-web-services - 如何在 AWS 账户中查找未使用的 VPC

amazon-web-services - 在 AWS EC2 VPC 中创建 n 个新实例,然后配置它们

amazon-web-services - AWS CodeBuild 的 Docker Hub 登录(Docker Hub 限制)?

amazon-web-services - 通过 Cloudformation、CodeBuild 和 CodePipeline 将 python 包部署到 AWS Lambda

amazon-web-services - AWS Cloudwatch 指标 - 如何将仪表板指标中的数字格式化为两个以上小数位

amazon-web-services - AWS VPC公共(public)Web应用程序通过VPN连接到数据库

mongodb - EC2 安全组中的禁止规则不会影响已建立的 MongoDB 连接

node.js - 在部署之前使用 AWS CodeBuild 或 Lambda 运行 jasmine 测试

amazon-web-services - CloudWatch Logs 过滤不区分大小写的多个术语或已连接