アクセスログを使用してオブジェクトストレージバケットリクエストを追跡する - Amazon Lightsail

アクセスログを使用してオブジェクトストレージバケットリクエストを追跡する

アクセスログは、Amazon Lightsail オブジェクトストレージサービスのバケットに対して行われたリクエストの詳細なレコードを提供します。この情報には、リクエストタイプ、リクエストで指定したリソース、リクエストを処理した日時などが含まれます。アクセスのログは、多くのアプリケーションに役立ちます。例えば、アクセスのログ情報は、セキュリティやアクセスの監査に役立ちます。また、顧客基盤について知るうえでも役立ちます。

目次

ログ配信を有効にするには何が必要ですか

ログ配信を有効にする前に、次の点を考慮してください。詳細は、「バケットアクセスのログ記録を有効にする」を参照してください。

  1. ログのターゲットバケットを特定します。このバケットは、Lightsail がアクセスログをオブジェクトとして保存する場所です。ソースバケットとターゲットバケットの両方が同じ AWS リージョンにあり、同じアカウントによって所有されている必要があります。

    ログの保存先のバケットとして、ソースバケットと同じリージョンにあるユーザー所有のバケットを指定できます。これにはソースバケット自体も含まれます。ただし、ログを管理しやすくするため、アクセスログは別のバケットに保存することをお勧めします。

    ソースバケットとターゲットバケットが同じである場合、バケットに書き込まれるログに関する追加のログが作成されます。これは、ストレージの消費がいくらか増える可能性があるため、望ましくない場合があります。また、ログに関する追加のログのために、必要なログを見つけにくくなります。アクセスログの保存先をソースバケットにする場合は、ログオブジェクトを簡単に区別できるように、すべてのログオブジェクトキーにプレフィックスを指定し、オブジェクト名を共通の文字列で始めてください。キープレフィックスは、複数のバケットが同じターゲットバケットにログを記録する場合に、ソースバケットを区別するためにも役立ちます。

  2. (オプション) ログオブジェクトキーのプレフィックスを特定します。プレフィックスを使用すると、ログオブジェクトを見つけやすくなります。例えば、プレフィックスの値として logs/ を指定すると、Lightsail で作成する各ログオブジェクトのキーの先頭に logs/ というプレフィックスが付きます。プレフィックスの末尾であることを示すには、末尾のスラッシュ / が必要です。logs/ プレフィックス付きのログオブジェクトキーの例を次に示します。

    logs/2021-11-31-21-32-16-E568B2907131C0C0

ログオブジェクトのキーフォーマット

Lightsail では、ターゲットバケットにログオブジェクトをアップロードする際に、以下のオブジェクトキーフォーマットを使用します。

TargetPrefix/YYYY-mm-DD-HH-MM-SS-UniqueString

このキーで、YYYYmmDDHHMMSS は、ログファイルを配信した年、月、日、時、分、秒をそれぞれ表す数字です。これらの日付と時刻は協定世界時 (UTC) です。

ある時点で配信されたログファイルには、その時点より前に書き込まれたレコードが含まれます。特定の期間のすべてのログレコードが配信されたかどうかを知る方法はありません。

キーの UniqueString コンポーネントは、ファイルの上書きを防止するためのものです。意味はないため、ログ処理ソフトウェアでは無視されます。

ログを配信する方法

Lightsail は、アクセスログレコードを定期的に収集してログファイルにまとめ、そのログファイルをログオブジェクトとしてターゲットバケットにアップロードします。複数のソースバケットでログ記録の配信先が同じターゲットバケットである場合、これらのすべてのソースバケットのアクセスログがターゲットバケットに収容されます。ただし、各ログオブジェクトは、ソースバケット別にアクセスログレコードをレポートします。

ベストエフォート型のアクセスログ配信

アクセスログレコードの配信は、ベストエフォートで行われます。ログ記録用に適切にバケットを設定した場合、そのバケットへのほとんどのリクエストについてログレコードが配信されます。ほとんどのログレコードは、記録された時間から数時間以内に配信されますが、配信間隔は短くなる場合もあります。

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

バケットのログ記録ステータスの変更が有効になるまでには時間がかかる

バケットのログ記録ステータスの変更がログファイルの配信に反映されるまでには時間がかかります。例えば、バケットのログを有効にする場合、その後数時間に行われるリクエストは記録されることもあれば、されないこともあります。ログ記録のターゲットバケットをバケット A からバケット B に変更すると、その後 1 時間は一部のログがバケット A に引き続き配信されたり、新しいターゲットバケット B に配信されたりします。いずれにしても、最終的に新しい設定が有効になるため、ユーザー側の操作は一切不要です。