

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon EventBridge イベントバスのログ設定
<a name="eb-event-bus-logs"></a>

EventBridge を設定して、イベントバスがイベントをどのように処理しているかを詳しく示したログを送信し、トラブルシューティングとデバッグに役立てることができます。

EventBridge が指定されたイベントバスのログを配信するログ*送信*先として、次の AWS サービスを選択できます。
+ Amazon CloudWatch Logs

  EventBridge は、指定した CloudWatch Logs ロググループにログを配信します。

  CloudWatch Logs により、使用しているすべてのシステム、アプリケーション、 AWS のサービスからのログを、１ つの高度にスケーラブルなサービスで一元管理できます。詳細については、「*Amazon CloudWatch Logs ユーザーガイド*」の「[ロググループとログストリームの操作](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html)」を参照してください。
+ Amazon Data Firehose 

  EventBridge は、Firehose 配信ストリームにログを配信します。

  Amazon Data Firehose は、特定のサービスや、サポートされているサードパーティーサービスプロバイダーが所有するカスタム HTTP エンドポイントや HTTP エンドポイントなどの送信先にリアルタイムのストリーミングデータを配信するためのフルマネージド AWS サービスです。詳細については、「*Amazon Data Firehose ユーザーガイド*」の「[Amazon Data Firehose 配信ストリームの作成](https://docs.aws.amazon.com/firehose/latest/dev/basic-create.html)」を参照してください。
+ Amazon S3 

  EventBridge は、ログを Amazon S3 オブジェクトとして指定先のバケットに配信します。

  Amazon S3 は、業界をリードするスケーラビリティ、データ可用性、セキュリティ、パフォーマンスを提供するオブジェクトストレージサービスです。詳細については、「Amazon Simple Storage Service ユーザーガイド」の「[Amazon S3 でのオブジェクトのアップロード、ダウンロード、操作](https://docs.aws.amazon.com/AmazonS3/latest/userguide/uploading-downloading-objects.html)」を参照してください。**

## イベントバスでのログ記録の仕組み
<a name="eb-event-logs-overview"></a>

EventBridge は、次のログを生成します。
+ イベントバスのルールに一致する AWS サービスイベント
+ イベントが正常に取り込まれたか、いずれかのルールに一致するかにかかわらず、以下の方法で配信されるイベント。
  + [パートナーイベントソース](eb-saas.md)からのイベント
  + [アーカイブから再生された](eb-archive.md)イベント
  + [`PutEvents`](eb-putevents.md) 経由でバスに送信されるイベント

EventBridge は、[マネージドルール](eb-rules.md#eb-rules-managed)のみに一致するイベントは記録しません。

選択したそれぞれのログ送信先に送信されるログデータは同じです。

EventBridge から選択したログ送信先に送信するログは、次の方法でカスタマイズできます。
+ *ログレベル*を指定できます。これにより、EventBridge から、選択した送信先にログを送信するステップが決定されます。詳細については、「[イベントバスのログレベルの指定](#eb-event-bus-logs-level)」を参照してください。
+ EventBridge に、必要に応じて以下に挙げる詳細な情報を含めるかどうかを指定できます。
  + イベントの詳細
  + ターゲットの入力情報
  + ターゲットのリクエスト情報

  詳細については、「[イベントバスのログに詳細データを含める](#eb-event-logs-data)」を参照してください。

### ログ配信に関する考慮事項
<a name="eb-event-logs-delivery"></a>

イベントバスのログ記録を設定するときは、次の考慮事項に注意してください。
+ イベントバスのログレコードの配信は、ベストエフォートで行われます。ログ記録用に適切にイベントバスを設定した場合、そのイベントバスへのほとんどのリクエストについてログレコードが配信されます。イベントバスのログ記録の完全性や適時性は保証されません。
+ 状況によっては、イベントバスログレコード自体を配信すると、EventBridge に送信されるイベントが生成され、ログレコードの配信が中断される可能性があります。このため、EventBridge は次のイベントは記録しません。
  + AWS KMS `[Decrypt](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html)` カスタマーマネージドキーを使用して暗号化されたログレコードがログ送信先に配信されたときに生成される および `[GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)`イベント。
  + イベントバスログの配信によって生成された Firehose の `[PutRecordBatch](https://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecordBatch.html)` イベント。
+ S3 ログの送信先では、[EventBridge のイベント通知](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-event-notifications-eventbridge.html)を有効にして送信先バケットを指定することはお勧めしません。指定すると、ログの配信が中断される可能性があるためです。

### ログ記録の暗号化
<a name="eb-event-logs-encryption"></a>

ログを送信すると、EventBridge はイベントバスに指定された KMS キーを使用して各ログレコードの `detail` および `error` セクションを暗号化します。配信されると、レコードは復号され、ログの送信先に指定された KMS キーで再度暗号化されます。

詳細については、「[イベントバスログの暗号化](encryption-bus-logs.md)」を参照してください。

### イベントバスのログ記録のアクセス許可を指定
<a name="eb-event-logs-permission"></a>

イベントバスのログ記録を有効にするには、EventBridge がそのイベントバスからログを送信するためのアクセス許可を付与する必要があります。**AllowVendedLogDeliveryForResource** をイベントバスに付与するポリシーを追加します。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "ServiceLevelAccessForLogDelivery",
            "Effect": "Allow",
            "Action": [
                "events:AllowVendedLogDeliveryForResource"
            ],
            "Resource": "arn:aws:events:{{us-east-1}}:{{123456789012}}:event-bus/{{my-event-bus}}*"
        }
    ]
}
```

------

詳細については、「*CloudWatch Logs ユーザーガイド*」で[サービス固有のアクセス許可](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AWS-logs-and-resource-policy.html#AWS-vended-logs-permissions)をご確認ください。

## イベントバスのログレベルの指定
<a name="eb-event-bus-logs-level"></a>

EventBridge が選択したログ送信先にログ記録する、イベント処理ステップのタイプを指定できます。

ログに含める詳細レベルを以下から選択します。ログレベルは、イベントバスに指定したすべてのログ送信先に適用されます。各ログレベルには、以前のログレベルのステップが含まれます。
+ **OFF** – EventBridge がログを送信することはありません。これがデフォルトです。
+ **ERROR** – EventBridge は、イベント処理とターゲット配信中に生成されたエラーに関連するログを送信します。
+ **INFO** – EventBridge は、エラーに関連するログと、イベント処理中に実行される主要ステップを送信します。
+ **TRACE** – EventBridge は、イベント処理のすべてのステップで生成されたログを送信します。

次の表は、各ログレベルに含まれるイベント処理ステップを示しています。


| Step | TRACE | 情報 | エラー | VOFF | 
| --- | --- | --- | --- | --- | 
| イベントの取り込み | x | x |  |  | 
| イベントの取り込み失敗 | x | x | x |  | 
| イベント受信 | x |  |  |  | 
| 呼び出しの試行開始 | x |  |  |  | 
| 呼び出し試行が完全に失敗 | x | x | x |  | 
| 呼び出し試行での再試行可能な失敗 | x | x | x |  | 
| 呼び出し試行の成功 | x |  |  |  | 
| 呼び出し試行のスロットリング | x | x | x |  | 
| 呼び出し DLQ | x | x | x |  | 
| 呼び出し失敗 | x | x | x |  | 
| 呼び出し開始 | x | x |  |  | 
| 呼び出し成功 | x | x |  |  | 
| 呼び出しのスロットリング開始 | x | x | x |  | 
| 一致するルールがない | x | x |  |  | 
| ルールに一致  | x | x |  |  | 
| ルールの一致を開始  | x |  |  |  | 

## イベントバスのログに詳細データを含める
<a name="eb-event-logs-data"></a>

EventBridge が生成するログにより詳細な情報を含めるよう指定できます。このデータは、トラブルシューティングやデバッグに役立ちます。このオプションを選択すると、EventBridge は指定されたすべてのログ送信先に関連するレコードにこのデータを含めます。

データフィルターには、以下のフィールドが含まれています。
+ `event_detail`: イベント自体の詳細。
+ `target_input`: EventBridge がターゲットに対して送信するリクエスト。
+ `target_properties`: 

## イベントバスのログでのデータの切り捨て
<a name="eb-event-logs-data-truncation"></a>

ログの送信先の制約により、EventBridge はログレコードを 1 MB に制限します。ログレコードがこの制限を超えると、EventBridge は次のフィールドを以下の順序で削除してレコードを切り捨てます。
+ `target_input`
+ `target_properties`
+ `target_response_body`

EventBridge は、必要に応じて次のログレコードタイプから `event_detail` フィールドを削除します。
+ `EVENT_RECEIVED`
+ `EVENT_INGESTED`
+ `EVENT_INGESTED_FAILED`
+ `RULE_MATCH_STARTED`

切り捨てが必要な場合は、EventBridge がフィールド全体を削除します。

EventBridge がイベントのフィールドを切り捨てると、`dropped_fields` フィールドには切り捨てられたデータフィールドのリストが含まれます。

## イベントバスログのエラーレポート
<a name="eb-event-logs-errors"></a>

EventBridge は、エラー状態を示すエラーデータ (ある場合) もステップに含めます。ステップには以下が含まれます。
+ `EVENT_INGEST_FAILURE`
+ `INVOCATION_THROTTLE_START`
+ `INVOCATION_ATTEMPT_THROTTLE`
+ `INVOCATION_ATTEMPT_RETRYABLE_FAILURE`
+ `INVOCATION_ATTEMPT_PERMANENT_FAILURE`
+ `INVOCATION_FAILURE`
+ `INVOCATION_DLQ`