Amazon Elastic Container Service (Amazon ECS) でタスクを起動したいです。しかし、「要件をすべて満たすコンテナインスタンスがないため、[AWS サービス] はタスクを配置できませんでした。」というエラーが表示されます。
簡単な説明
このエラーは、次の 1 つまたは複数の理由で発生することがあります。
- クラスターにコンテナインスタンスがない
- タスクに必要なポートがすでに使用されている
- タスクに十分なメモリがない
- コンテナインスタンスに十分な CPU ユニットがない
- 使用可能な Elastic Network Interface アタッチメントポイントが不足している
- コンテナインスタンスに必要な属性がない
これらの問題の詳細については、「サービスイベントメッセージ」をご参照ください。
注: 上記のエラーメッセージが表示されない場合は、受け取った次のエラーメッセージのいずれかに基づいた記事をご参照ください。
解決方法
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
このエラーを解決するには、ユースケースに基づいて解決策を選択します。
ecs-cli check-attributes --task-def Task_Definition --container-instances Container_Instance --cluster Cluster_Name
注:「タスク定義名」には、タスク定義の名前を入力します。Container_Instance には、コンテナインスタンスの名前を入力します。Cluster_Name には、クラスターの名前を入力します。
- Amazon ECS サービスは、コンテナインスタンスのサブネットとは異なるサブネットで実行するように設定できます。この場合、タスクが属性欠落エラーで失敗しても、ecs-cli-check-attributes コマンドの出力は、属性欠落のために None と表示されます。サービスとコンテナインスタンスのサブネットが一致していることを確認してください。これを行うには、コンテナインスタンスが存在するサブネットで Amazon ECS サービスを再作成します。詳細については、「タスク定義パラメータ」および「Amazon ECS コンテナエージェントの設定」を参照してください。
例えば、次のコマンドを実行すると:
ecs-cli check-attributes --task-def task:1 --container-instances 650cf1df296749e1bce1b9e0cebb588a --cluster test-cluster
出力は次のようになります。
Container Instance Missing Attributes
tes-cluster None
詳細については、以下のコマンドを実行してください。
ecs-cli --help
関連情報
Amazon ECS タスクネットワーキング
サービスの調整ロジック