S3のアクセスログについて
ログの取得には専用のバケットを使用することが推奨されています。
AWSのマニュアルに下記記載があります。
ログを管理しやすくするため、ソースとは別のバケットにアクセスログを保存することをお勧めします。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/ServerLogs.html
ソースバケットとターケットバケットが同じである場合、バケットに書き込まれるログに関する追加のログが作成されます。
ログを書き出したログが作成されるのですね。
ですので、今回はログ専用のバケットを作成します。
設定
ログを書き出す専用のバケットを作成します。
S3メニューより「バケットを作成する」ボタンをクリックします。
「バケット名」を入力して「作成」をクリックします。
ソースのバケット(アクセスログを取得したいバケット)を選択して「プロパティー」タブを選択して「サーバーアクセスログを記録」をクリックします。
”ログを有効化”を選択して、「ターゲットバケット」で先ほど作成したバケットを選択します。
確認します。
確認の為にバケットにファイルを追加して、ログのバケットを確確認したのですが、待てども待てども反映されません・・・
AWSガイドを記確認すると下記記述がありました。
バケットのログ記録ステータスの変更がログファイルの配信に反映されるまでには時間がかかります。たとえば、バケットのログを有効にする場合、その後数時間に行われるリクエストは記録されることもあれば、されないこともあります。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/ServerLogs.html
また、下記のような記述がありました。
サーバーアクセスログレコードの配信は、ベストエフォートで行われます。ログ記録用に適切にバケットを設定した場合、そのバケットへのほとんどのリクエストについてログレコードが配信されます。ほとんどのログレコードは、記録された時間から数時間以内に配信されますが、配信間隔は短くなる場合もあります。
https://docs.aws.amazon.com/ja_jp/AmazonS3/latest/dev/ServerLogs.html
サーバーログの完全性や適時性は保証されません。リクエストのログレコードが、リクエストが実際に処理されてからかなり後に配信されたり、配信すらされないこともあり得ます。
そうなのね💛
30分ほどするとログファイルを確認できました。
結構細かくファイルが作成されますね。
分析が大変そう・・・