【小ネタ】S3サーバーアクセスログを有効化しているのにいつまで経ってもログが格納されない!!もしかしたら暗号化が影響しているかも

記事タイトルとURLをコピーする

突然ですが、S3のサーバーアクセスログを有効化にしていますか?

docs.aws.amazon.com

設定も簡単、CloudTrailより安価、ということで、とりあえず有効化しているという方もいるのではないでしょうか。 ちなみに有効化している皆さん、S3のサーバーアクセスログを有効にしているのに、なかなかログが格納されないって経験ありませんか?


アクセスログをすぐ確認したい!!って気持ちになりますが、S3サーバーアクセスログは数時間以内のベストエフォートでログの格納先として指定したバケット(ターゲットバケット)に格納されます。 なので、Athena等でS3のアクセスログを確認したい場合は、数時間置いてから、実施するのが良いです。


数時間かかってしまうのは知ってるけど...数時間経っても、1日経ってもアクセスログが格納されない...

そんな時は、ターゲットバケットの暗号化の設定を確認してみましょう。

S3で設定する暗号化には、SSE-S3とSSE-KMSの2種類あります。 その他の暗号化方法もありますが、今回の本題とは逸れるので割愛しますが、詳しくは以下をご覧ください。

docs.aws.amazon.com

SSE-S3はS3が管理するキーで、SSE-KMSはAWS Key Management Serviceで作成、管理されるキーになります。 ログの格納先として指定したバケット(ターゲットバケット)の暗号化の設定がなし、もしくはSSE-S3の場合、問題ないです。

しかし、暗号化の設定がSSE-KMSのターゲットバケットはS3サーバーアクセスログがサポートされておらず、ログが格納されない、という状態になります。


エラーにならず、待っても待っても待ってもログが格納されない...
そんな状態になった方は一度ターゲットバケットの暗号化の設定を確認してみてください。

f:id:swx-ayumi-kobayashi:20210127184840p:plain