Amazon ECS イベント
Amazon ECS は、各タスクとサービスの状態を追跡します。タスクやサービスの状態が変わると、イベントが生成され、Amazon EventBridge に送信されます。これらのイベントは、タスク状態変更イベントおよびサービスアクションイベントとして分類されます。各イベントとその考えられる原因については、以下のセクションで詳しく説明します。
Amazon ECS は、コンテナインスタンスの状態変更イベント、タスク状態変更イベント、サービスアクション、サービスデプロイ状態変更イベントというイベントタイプを生成し、EventBridge に送信します。
-
コンテナインスタンス状態変更
-
タスク状態変更
-
デプロイの状態変更
-
サービスアクション
注記
今後、Amazon ECS には他の種類のイベント、ソース、詳細が追加される場合があります。コードのイベント JSON データを逆シリアル化する場合は、不明なプロパティが追加されたときに問題が発生しないように、アプリケーションが不明なプロパティに対応できるようにしてください。
同じアクティビティに対して複数のイベントが生成される場合もあります。例えば、コンテナインスタンスでタスクが開始されると、この新しいタスクに対してタスク状態変更イベントが生成されます。コンテナインスタンスの使用可能なリソース (CPU、メモリ、使用可能なポートなど) の変更に対応するため、コンテナインスタンス状態変更イベントがアカウントに生成されます。同様に、コンテナインスタンスが終了すると、コンテナインスタンス、コンテナエージェント接続ステータス、およびコンテナインスタンスで実行されている各タスクに対してイベントが生成されます。
コンテナ状態変更イベントとタスク状態変更イベントには 2 つの version
フィールドがあります。1 つはイベントの本体で、もう 1 つはイベントの detail
オブジェクトです。次に、これら 2 つのフィールドの違いについて説明します。
-
イベントの本文の
version
フィールドは、すべてのイベントで0
に設定されています。EventBridge パラメータの詳細については、「Amazon EventBridge ユーザーガイド」の「AWSサービスイベントメタデータ」を参照してください。 -
イベントの
detail
オブジェクトのversion
フィールドは、関連付けられているリソースのバージョンについて説明します。リソースの状態が変わるたびに、このバージョンはインクリメントされます。イベントは複数回送信できるため、このフィールドで重複するイベントを識別できます。重複するイベントには、detail
オブジェクト内で同じバージョンがあります。EventBridge で Amazon ECS コンテナインスタンスおよびタスク状態をレプリケートする場合は、Amazon ECS API によって報告されるリソースのバージョンとそのリソースについて EventBridge で報告されるバージョン (detail
オブジェクト内) を比較して、イベントストリームでのバージョンが最新であることを確認できます。
サービスアクションイベントには、本体の version
フィールドのみが含まれます。
Amazon ECS と EventBridge を統合する方法に関する追加情報については、「Amazon EventBridge と Amazon ECS の統合