ALBのログを設定するときに
Access Denied for bucket: alb-logs. Please check S3bucket permission
とエラーが出て少しハマったのでメモ。
S3にバケットを追加する
バケットを作成する
名前は一意だったらなんでも良い。
今回は仮にalb-logs
とします。
バケットにポリシーをアタッチする
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "S3PolicyStmt-xxxxxxxxxxxxxxxxxx",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::582318560864:root"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::alb-logs/*"
}
]
}
arn:aws:iam::582318560864:root
↑の数字は、リージョンのIDです。
582318560864
はアジアパシフィック (東京)
なので、他の地域は下記を参考に設定してください!
arn:aws:s3:::alb-logs/*
はS3のバケット名を入れます。
alb-logs
の部分を適宜変更してください。
ALBの設定を変更する
ログの有効化をする
対象のALBを開き、Attributes
にあるAccess logs
をonにする。
↑で作ったS3のバケットを選択して、保存。
これで、ALBのログがS3に出力されるようになりました!
ちなみにALBとバケットは同じリージョンにないとダメみたいです。