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」が出来上がっていると思いますので、確認してみてください。