S3のポリシー見直しをしていたところ、ALBのログがS3に出力されなくなった。
ALBのログ出力に指定するバケットのポリシーのPrincipalに自分のアカウントIDを指定していたことが原因。
ALBからのログ出力に指定するアカウントIDは以下の通り
ap-northeast-1: 582318560864
ap-northeast-3: 383597477331
バケットポリシー(東京リージョン)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::582318560864:root"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::${バケット名}/prefix/AWSLogs/${アカウントID}/*"
},
{
"Effect": "Allow",
"Principal": {
"Service": "logdelivery.elb.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::${バケット名}"
}
]
}