停止されたタスクでのエラーの確認 - Amazon Elastic Container Service

停止されたタスクでのエラーの確認

タスクの開始に問題がある場合、アプリケーションエラーまたは設定エラーのためにタスクが停止している可能性があります。例えば、タスクを実行するとタスクが PENDING ステータスを表示して消えるとします。停止されたタスクを表示し、エラーメッセージを検査することで、Amazon ECS コンソールでこのような停止されたタスクでのエラーを表示できます。

タスク定義で awslogs ログドライバーを使用している場合、Amazon CloudWatch Logs に書き込まれるアプリケーションログは、停止したタスクが表示されている限り、Amazon ECS コンソールの [Logs] (ログ) タブに表示されます。

タスクが Amazon ECS サービスによって作成された場合、Amazon ECS がサービスを維持するために行うアクションはサービスイベントで公開されます。イベントは、AWS Management Console、AWS CLI、AWS SDK、Amazon ECS API または SDK と API を使用するツールで表示できます。これらのイベントには、タスク内のコンテナの実行が停止したり、Elastic Load Balancing によるヘルスチェックに何度も失敗したりしたことが原因で、Amazon ECS が停止してタスクが置き換えられることが含まれます。詳細については、「サービスイベントメッセージ」を参照してください。

また、タスクが Amazon EC2 にあるコンテナインスタンスまたは外部コンピュータで実行された場合、コンテナランタイムと ECS エージェントのログを確認することもできます。これらのログは、ホスト EC2 インスタンスまたは外部コンピュータにあります。詳細については、「Amazon ECS ログファイルの場所」を参照してください。

重要

停止されたタスクは Amazon ECS コンソール、AWS CLI、および AWS SDK に、タスクが停止されてから少なくとも 1 時間は表示されます。その後、停止したタスクの詳細は期限切れになり、Amazon ECS では利用できなくなります。

また Amazon ECS は、タスク状態変更イベントを Amazon EventBridge に送信します。イベントブリッジではイベントを見ることはできません。代わりに、Amazon CloudWatch Logs などの他の永続ストレージにイベントを送信するルールを作成します。ストレージを使用して、Amazon ECS コンソールで期限切れになって表示されなくなったタスクの詳細を見ることができます。詳細については、「タスク状態変更イベント」を参照してください。

Amazon ECS イベントを Amazon CloudWatch Logs にアーカイブする EventBridge 設定のサンプルについては、GitHub ウェブサイトの「CloudWatch Logs 内の ECS 停止タスク」を参照してください。

停止されたタスクでエラーを確認するには、次の手順に従います。

Console
AWS Management Console

次の手順に従って、新しい AWS Management Console を使用して停止されたタスクにエラーがないかどうかを見ることができます。

  1. コンソール (https://console.aws.amazon.com/ecs/v2) を開きます。

  2. ナビゲーションペインで [Clusters] (クラスター) を選択します。

  3. [Clusters] (クラスター) ページで、クラスターを選択します。

  4. [Cluster: name] (クラスター: 名前) ページで、[Tasks] (タスク) タブを選択します。

  5. 停止済みのタスクを表示するようにフィルターを設定します。[必要なステータスを絞り込む] には、[停止済み] または [任意の必要なステータス] を選択します。

    [停止済み] オプションには停止されたタスクが表示され、[任意の必要なステータス] にはすべてのタスクが表示されます。

  6. 停止したタスクを選択して検査します。

  7. 停止済みのタスクの行の [前回のステータス] 列で、[停止済み] を選択します。

    ポップアップウィンドウに停止した理由が表示されます。

AWS CLI
  1. クラスターで停止したタスクを一覧表示します。出力には、タスクの Amazon リソースネーム (ARN) が含まれますが、この名前は、タスクを説明するものである必要があります。

    aws ecs list-tasks \ --cluster cluster_name \ --desired-status STOPPED \ --region us-west-2
  2. 停止したタスクを記述して、レスポンスで stoppedReason を取得します。

    aws ecs describe-tasks \ --cluster cluster_name \ --tasks arn:aws:ecs:us-west-2:account_id:task/cluster_name/task_ID \ --region us-west-2

その他のリソース

次のページでは、エラーコードに関する追加情報が記載されています。