かべぎわブログ

技術的なことについてかけたらいいな…

S3へのアクセスログを記録する

S3にはアクセスログを記録する機能があります。
その機能を有効にすると、別のS3バケットにログを記録することができます。

手順

ログ格納用のバケットを作成する

まずはログを格納するためのバケットを作成します。
バケットの名前はなんでもよいです。
今回は「kabegiwalog」という名前のバケットを作成しました。
f:id:kabegiwakun:20171119221235p:plain

バケットのログ記録を有効にする

アクセスログを記録したいバケットで「ログ記録」機能を有効にします。

アクセスログを記録したいバケットに移動し「プロパティ」タブを選択、「サーバーアクセスのログ記憶」を選択して、さきほど作成したバケットをターゲットバケットに指定します。
ターゲットプレフィックスは特に指定がなければそのままで構いません。
f:id:kabegiwakun:20171119221634p:plain

アクセスログを確認してみる

上記の設定をして1時間くらいするとログが書き出されるようになりますのでしばらく待ちます。

1時間後…
アクセスログが無事格納されました!
f:id:kabegiwakun:20171119232814p:plain

ログの中身については以下の公式ドキュメントが役に立ちます。

docs.aws.amazon.com

まとめ

S3でアクセスログを記録することができました。
ただ、このログの記録はベストエフォートであり、確実に記録される保証はありません。(実際はほとんど欠落することはないようですが)

即座に保存されるわけではなく、保存されるのにしばらく時間がかかるのもデメリットです。

ですが、かんたんでログの記録そのものには料金はかかりませんので、検討してみるのもいいかもしれません。

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく

Amazon Web Services パターン別構築・運用ガイド 一番大切な知識と技術が身につく