S3 の サーバーアクセスログで一部アクセスがログに記録されていないときの対処方法

2021.09.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

S3 で サーバーアクセスログを有効にしています。監査のため実際のアクセスと突き合わせを行ったところ、記録されていないアクセスがあることが発覚しました。証跡となるため漏れがあると非常に困るのですが、何か設定が拙いのでしょうか。それとも AWS の障害でしょうか。

どう対応すればいいの?

CloudTrail データイベントをご使用ください。

サーバーアクセスログの目的は、バケットに対するトラフィック特性を理解するためであり、完全性は保証されていません。

サーバーアクセスログを使用したリクエストのログ記録 - Amazon Simple Storage Service

サーバーログの完全性や適時性は保証されません。リクエストのログレコードが、リクエストが実際に処理されてからかなり後に配信されたり、配信すらされないこともあり得ます。サーバーログの目的は、バケットに対するトラフィックの特性を理解することです。ログレコードが失われることはまれですが、すべてのリクエストが完全に報告されるとは限りません。

そのため、漏れなく全てのアクセスが記録されている必要がある場合は、CloudTrail の データイベントのご利用をご検討ください。なお、データイベントはデフォルトでは収集されないため、有効にする必要があります。

サーバーアクセスログとデータイベントは、料金や記録される内容等々に違いがあるため、ご要件にあわせて選択いただくことを推奨します。

CloudTrail S3オブジェクトレベルログ、S3サーバーアクセスログ、どちらを使えば良いか?違いをまとめてみた | DevelopersIO

参考資料