Amazon Simple Storage Service (Amazon S3) バケットを使用して Elastic Load Balancing (ELB) アクセスログを設定しているときにエラーが発生します。
簡単な説明
ロードバランサーでアクセスログを使用するには、ロードバランサーと Amazon S3 バケットが同じアカウントになければなりません。また、バケットへの書き込みを ELB に許可するバケットポリシーを Amazon S3 バケットにアタッチする必要があります。表示されるエラーメッセージに応じて、関連する解決策のセクションを参照してください。
注: Network Load Balancers (NLB) は、Transport Layer Security (TLS) リスナーのアクセスログのみをサポートします。ログには、Network Load Balancer に対して行われた TLS リクエストに関する情報が含まれています。Transmission Control Protocol (TCP) はサポートされていません。
解決方法
「S3Bucket: my-access-log-bucket is not located in the same region with ELB: app/my-load-balancer/50dc6c495c0c9188」(S3Bucket: my-access-log-bucket が ELB と同じリージョンにありません: app/my-load-balancer/50dc6c495c0c9188)
このエラーは、Amazon S3 バケットとロードが同じ AWS リージョンにないことを示しています。Amazon S3 バケットは異なるリージョンに存在できますが、ロードバランサーと同じアカウントになければなりません。
「バケットのアクセスが拒否されました: my-access-log-bucket。S3bucket 許可を確認してください」
このエラーは、Amazon S3 バケットに、アクセスログを書き込む許可を付与するポリシーがないことを示しています。
このエラーを解決するには、バケットポリシーがバケットにログを書き込む許可を付与していることを確認します。バケットの名前とプレフィックスに正しいプレースホルダーがあることを確認します。ロードバランサーのリージョンに基づいて、Elastic Load Balancing の AWS アカウントの正しい ID であることを確認します。
必要な許可の詳細については、以下を参照してください。
Amazon S3 マネージドキーによるサーバー側の暗号化 (SSE-S3) を使用して ELB のアクセスログを暗号化できます。さらに、Network Load Balancer は AWS Key Management Service (AWS KMS) カスタマーマネージドキーをサポートし、アクセスログを暗号化します。ELB アクセスログの暗号化に AWS KMS マネージドキーを使用することはできません。
「リクエストされたバケット名は利用できません。バケット名前空間は、システムのすべてのユーザーによって共有されます。別の名前を選択して、もう一度お試しください。」
このエラーが表示された場合は、アクセスログのバケットプレフィックスに「AWSLogs」が含まれていないことを確認してください。
追加のトラブルシューティング
S3 バケットのポリシーと設定が正しいことを確認してもログを表示できない場合は、ロードバランサーがトラフィックを受信していることを確認します。ロードバランサーがトラフィックを受信しているかどうかを確認するには、ActiveConnectionCount および RequestCount メトリクスを確認します。