スキップしてコンテンツを表示

Amazon ECS クラスターでタスクを開始できず、"Image does not exist" エラーが発生する場合の解決方法を教えてください。

所要時間2分
0

Amazon Elastic Container Service (Amazon ECS) サービスがクラスター内のタスクを開始できず、次のエラーが発生します: "CannotPullContainerError: Error response from daemon: manifest for 1234567890.dkr.ecr.us-east-1.amazonaws.com/test:curlnginx1234 not found."

簡単な説明

このエラーは、Amazon Elastic Container Registry (Amazon ECR) のプライベートリポジトリからイメージをプルするときに発生します。

このエラーメッセージが表示されていない場合は、問題またはエラーメッセージに対して次の解決策のいずれかを選択してください。

  • アプリケーションの問題またはリソースの制約により、コンテナが終了する。この問題を解決するには、「 コンテナの終了中に停止または開始に失敗する Amazon ECS タスクをトラブルシューティングする方法を教えてください」を参照してください。
  • Application Load Balancer のヘルスチェックが不合格となる。この問題を解決するには、「Amazon EC2 起動タイプを使用する Amazon ECS タスクで、Application Load Balancer のヘルスチェックに合格する方法を教えてください」を参照してください。
  • Docker がコンテナイメージをプルできない。この問題の解決方法については、「Amazon ECS の CannotPullContainer タスクエラー」を参照してください。
  • 次の例に類似したエラーメッセージが表示されます: "[AWS service] was unable to place a task because no container instance met all of its requirements"この問題の解決方法については、「Amazon ECS で発生する エラーの解決方法を教えてください"[AWS service] was unable to place a task because no container instance met all of its requirements"」を参照してください。
  • 次の例に類似したエラーメッセージが表示されます: "[AWS service] was unable to place a task because no container instance met all of its requirements. The closest matching container-instance container-instance-id has insufficient CPU units available"この問題の解決方法については、「Amazon ECS で発生する エラーの解決方法を教えてください"the closest matching container-instance container-instance-id has insufficient CPU units available"」を参照してください。
  • 次のようなエラーメッセージが表示されます。 解決方法については「"[AWS service] was unable to place a task because no container instance met all of its requirements. The closest matching container-instance container-instance-id encountered error "AGENT](https://repost.aws/ja/knowledge-center/ecs-container-instance-agent-error)the closest matching container-instance container-instance-id encountered error 'AGENT'"」がAmazon ECS 内のサービスで発生する場合の解決方法を教えてください". To resolve this issue, see [How do I resolve "」を参照してください。

注: Amazon ECS サービスの問題をトラブルシューティングするには、サービスイベントログの診断情報を確認してください。

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

イメージが存在しないというエラーを解決するには、次の手順を実行します。

  1. イメージが Amazon ECS タスク定義で宣言されていることを確認します。詳細については、「イメージ」を参照してください。
  2. Docker イメージが Amazon ECR リポジトリに存在することを確認します。詳細については、「Amazon ECR でイメージの詳細情報を確認する」を参照してください。リポジトリ情報を確認するには、Amazon ECR コンソールを使用します。または、次のコマンドを実行します。
    ECR リポジトリにイメージが存在することを確認するには、list-images コマンドを実行します。
    aws ecr list-images --repository-name "hello-world"  --region us-east-1
    ECR リポジトリ内のイメージをフィルター処理するには、describe-images コマンドを実行します。
    aws ecr describe-images --repository-name "hello-world" --region us-east-1 --query 'sort_by(imageDetails,& imagePushedAt)[*]'
    注: repository-nameregion の値は、お使いのものに置き換えます。
  3. タスク定義で Amazon ECR イメージを指定します。イメージの完全な URI を使用します。詳細については、「Amazon ECR イメージとタスク定義 IAM ロール」を参照してください。
    重要: 画像の URI の先頭または末尾にスペースがないことを確認してください。

関連情報

Amazon ECR のプライベートイメージ

AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ