AWS S3アクセスログとは

目次

1.S3アクセスログとは

S3バケットやファイルに対して、いつ・どこから・どのようなアクセスがあったかを記録するログです。一般にS3サーバーアクセスログを指します。

例えば、S3に保存したreport.csvをダウンロードすると、そのリクエストの日時、アクセス元、操作内容、処理結果などが記録されます。

利用者・アプリ → S3にアクセス → アクセス内容をログに記録

2.記録される主な情報

情報 何がわかるか
アクセス日時 いつアクセスしたか
アクセス元IPアドレス どこからアクセスしたか
リクエスト元 アクセスした利用者などの識別情報(匿名アクセスなどでは識別できない場合があります)
操作内容 ファイルの取得、アップロード、削除など
対象ファイル アクセス対象のオブジェクトキー。例:report.csv
処理結果 HTTPステータスやエラーコード。例:成功、アクセス拒否
転送量・処理時間 何バイト送信し、処理にどのくらい時間がかかったか

3.どのようなときに使うか

アクセス状況の確認

どのファイルにアクセスがあるかを調べる。

エラー調査

アクセス拒否などの失敗したリクエストを調べる。

通信状況の分析

転送量や処理時間を確認する。

ログはリクエストの記録です。記録を有効にすること自体が、不正アクセスを遮断する設定になるわけではありません。

4.設定と保存先・料金

初期状態は無効なので、記録するには設定が必要です。

  1. S3コンソールで、記録対象のバケットを開く。
  2. 「プロパティ」を開く。
  3. 「サーバーアクセスのログ記録」で「編集」を選ぶ。
  4. ログ記録を有効にして、保存先バケットと必要に応じてプレフィックスを指定する。

S3バケットにログを保存する場合、保存先には同じAWSアカウント・同じリージョンの別バケットを使うことが推奨されます。ログ保存先バケットでは、サーバーアクセスログを有効にしないようにします。

ログ記録自体に追加料金はかかりません。ただし、保存されたログには通常のS3保存料金などがかかります。

5.CloudTrailとの違い

ログ 主な観点
S3サーバーアクセスログ S3へのアクセスの詳細。HTTPの処理結果、転送量、処理時間など。
CloudTrail ユーザーやロールが、どのAWS操作を行ったか。S3ファイルの取得・削除などはデータイベントで記録。

6.アプリログとの違い

S3アクセスログは「S3へのアクセス」、アプリログは「アプリ内部の処理」を記録するものです。

比較項目 S3アクセスログ アプリログ
記録するもの S3に対するリクエスト アプリ内で実行された処理やエラー
記録する仕組み S3のログ機能を有効にする アプリやフレームワークが出力する
主な内容 アクセス日時、アクセス元IP、対象ファイル、操作、HTTPステータスなど 処理開始・終了、処理件数、業務上のエラー、例外など
調べたいこと S3へのアクセスが成功したか アプリの処理が正常に進んだか

7.ログを見るときの注意点

配信に時間がかかることがあり、すべてのアクセスの記録が保証されるわけではありません。

S3サーバーアクセスログはベストエフォート方式で配信されます。
ログがないことだけでアクセスがなかったとは断定できません。
リアルタイムの監視用というより、アクセスの調査・分析に使うログです。

関連の記事

AWS CloudTrailとは(管理イベント/データイベント)
AWS CloudTrail のデータをAthenaで確認する

△上に戻る