AWS CloudTrail を使用して Amazon EventBridge の S3 バッチオペレーションジョブを追跡する - Amazon Simple Storage Service

AWS CloudTrail を使用して Amazon EventBridge の S3 バッチオペレーションジョブを追跡する

Amazon S3 バッチオペレーションジョブアクティビティは、AWS CloudTrail にイベントとして記録されます。Amazon EventBridge でカスタムルールを作成し、Amazon Simple Notification Service (Amazon SNS) など、選択したターゲット通知リソースにこれらのイベントを送信できます。

注記

イベントを管理するには、Amazon EventBridge が好ましい方法です。Amazon CloudWatch Events と EventBridge は同じ基盤となるサービスと API ですが、EventBridge はより多くの機能を提供します。CloudWatch または EventBridge のいずれかで行った変更は、各コンソールに表示されます。詳細については、Amazon EventBridge ユーザーガイドを参照してください。

CloudTrail に放出される S3 バッチオペレーションイベント

バッチオペレーションジョブが作成されると、CloudTrail に JobCreated イベントとして記録されます。ジョブは実行されると、処理中に状態が変わり、他の JobStatusChanged イベントが CloudTrail に記録されます。CloudTrail コンソールでこれらのイベントを表示できます。AWS CloudTrail の使用方法の詳細については、AWS CloudTrail ユーザーガイドを参照してください。

注記

CloudTrail には、S3 バッチオペレーションジョブ status-change イベントのみが記録されます。

例 — CloudTrail によって記録された S3 バッチオペレーションジョブ完了イベント

{ "eventVersion": "1.05", "userIdentity": { "accountId": "123456789012", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2020-02-05T18:25:30Z", "eventSource": "s3.amazonaws.com", "eventName": "JobStatusChanged", "awsRegion": "us-west-2", "sourceIPAddress": "s3.amazonaws.com", "userAgent": "s3.amazonaws.com", "requestParameters": null, "responseElements": null, "eventID": "f907577b-bf3d-4c53-b9ed-8a83a118a554", "readOnly": false, "eventType": "AwsServiceEvent", "recipientAccountId": "123412341234", "serviceEventDetails": { "jobId": "d6e58ec4-897a-4b6d-975f-10d7f0fb63ce", "jobArn": "arn:aws:s3:us-west-2:181572960644:job/d6e58ec4-897a-4b6d-975f-10d7f0fb63ce", "status": "Complete", "jobEventId": "b268784cf0a66749f1a05bce259804f5", "failureCodes": [], "statusChangeReason": [] } }

S3 バッチオペレーションジョブイベントを追跡するための EventBridge ルールの使用

次の例は、Amazon EventBridge でルールを作成して、AWS CloudTrail によって記録された S3 バッチオペレーションイベントを任意のターゲットにキャプチャする方法を示しています。

そのためには、「CloudTrail を使用して AWS API コール時にトリガーされる EventBridge ルールを作成する」のすべての手順に従ってルールを作成します。必要に応じて、以下の S3 バッチオペレーションカスタムイベントパターンポリシーを貼り付け、ターゲットサービスを選択します。

S3 バッチオペレーションカスタムイベントパターンポリシー

{ "source": [ "aws.s3" ], "detail-type": [ "AWS Service Event via CloudTrail" ], "detail": { "eventSource": [ "s3.amazonaws.com" ], "eventName": [ "JobCreated", "JobStatusChanged" ] } }

以下の例は、EventBridge イベントルールから Amazon Simple Queue Service (Amazon SQS) に送信された 2 つのバッチオペレーションイベントです。バッチオペレーションジョブは処理中にさまざまな状態 (NewPreparingActive など) に移行するため、ジョブごとに複数のメッセージを受信することになります。

例 — JobCreated サンプルイベント

{ "version": "0", "id": "51dc8145-541c-5518-2349-56d7dffdf2d8", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.s3", "account": "123456789012", "time": "2020-02-27T15:25:49Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "11112223334444", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2020-02-27T15:25:49Z", "eventSource": "s3.amazonaws.com", "eventName": "JobCreated", "awsRegion": "us-east-1", "sourceIPAddress": "s3.amazonaws.com", "userAgent": "s3.amazonaws.com", "eventID": "7c38220f-f80b-4239-8b78-2ed867b7d3fa", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "jobId": "e849b567-5232-44be-9a0c-40988f14e80c", "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c", "status": "New", "jobEventId": "f177ff24f1f097b69768e327038f30ac", "failureCodes": [], "statusChangeReason": [] } } }

例 — JobStatusChanged ジョブが完了したときのサンプルイベント

{ "version": "0", "id": "c8791abf-2af8-c754-0435-fd869ce25233", "detail-type": "AWS Service Event via CloudTrail", "source": "aws.s3", "account": "123456789012", "time": "2020-02-27T15:26:42Z", "region": "us-east-1", "resources": [], "detail": { "eventVersion": "1.05", "userIdentity": { "accountId": "1111222233334444", "invokedBy": "s3.amazonaws.com" }, "eventTime": "2020-02-27T15:26:42Z", "eventSource": "s3.amazonaws.com", "eventName": "JobStatusChanged", "awsRegion": "us-east-1", "sourceIPAddress": "s3.amazonaws.com", "userAgent": "s3.amazonaws.com", "eventID": "0238c1f7-c2b0-440b-8dbd-1ed5e5833afb", "readOnly": false, "eventType": "AwsServiceEvent", "serviceEventDetails": { "jobId": "e849b567-5232-44be-9a0c-40988f14e80c", "jobArn": "arn:aws:s3:us-east-1:181572960644:job/e849b567-5232-44be-9a0c-40988f14e80c", "status": "Complete", "jobEventId": "51f5ac17dba408301d56cd1b2c8d1e9e", "failureCodes": [], "statusChangeReason": [] } } }