例: 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 バッチオペレーション イベント

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

注記

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

例 — 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": [] } }

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

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

そのためには、「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": [] } } }