ALBはアクセスログ有効にできるんだけどNLBはできない!!
もしくは有効にしたのにアクセスログが作成されない!
そんなときは以下をチェックしてみましょう。
NLBはTLSしかアクセスログを作成しません。
アクセスログが作成されるのは、ロードバランサーに TLS リスナーがあり、TLS リクエストに関する情報のみを含む場合のみです。
(引用元:Network Load Balancer のアクセスログ)
TCPのリスナーとかだと、そもそもアクセスログは作成されません!
S3のバケットポリシーが間違っている。
まずは要件を確認
・バケットは、ロードバランサーと同じリージョンに配置されている必要があります。
・Amazon S3 マネージドの暗号化キー (SSE-S3) が必要です。その他の暗号化オプションはサポートされていません。
ポリシーの確認を行います。
AWS公式ドキュメントの例は以下になります。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AWSLogDeliveryWrite", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:PutObject", "Resource": "arn:aws:s3:::bucket_name/prefix/AWSLogs/123456789012/*", "Condition": { "StringEquals": { "s3:x-amz-acl": "bucket-owner-full-control" } } }, { "Sid": "AWSLogDeliveryAclCheck", "Effect": "Allow", "Principal": { "Service": "delivery.logs.amazonaws.com" }, "Action": "s3:GetBucketAcl", "Resource": "arn:aws:s3:::bucket_name" } ] } |
ってな感じで、以上!!