RDSにアクセスできるようにVPCを使用するように設定されたCodeBuildプロジェクトがあります。 com.amazonaws.us-east-1.s3
に「VPCエンドポイント」を設定して、CodeBuildが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.monitoring
とcom.amazonaws.us-east-1.events
も追加しようとしましたが、それも失敗しました。
「VPCとCloudWatch Logsの間の接続のテスト」に関するAWSドキュメントの指示に従いましたが、奇妙なことに、これはEC2インスタンスから完全に正常に機能しました。 https://docs.aws.Amazon.com/AmazonCloudWatch/ latest/logs/cloudwatch-logs-and-interface-VPC.html#test-VPC-endpoint-for-CloudWatchLogs
VPCエンドポイントを使用してCodeBuildログを機能させることは可能ですか?
前の質問 と同じ理由と同じ答えである可能性が非常に高いです。これは、ネットワークセットアップ、ルート、セキュリティグループ、NACLなどと関係があります。
前の回答 で提案したテストを実行します。CodeBuildコンテナーを実行しているのと同じサブネットで小さなEC2インスタンスを起動し、そこから必要なエンドポイントに到達できるかどうかをテストします。インスタンスがそれらに接続できない場合、CodeBuildコンテナも接続できません。
VPCエンドポイントについて-ルートがあることを確認しますlogs、eventsおよびmonitoringCodeBuildコンテナを実行しているサブネットに接続されている正しいルートテーブルにありますか?ルートテーブルには、54.239.25.71
(またはより大きな一致するCIDR)へのルートが含まれていますか?
それが役に立てば幸い:)