Amazon ECS の「[AWS service] was unable to place a task because no container instance met all of its requirements」というエラーを解決するにはどうすればよいですか?

所要時間2分
0

Amazon Elastic Container Service (Amazon ECS) にタスクを配置したいのですが、「[AWS service] was unable to place a task because no container instance met all of its requirements」というエラーが表示されます。

簡単な説明

このエラーは、以下の 1 つ以上の理由で発生します。

  • クラスターにコンテナインスタンスが見つからなかった
  • タスクに必要なポートがすでに使用されている
  • タスクに必要なメモリが不足している
  • コンテナインスタンスの CPU ユニットが不十分
  • 利用可能な Elastic Network Interface のアタッチメントポイントが足りない
  • コンテナインスタンスに必要な属性がない

これらの問題の詳細については、「Service event messages」を参照してください。

**注:**前述のエラーメッセージが表示されない場合は、以下の受信したエラーメッセージに基づいて記事を選択してください。

解決策

注: AWS CLI コマンドの実行中にエラーが発生した場合は、最新バージョンの AWS CLI を使用していることを確認してください

エラーを解決するには、ユースケースに基づいて解決策を選択してください:

ecs-cli check-attributes --task-def Task_Definition --container-instances Container_Instance --cluster Cluster_Name

: Task_Definition Name には、タスク定義の名前を入力します。Container\ _Instance には、コンテナインスタンスの名前を入力します。Cluster\ _Name には、クラスターの名前を入力します。

  • Amazon ECS サービスは、コンテナインスタンスのサブネットとは異なるサブネットで実行するように設定できます。この場合、ecs-cli-check-attributes コマンドの出力では、属性が欠落しているというエラーでタスクが失敗しても、属性が欠落していると「None」と表示されます。サービスのサブネットとコンテナインスタンスのサブネットが一致していることを確認してください。これを行うには、コンテナインスタンスが存在するサブネットに Amazon ECS サービスを再作成します。詳細については、「Task definition parameters 」と「Amazon ECS container agent configuration」を参照してください。

例えば、次のコマンドを実行するとします:

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 task networking

Service throttle logic

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

関連するコンテンツ