はじめに
CloudFrontの標準アクセスログは、これまでS3バケットへ出力するのが一般的だったかと思いますが、2024年11月のアップデートでCloudWatch Logsにも出力することができるようになりました。
こちらの新しい機能を、実際に設定してみたいと思います。
設定方法
すでにCloudFrontディストリビューションは作成しており、S3へのログ出力は行っているため、そこに追加設定する方法を試します。
注意点として、配信先のロググループは事前にバージニア北部リージョン(us-east-1)に作成する必要があります。(CloudFrontがグローバルリソースのため)
設定したいディストリビューションのLoggingタブに移動し、標準ログ送信先でAdd
を選択します。
追加する対象がプルダウンで表示されるので、Amazon CloudWatch Logs
を選択します。
Deliver to
の項目では、Amazon CloudWatch Logsが選択された状態になっています。
Destination log group
の項目で、ログ出力対象のロググループを選択します。バージニア北部リージョンにあるロググループのみ選択肢として表示されます。
Submit
を選択すると、標準ログ送信先にCloudWatch log groupが追加されたことが確認できました。
ロググループの出力確認
実際にCloudFrontへのアクセスを行った後に、ロググループを確認してみます。
アクセスログが出力されていることが確認できました。
追加の設定
ログ出力設定の追加設定(Additional settings)では、ログレコードに含めるフィールドと順序の設定や、出力フォーマットの設定が可能です。
必要に応じて設定してください。
おわりに
S3ではなくCloudWatch Logsに出力できるようになったことで、検索方法や使い道などに選択肢が増えたように思います。
設定は簡単ですが、アクセス数の多い環境だと出力されるログの容量も大きくなるため、CloudWatch Logs側のコスト増に注意が必要です。
要件に合わせて使い分けを試してみてください。
参考
- Amazon CloudFront がアクセスログの追加のログ形式と宛先のサポートを開始 https://aws.amazon.com/jp/about-aws/whats-new/2024/11/amazon-cloudfront-log-formats-destinations-access/