

# Amazon ECS での API エラーの原因
<a name="api_failures_messages"></a>

Amazon ECS API、コンソール、または AWS CLI でトリガーした API アクションが `failures` エラーメッセージを表示して終了した場合、以下が原因のトラブルシューティングに役立つことがあります。失敗すると、その理由と、その失敗に関連付けられたリソースの Amazon リソースネーム (ARN) が返されます。

多くのリソースはリージョン固有であるため、コンソールを使用するときは、リソースに正しいリージョンを設定してください。AWS CLI コマンドを使用するときは、AWS CLI コマンドが `--region {{region}}` パラメータで正しいリージョンに送信されるようにします。

`Failure`データ型の構造の詳細については、「*Amazon Elastic Container サービス API リファレンス*」の[[Failure(失敗)](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_Failure.html)]を参照してください。

次の内容は、API コマンド実行時に受信する場合がある障害メッセージの例です。



- ** `DescribeClusters` **
  - **[失敗] の理由または [停止] の理由:** `MISSING`
  - **原因:** 指定されたクラスターは見つかりませんでした。クラスター名が正しく入力されているか確認します。

- ** `DescribeInstances` **
  - **[失敗] の理由または [停止] の理由:** `MISSING`
  - **原因:** 指定されたコンテナインスタンスは見つかりませんでした。コンテナインスタンスが登録されているクラスターを指定したこと、およびコンテナインスタンスの ARN または ID の両方が正しいことを確認します。

- ** `DescribeServices` **
  - **[失敗] の理由または [停止] の理由:** `MISSING`
  - **原因:** 指定されたサービスは見つかりませんでした。正しいクラスターまたはリージョンが指定されていること、サービス ARN またはサービス名が有効であることを確認します。

- ** `DescribeTasks` **
  - **[失敗] の理由または [停止] の理由:** `MISSING`
  - **原因:** 指定されたタスクは見つかりませんでした。正しいクラスターまたはリージョンが指定されており、タスク ARN または ID の両方が有効であることを確認します。

- ** `DescribeTasks`  **
  - **[失敗] の理由または [停止] の理由:** `TaskFailedToStart: RESOURCE:*` / **原因:** `RESOURCE:CPU` エラーの場合、タスクによって要求された CPU の数がコンテナインスタンスで利用できません。これは通常、タスク定義の CPU ユニット要件が、キャパシティプロバイダーにマッピングされた Auto Scaling グループで定義される Amazon EC2 インスタンスの CPU サイズよりも大きい場合に発生します。キャパシティプロバイダーの設定を確認する必要があります。<br />`RESOURCE:MEMORY` エラーの場合、タスクによって要求されたメモリの量がコンテナインスタンスで利用できません。これは通常、タスク定義のメモリ量要件が、キャパシティプロバイダーにマッピングされた Auto Scaling グループで定義される Amazon EC2 インスタンスでサポートされているメモリよりも大きい場合に発生します。キャパシティプロバイダーの設定を確認する必要があります。
  - **[失敗] の理由または [停止] の理由:** `TaskFailedToStart: AGENT` / **原因:** タスクを起動しようとしたコンテナインスタンスに、現在接続されていないエージェントがあります。タスク配置の待ち時間が長くならないように、リクエストは拒否されました。<br />切断されたエージェントをトラブルシューティングする方法については、「[切断された Amazon ECS エージェントをトラブルシューティングするにはどうすればよいですか?](https://repost.aws/knowledge-center/ecs-agent-disconnected-linux2-ami)」を参照してください。
  - **[失敗] の理由または [停止] の理由:** `TaskFailedToStart: MemberOf placement constraint unsatisfied` / **原因:** タスク定義で定義された配置制約を満たすコンテナインスタンスがありません。
  - **[失敗] の理由または [停止] の理由:** `TaskFailedToStart: ATTRIBUTE` / **原因:** タスク定義に、コンテナインスタンスで使用できない特定のコンテナインスタンス属性が必要なパラメータが含まれています。例えば、`awsvpc` ネットワークモードを使用するタスクであるものの、指定したサブネット内に、`ecs.capability.task-eni` 属性を持つインスタンスがありません。特定のタスク定義パラメータとエージェント設定変数に必要な属性の詳細については、「[Fargate での Amazon ECS タスク定義パラメータ](task_definition_parameters.md)」と「[Amazon ECS コンテナエージェントの設定](ecs-agent-config.md)」を参照してください。
  - **[失敗] の理由または [停止] の理由:** TaskFailedToStart: NO ACTIVE INSTANCES / **原因:** キャパシティプロバイダーにアクティブなインスタンスがありません。Auto Scaling グループの管理方法については、「Amazon EC2 Auto Scaling ユーザーガイド」の「[Auto Scaling グループ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html)」を参照してください。
  - **[失敗] の理由または [停止] の理由:** `TaskFailedToStart: EMPTY CAPACITY PROVIDER` / **原因:** クラスターにはインスタンスはありません。これは、キャパシティープロバイダーが空であるか、キャパシティープロバイダーのインスタンスがクラスターに登録されていないことが原因と考えられます。Auto Scaling グループの管理方法については、「Amazon EC2 Auto Scaling ユーザーガイド」の「[Auto Scaling グループ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html)」を参照してください。

- ** `GetTaskProtection` **
  - **[失敗] の理由または [停止] の理由:** `MISSING` / **原因:** 指定されたタスクは見つかりませんでした。クラスター名または ARN、タスク ARN または ID が有効であることを確認します。
  - **[失敗] の理由または [停止] の理由:** `TASK_NOT_VALID` / **原因:** 指定されたタスクは、Amazon ECS サービスの一部ではありません。保護できるのは Amazon ECS サービスの管理対象タスクだけです。タスク ARN または ID を確認して、もう一度お試しください。

- ** `RunTask`、または `StartTask` **
  - **[失敗] の理由または [停止] の理由:** `RESOURCE:*` / **原因:** タスクでリクエストされたリソースまたは複数のリソースは、クラスターのコンテナインスタンスで使用できません。リソースが CPU、メモリ、ポート、または Elastic Network Interface の場合は、クラスターへのその他のコンテナインスタンスを追加する必要がある場合があります。<br />`RESOURCE:ENI` エラーの場合、`awsvpc` ネットワークモードを使用するタスクで必要な Elastic Network Interface アタッチメントポイントが、クラスターで利用できません。Amazon EC2 インスタンスには、アタッチできるネットワークインターフェイスの数には制限があり、プライマリネットワークインターフェイスも 1 つ分としてカウントされます。各インスタンスタイプでサポートされるネットワークインターフェイスの数の詳細については、「*Amazon EC2 ユーザーガイド*」の「[各インスタンスタイプのネットワークインターフェイスあたりの IP アドレス数](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-eni.html#AvailableIpPerENI)」を参照してください。<br />`RESOURCE:GPU` エラーの場合、タスクでリクエストされた GPU 数が利用できないため、クラスターへ GPU 対応のコンテナインスタンスの追加が必要になる場合があります。詳細については、「[GPU ワークロード向けの Amazon ECS タスク定義](ecs-gpu.md)」を参照してください。
  - **[失敗] の理由または [停止] の理由:** `AGENT` / **原因:** タスクを起動しようとしたコンテナインスタンスに、現在接続されていないエージェントがあります。タスク配置の待ち時間が長くならないように、リクエストは拒否されました。<br />切断されたエージェントをトラブルシューティングする方法については、「[切断された Amazon ECS エージェントをトラブルシューティングするにはどうすればよいですか?](https://repost.aws/knowledge-center/ecs-agent-disconnected-linux2-ami)」を参照してください。
  - **[失敗] の理由または [停止] の理由:** `LOCATION` / **原因:** タスクを起動しようとしたコンテナインスタンスが、`awsVpcConfiguration` で指定したサブネットと異なるアベイラビリティーゾーンにあります。
  - **[失敗] の理由または [停止] の理由:** `ATTRIBUTE` / **原因:** タスク定義に、コンテナインスタンスで使用できない特定のコンテナインスタンス属性が必要なパラメータが含まれています。例えば、`awsvpc` ネットワークモードを使用するタスクであるものの、指定したサブネット内に、`ecs.capability.task-eni` 属性を持つインスタンスがありません。特定のタスク定義パラメータとエージェント設定変数に必要な属性の詳細については、「[Fargate での Amazon ECS タスク定義パラメータ](task_definition_parameters.md)」と「[Amazon ECS コンテナエージェントの設定](ecs-agent-config.md)」を参照してください。

- ** `StartTask` **
  - **[失敗] の理由または [停止] の理由:** `MISSING` / **原因:** タスクを起動しようとした対象のコンテナインスタンスが見つかりません。間違ったクラスターまたはリージョンが指定されていたり、コンテナインスタンスの ARN または ID が正しく記述されていなかったりしないかを確認してください。
  - **[失敗] の理由または [停止] の理由:** `INACTIVE` / **原因:** タスクを起動しようとしたコンテナインスタンスは、Amazon ECS ですでに登録解除されており、使用できません。

- ** `StopServiceDeployment` **
  - **[失敗] の理由または [停止] の理由:** `ECS deployment failed`
  - **原因:** 不正アカウントが StopServiceDeployment API を実行しました。

- ** `TagResource` **
  - **[失敗] の理由または [停止] の理由:** `InvalidParameterException`
  - **原因:** タグ付けするサービスの ARN は短い形式です。長い形式に移行する必要があります。移行方法についての詳細は、「[Amazon ECS の短いサービス ARN を長い ARN に移行する](service-arn-migration.md)」を参照してください。

- ** `UpdateTaskProtection` **
  - **[失敗] の理由または [停止] の理由:** `DEPLOYMENT_BLOCKED` / **原因:** 1 つ以上の保護されたタスクが原因で、サービスのデプロイが安定した状態に移行できず、タスク保護を設定できません。既存のタスクに対するタスク保護の設定を解除するか、タスク保護の有効期限が切れるまでお待ちください。
  - **[失敗] の理由または [停止] の理由:** `MISSING` / **原因:** 指定されたタスクは見つかりませんでした。クラスター名または ARN、タスク ARN または ID が有効であることを確認します。
  - **[失敗] の理由または [停止] の理由:** `TASK_NOT_VALID` / **原因:** 指定されたタスクは、Amazon ECS サービスの一部ではありません。保護できるのは Amazon ECS サービスの管理対象タスクだけです。タスク ARN または ID を確認して、もう一度お試しください。



**注記**  
ここで説明した障害シナリオの他に、API 操作が例外によってエラーとなり、エラー応答が発生することもあります。このような例外のリストについては、「[一般的なエラー](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/CommonErrors.html)」を参照してください。