ALBのログをS3に出力する際の設定で、少し躓いたので書き残しておきます。
(公式ドキュメントにはちゃんと記載ありました)
ALBからS3へ繋がらない
ALBからS3へアクセスログの設定を有効にしようとすると、permission denied
によりS3へアクセスできず
設定が有効になりませんでした。
アカウントIDの指定が誤っていた
下記のように設定するのですが
AWSのアカウントIDは自身のアカウントではなく、リージョン毎に提供されているロードバランサ用のAWSアカウントIDにする必要がありました。oh...
正しいバケットポリシー
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<ロードバランサ用 AWS accountID>:root"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::<バケット名>/<必要あればパスやprefix>/*"
}
]
}