CloudWatch EventsでS3への変更をトリガーする
こちらを参考にS3へのファイル作成を検知してみます。
ルールを作成
まずCloudWatch Eventsルールを作成します。イベントルールの定義はこちら。
cloudwatch-events-test
バケットにtest.txt
がCopyObject
、CompleteMultiPartUpload
、PutObject
されると発火します。{
"source": [
"aws.s3"
],
"detail-type": [
"AWS API Call via CloudTrail"
],
"detail": {
"eventSource": [
"s3.amazonaws.com"
],
"eventName": [
"CopyObject",
"CompleteMultiPartUpload",
"PutObject"
],
"requestParameters": {
"bucketName": [
"cloudwatch-events-test"
],
"key": [
"test.txt"
]
}
}
}
ターゲットはCloudWatchロググループを定義して、イベント発火でログが吐かれるようにしておきます。
名前を付けてルールを作成します。
CloudTrail証跡を作成
実は、これだけではイベントを拾うことができません。AWS API Call via CloudTrail
とあるように、CloudTrailを構成してイベントを監視してもらわなければいけません。証跡情報を作成してイベントを設定した
cloudwatch-events-test
バケットの証跡を残すように設定します。
これで準備完了です。
バケットにtest.txtを置いてみます。
ログが作成されました。
もちろん他の名前のファイルを置いてもログはできません。
今回はログを出しただけでしたが、Lambdaを起動したりEC2のシェルを実行したりもできるのでリソース同士の連携に便利です。
ディスカッション
コメント一覧
まだ、コメントがありません