Amazon S3 サーバーアクセスログが配信されないのはなぜですか?

所要時間1分
0

Amazon Simple Storage Service (Amazon S3) サーバーアクセスのログ記録を設定しました。ただし、ログは配信される予定のバケットに入力されません。

簡単な説明

Amazon 3 サーバーアクセスログを設定したのに、想定したバケットにログが表示されない場合は、次の点を確認してください。

  • ログ配信グループ (配信アカウント) は、ターゲットバケットにアクセスできる。
  • ターゲットバケットのバケットポリシーは、ログへのアクセスを拒否してはならない。
  • ターゲットバケットの Amazon S3 オブジェクトロックをオンにしない。
  • ターゲットバケットでデフォルトの暗号化が有効になっている場合、暗号化キーとして AES256 (SSE-S3) を選択する必要があります。
  • 最近のログ記録設定変更が有効になるまで、しばらく待ってください。

解決方法

ログ配信グループはターゲットバケットにアクセスできる

サーバーアクセスログは、ログ配信グループと呼ばれる配信アカウントによって、ターゲットバケット (ログの送信先バケット) に配信されます。サーバーアクセスログを受信するには、ログ配信グループにターゲットバケットへの書き込みアクセス権が必要です。ターゲットバケットのアクセスコントロールリスト (ACL) を調べて、ログ配信グループに書き込みアクセス権があるかどうかを確認します。

Amazon S3 コンソールを使用してターゲットバケットの ACL を確認および変更するには、以下の手順に従います。

  1. Amazon S3 コンソールを開きます。
  2. バケットのリストから、サーバーアクセスログの送信先となるターゲットバケットを選択します。
  3. [Permissions] タブをクリックします。
  4. [Access Control List] を選択します。
  5. [S3 log delivery group] で、グループが [Write objects] にアクセスできるかどうかを確認します。グループに [Write objects] へのアクセス権がない場合は、次のステップに進みます。
  6. [Log Delivery] を選択します。
  7. [LogDelivery] ダイアログボックスの [Access to the objects] で、[Write objects] を選択します。
  8. [Save] (保存) を選択します。

ターゲットバケットのバケットポリシーは、ログへのアクセスを拒否してはいけません。

ターゲットバケットのバケットポリシーを確認します。バケットポリシーで "Effect": "Deny" を含むステートメントを検索します。次に、拒否ステートメントによってアクセスログがバケットに書き込まれないようになっていないことを確認します。

注意: ベストプラクティスは、サーバーアクセスログに別のバケットを使用することです。デフォルトでは、S3 バケットはプライベートであるため、バケットへの不正アクセスを防止するためにバケットポリシーで拒否ステートメントを使用する必要はありません。AWS Identity and Access Management (IAM) ユーザーまたはロールがバケットと同じ AWS アカウントにあり、IAM ID が IAM ポリシーでバケットへのアクセス許可を持っている場合、ユーザーまたはロールはバケットにアクセスできます。

ターゲットバケットの Amazon S3 オブジェクトロックをオンにしないでください

ターゲットバケットで オブジェクトロックが有効になっているかどうかを確認します。オブジェクトロックにより、サーバーアクセスログの配信が防止されるため、ログの送信先となるバケットのオブジェクトロックを無効にする必要があります。

ターゲットバケットでデフォルトの暗号化が有効になっている場合、AES256 (SSE-S3) を選択する必要があります。

ターゲットバケットで デフォルトの暗号化を使用する場合は、暗号化キーとして AES-256 (SSE-S3) が選択されていることを確認します。AWS-KMS (SSE-KMS) を使用した暗号化はサポートされていません。Amazon S3 コンソールを使用してデフォルトの暗号化を設定する方法については、「Amazon S3 のデフォルトバケット暗号化を有効にする」を参照してください。

最近のログ記録設定変更が有効になるまでに少し時間がかかります

サーバーアクセスのログ記録を初めて有効にしたり、ログのターゲットバケットを変更したりする場合、完全に実装されるまでに時間がかかることがあります。ログ記録を有効にしてから 1 時間以内に、一部のリクエストがログ記録されないことがあります。ターゲットバケットを変更してから 1 時間以内に、一部のログが以前のターゲットバケットに配信される場合があります。ログ記録の設定を変更したら、変更後 1 時間ほど待ってから、ログを確認します。詳細については、 ベストエフォート型のサーバーログ配信 を参照してください。


関連情報

ログの配信方法

AWS公式
AWS公式更新しました 1年前