AWS イベント - Amazon EventBridge

AWS イベント

以下は、Amazon EventBridge のイベントの例です。

{ "version": "0", "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718", "detail-type": "EC2 Instance State-change Notification", "source": "aws.ec2", "account": "111122223333", "time": "2017-12-22T18:43:48Z", "region": "us-west-1", "resources": [ "arn:aws:ec2:us-west-1:123456789012:instance/ i-1234567890abcdef0" ], "detail": { "instance-id": " i-1234567890abcdef0", "state": "terminated" } }

イベントについて以下の詳細を覚えておくことが重要です。

  • 上記の例に示しているように、同じ最上位のフィールドがあり、それらは必須です。

  • [detail] の最上位のフィールドの内容は、どのサービスがイベントを生成したか、そのイベントが何であるかによって異なります。[source] フィールドと [detail-type] フィールドの組み合わせは、[detail] フィールドで見つかるフィールドと値を識別するために役立ちます。AWS のサービスにより生成されたイベントの例については、「サポートされている AWS サービスからの EventBridge イベントの例」を参照してください。

以下に説明しているのは、各イベントフィールドです。

バージョン

デフォルトでは、これはすべてのイベントで 0(ゼロ)に設定されます。

id

一意の値はすべてのイベントに対して生成されます。これは、イベントがルールからターゲットに移動して処理されるとき、それらのイベントを追跡するために役立ちます。

detail-type

[source] フィールドと組み合わせて、[detail] フィールドに表示されるフィールドと値を識別します。

CloudTrail 経由で送信されたイベントはすべて、detail-type の値が AWS API Call via CloudTrail になっています。詳細については、「CloudTrail 経由で配信されたイベント」を参照してください。

送信元

イベントを発生したサービスを識別します。AWS 内から発生したすべてのイベントは「AWS」で終わります。 顧客から発生したイベントは、「aws」で始まらない限り、このフィールドに値があります。 Java パッケージ名のスタイルには逆ドメイン名の文字列を使用することをお勧めします。

AWS のサービスの source の正しい値を見つけるには、「AWS サービスの名前空間」を参照してください。たとえば、Amazon CloudFront の source の値は、aws.cloudfront となります。

アカウント

AWS アカウントを識別する 12 桁の数字。

time

イベントを発生したサービスによって指定できるイベントのタイムスタンプ。イベントが時間間隔にまたがる場合、サービスは開始時間をレポートするように選択可能であるため、この値は、イベントが実際に受け取られるより大幅に前の時間になることがあります。

リージョン

イベントが発生した AWS リージョンを識別します。

リソース

この JSON 配列には、イベントにかかわるリソースを識別する ARN が格納されます。これらの ARN を格納するかどうかは、サービスによって異なります。たとえば、Amazon EC2 インスタンスの状態変更では、Amazon EC2 インスタンス ARN が格納され、Auto Scaling イベントでは、インスタンスと Auto Scaling グループの両方の ARN が格納されますが、AWS CloudTrail での API 呼び出しでは、リソース ARN は格納されせん。

detail

JSON オブジェクトであり、その内容はイベントを発生したサービスによって異なります。上記の例の detail の内容は、非常に単純な 2 つのフィールドのみです。AWS API 呼び出しイベントには、約 50 個のフィールドがいく層もの入れ子になった detail オブジェクトあります。

AWS のサービスで利用可能なすべてのイベントタイプのリストについては、「サポートされている AWS サービスからの EventBridge イベントの例」を参照してください。