説明
CloudFront のアクセスログには、リクエストパス、応答ステータス、処理時間などが記録されます。必要なリクエストログがないと、異常なトラフィックや CDN 層のエラーを調査しにくくなります。ログ自体が攻撃を遮断するわけではありません。
想定される影響
- 異常なリクエストや大量アクセスの発見が遅れるおそれがあります。
- インシデント調査や障害解析に必要なリクエスト履歴が不足する場合があります。
対処方法
- ディストリビューションに必要な標準ログやリアルタイムログを設定してください。以下の S3 への配信方式では、
logging.enabled: true、ログバケット、prefix を指定してください。 - 選択した方式の配信権限、保存先のアクセス制限、保持期間を設定し、実際の受信を確認してください。
- 標準ログの配信はベストエフォートであり、すべてのリクエストが必ず記録されるとは限りません。
例
ログ設定を比較する抜粋です。キャッシュ動作など、その他の必須設定は省略しています。どちらも enabled: false のため、コンテンツを配信する状態にはなっていません。
変更前
yaml
- name: create a CloudFront distribution
community.aws.cloudfront_distribution:
state: present
caller_reference: unique test distribution ID
origins:
- id: my test origin-000111
domain_name: www.example.com
enabled: false
この設定にはログの配信設定がありません。運用中のディストリビューションに別途設定されたログ経路も確認してください。
変更後
yaml
- name: create a CloudFront distribution
community.aws.cloudfront_distribution:
state: present
caller_reference: unique test distribution ID
origins:
- id: my test origin-000111
domain_name: www.example.com
logging:
enabled: true
include_cookies: false
bucket: mylogbucket.s3.amazonaws.com
prefix: myprefix/
enabled: false
S3 へのログ配信を有効にしています。バケットと prefix を実際の保存先に置き換え、この配信方式に必要な権限を用意してください。