ALBのアクセスログ取得設定とS3バケットポリシーの作成を行う【AWS】

・ALB(ELB)のアクセスログを取得したい。
・S3のアクセスログポリシーを教えて欲しい
・Access Denied for bucket: mmikiyastorage. Please check S3bucket permissionの対処法
今回の記事ではALBのアクセスログを取得までの手順を紹介します。
ちなみにロードバランサーとS3はすでに作成済みです。
アクセスログ設定手順
AWSマネジメントコンロール画面にログインし、EC2のダッシュボードからロードバランサーを選択。
対象のALBにチェックを入れ、Actionのプルダウンから「Edit load balancer attributes」をクリック。

下にスクロールして「Access logs」にチェックを入れます。
保存先は「Browse S3」をクリックし任意のS3を選んでください。
記入が完了したら「save change」をクリックして完了です。

アクセスログの設定は終了です。
Access Denied for bucket: mmikiyastorage. Please check S3bucket permissionのエラーが出た方は、
次のS3バケットポリシーの作成に進んでください。
S3バケットポリシー作成手順
S3に正しい権限が付与されていないと、下記のようなエラーが発生してしまいます。
この章では、下記のエラーが発生してしまった方向けにS3バケットポリシーの作成手順を紹介します。
Access Denied for bucket: mmikiyastorage. Please check S3bucket permission

S3のダッシュボードより、対象のS3をクリック

上のタブより、アクセス許可を選択し、バケットポリシーの「編集」をクリック。

バケットポリシーに下記のように入力し、変更の保存をクリック。
基本的にコピペオッケーですが赤字のところだけ修正するようにしてください。

①elb-account-id:リージョンごとに数字が決まっているので、参照リンク先の「2022 年 8 月より前に利用可能になったリージョン」から選択してください。
一例 東京:582318560864 大阪 383597477331
②bucket-name/prefix:S3のバケット名/フォルダ名と考えて問題ないです。
私はmmikiyastorageというバケット名の直下にalbLogというフォルダを作ったので、mmikiyastorage/albLog/となります。
③your-aws-account-id:AWSマネジメントコンソールにログインする際に聞かれる「アカウント ID (12 桁) 」です。
参照
https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/enable-access-logging.html

バケットポリシー作成完了

以上です。「ELBAccessLogTestFile」が出来上がっていると思いますので、確認してみてください。
