AWS S3 への Endpoint が設定されている VPC の設定を変更したら ECR へ接続できないエラーの解決方法
AWS S3 への Endpoint が設定されている VPC の設定を変更したら ECR へ接続できないエラーの解決方法をご紹介します。
CannotPullContainerError: ref pull has been retried 1 time(s):
failed to copy: httpReadSeeker:
failed open: unexpected status code https://xxx.dkr.ecr.ap-northeast-1.amazonaws.com/v2/xxx/blobs/sha256:xxx:
403 Forbidden
調べてみると、FargateがECRにあるContainer imageを取得するためにprod-***REGION***-starport-layer-bucketと言うS3 Bucketにアクセスしている模様。これがECRの実体なのか。 参考: https://docs.aws.amazon.com/ja_jp/AmazonECR/latest/userguide/vpc-endpoints.html#ecr-setting-up-s3-gateway
Amazon ECR は Amazon S3 を使用してイメージレイヤーを保存するため、ゲートウェイエンドポイントが必要です。Amazon ECR からイメージをダウンロードするコンテナは、Amazon ECR にアクセスしてイメージマニフェストを取得してから Amazon S3 にアクセスして実際のイメージレイヤーをダウンロードする必要があります。引用元: Amazon ECR インターフェイス VPC エンドポイント (AWS PrivateLink) - Amazon ECR
以上、AWS S3 への Endpoint が設定されている VPC の設定を変更して ECR へ接続できないエラーを解決した、現場からお送りしました。