Amazon Elastic Container Service (Amazon ECS) が Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを想定通りに配置していません。
解決策
Amazon ECS がタスクを配置できない場合、タスクは PROVISIONING 状態に留まります。サービスイベントメッセージには、次のエラーが表示されます。
「service ServiceName was unable to place a task because no container instance met all of its requirements」 (タスクの要件を満たすコンテナインスタンスが存在しないため、タスクを配置できません)
この問題をトラブルシューティングするには、サービスイベントメッセージにこのエラーがないか確認します。次に、エラーの原因に応じてトラブルシューティング手順を実行します。
クラスターにコンテナインスタンスが見つからなかった
EC2 インスタンスがクラスターに登録されていない場合、エラーが発生します。設定したキャパシティプロバイダーまたは Amazon EC2 Auto Scaling グループで、スケーリングまたはインスタンスの起動に関する問題がないか確認します。
インスタンスを起動できた場合は、クラスターに接続されていない理由を確認します。
The closest matching (container-instance abcdexyz) has insufficient CPU/memory/GPU units available (最も近いインスタンス (コンテナインスタンス abcdexyz) で使用可能な CPU/メモリ/GPU ユニットが不足している)
この問題は、使用可能なコンテナインスタンスには、タスクが必要とする CPU、メモリ、または GPU がない場合に発生します。この問題を解決するには、次の手順を実行します。
CPU に関する追加のトラブルシューティング方法については、「Amazon ECS で発生する、"the closest matching container-instance container-instance-id has insufficient CPU units available" というエラーを解決する方法を教えてください」を参照してください。
最も近いインスタンス (コンテナインスタンス abcdexyz) は、タスクに必要なポートを既に使用している
この問題は、コンテナインスタンスが既に必要なポートを使用している場合に発生します。同じポートで複数のタスクを実行することはできません。この問題を解決するには、クラスターにコンテナインスタンスを追加します。コンテナインスタンスは、自動的にスケーリングすることをおすすめします。クラスター用のキャパシティプロバイダーを作成します。または、タスクがコンテナインスタンスで使用可能な任意のポートを使用できるようにするために、動的ポートマッピングを使用します。
最も近いインスタンス (コンテナインスタンス abcdexyz) では、タスクに必要な属性が欠落している
この問題は、コンテナインスタンスにおいて、タスク定義で定義された必須属性が欠けている場合に発生します。Amazon ECS コマンドラインインターフェイス (ECS CLI) で check-attributes コマンドを実行し、欠けている属性をチェックします。
ecs-cli check-attributes --container-instances container-instance --cluster cluster-name --region region-code --task-def task-def-name
注: 実際のものでそれぞれ、container-instance をコンテナインスタンス名に、cluster-name をクラスター名に、region-code を AWS リージョンに、task-def-name をタスク定義に置き換えます。
上記のコマンドの出力に必須属性が欠けているテーブルが表示されます。欠けている属性のトラブルシューティング方法については、GitHub のウェブサイトで「欠けている属性を確認し、要因である属性エラーをデバッグする」を参照してください。
The closest matching (container-instance abcdexyz) doesn't have the agent connected (最も近いインスタンス (コンテナインスタンス abcdexyz) にはエージェントが接続されていない)
この問題は、Amazon ECS エージェントが切断されている場合に発生します。この問題のトラブルシューティング方法については、次の記事を参照してください。
The closest matching (container-instance abcdexyz) encountered error "MemberOf placement constraint unsatisfied." (最も近いインスタンス (コンテナインスタンス abcdexyz) で「MemberOf placement constraint unsatisfied」エラーが発生する)
配置制約を使用して特定のインスタンスにタスクを配置する場合は、そのコンテナインスタンスが選択した属性や制約をサポートしていることを確認してください。
詳細については、「Amazon ECS のタスク配置制約に関する問題のトラブルシューティング方法を教えてください」を参照してください。
関連情報
Amazon ECS のトラブルシューティング