VPC 后面的 CodeBuild 无法访问 CloudWatch 终端节点

VPC 后面的 CodeBuild 无法访问 CloudWatch 终端节点

我有一个 CodeBuild 项目,该项目设置为使用 VPC,以便它可以访问 RDS。我设置了一个“VPC 端点”,以便com.amazonaws.us-east-1.s3CodeBuild 可以访问 CodePipeline 输出工件。

这工作正常,但现在“构建日志”中没有任何输出。这似乎是因为它使用 CloudWatch 来写入日志,而我在“阶段详细信息”中的“FINALIZING”下收到此错误:

: RequestError: send request failed caused by: Post https://logs.us-east-1.amazonaws.com/: dial tcp 54.239.25.71:443: i/o timeout

CloudWatch 端点也支持 VPC,因此我添加了com.amazonaws.us-east-1.logs,但不幸的是这对日志没有影响。

我也尝试添加com.amazonaws.us-east-1.monitoringcom.amazonaws.us-east-1.events,但也没有成功。

我按照 AWS 文档中的说明进行操作,“测试您的 VPC 和 CloudWatch Logs 之间的连接”,奇怪的是,这在 EC2 实例上运行良好: https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/cloudwatch-logs-and-interface-VPC.html#test-VPC-endpoint-for-CloudWatchLogs

是否可以使用 VPC 端点使 CodeBuild 日志发挥作用?

答案1

这很可能和你的问题的原因和答案是一样的上一个问题。这与您的网络设置、路由、安全组、NACL 等有关。

按照我建议的方式进行测试上一个答案:在运行 CodeBuild 容器的同一子网中启动一个小型 EC2 实例,然后从那里测试它是否可以到达您需要的终端节点。如果实例无法联系到它们,CodeBuild 容器也无法联系到它们。

关于VPC 终端节点- 你确定你得到了路线日志事件监控 正确的路由表它连接到你正在运行的子网CodeBuild54.239.25.71容器?路由表是否包含到(或更大的匹配 CIDR)的路由?

希望有帮助:)

相关内容