AWS4 択難易度 応用

状況

Fargate のサービスを、パブリックサブネットから新設のプライベートサブネットに移した。直後から新しいタスクが起動後すぐ停止し、停止理由は CannotPullContainerError … request canceled while waiting for connection。イメージとタスク定義は変えていない。

最も疑わしいのは?

  1. Aプライベートサブネットから ECR へ出る経路
  2. Bタスク実行ロールの ECR の権限
  3. Cイメージのタグがリポジトリにあるか
  4. Dタスク定義の CPU とメモリの組み合わせ

正答

  1. A
  2. B
  3. C
  4. D

解説

停止理由の request canceled while waiting for connection は、ECR への接続そのものが確立できていないことを示す。権限の不足や存在しないタグなら、ECR から応答が返ったうえでの拒否や not found のエラーになる。しかも変えたのはサブネットだけで、イメージ・タスク定義・ロールは動いていたときのまま(B・C・D は否定)。プライベートサブネットのタスクが ECR からイメージを取得するには、NAT ゲートウェイを通る外向きの経路か、ECR(api と dkr)のインターフェイス型と S3 のゲートウェイ型の VPC エンドポイントが必要になる。直前に変えたものと、エラーが示す層が重なる所を最初に疑う。

参考: docs.aws.amazon.com

ecsfargateecrvpctroubleshooting

この問題を含む AWS のテストを制限時間つきで解く

AWSクイズへ