ALBのアクセスログ機能を設定してみた

こんにちは!Tamaです!

今回はALB(Application Load Balancer)のアクセスログ保存機能の設定方法を紹介します。

CLB(Classic Load Balancer 従来のELB)とは設定項目や方法が異なります。

S3の設定

アクセスログの有効化を行う前にS3バケットのバケットポリシーを設定しELBからS3へのPUT権限を付与します。

対象のS3バケットを選択し「アクセス権限」「バケットポリシー」にポリシーを入力します。

設定するポリシー(東京リージョンの場合)

※PrincipalのIDがリージョンによって異なります。

1{2    "Version": "2012-10-17",3    "Statement": [4        {5            "Effect": "Allow",6            "Principal": {7                "AWS": "arn:aws:iam::582318560864:root"8            },9            "Action": "s3:PutObject",10            "Resource": "arn:aws:s3:::level1/*"11        }12    ]13}

アクセスログの有効化

ロードバランサの管理画面に移行し、対象のALBを選択し説明タブを選択します。

ページ下部の「属性の編集」からアクセスログを有効化します。

CLBでは60分間隔と5分間隔を選択することが出来ましたがALBでは5分間隔固定となります。

S3バケット名(任意でディレクトリ)を入力し保存します。

指定したS3ディレクトリ以下/AWSLogs/[アカウントID]/elasticloadbalancing/[AZ]/yyyy/MM/dd/

にアクセスログが設置されます。

無事アクセスログが保存されています。

ファイル形式は.gzで圧縮されています。

今回は以上になります!

お疲れさまでした!

5分間隔しか選択できなかったりgz形式で保存されていたりとCLBとは少し仕様が異なります。

次回はCLBとALBのアクセスログ機能を比較してみたいと思います。

またお会いしましょう!

この記事を書いた人

aws-recipe-user