aws s3のアクセスログをslackへ飛ばす

s3のイベントでは、boto3を使用したオブジェクトの書き込みが拾えないため、アクセスログをslackへ飛ばす方法を試行錯誤してみました。

s3のアクセスログをs3に格納して、オブジェクトの作成イベントでlambdaを起動して、ログ内容を解析しslackへ飛ばす手順です。

まずは、s3のアクセスログ保管用のバケットを作成。

ターゲットのs3バケットのプロパティで「サーバーアクセスのログの記録」で出力を設定。

lambdaを作成

ひな形は、設計図 cloudwatch-alarm-to-slack-python を使用して作成してください。

下のコードに置き換える。

kmsの設定は、ほかのブログを参考にしてください。

トリガーにs3を追加して、s3のアクセスログ保管用のバケットを指定して、obejctcreatedを選択してください。