2021年11月15日 PTD に AWS WAF のドキュメントにアップデートがあり、 CloudWatch Logs と S3 へ直接ログ出力できる設定が可能になりました。
AWS WAFのログをS3やCloudWatch logsに保存
「Create delivery streams」をクリックします。
「Delivery stream name」を入力します。好きな名前で構いませんが、先頭に「aws-waf-logs-」を付けてください。
「Source」は「Direct PUT or other sources」を選択します。
「Transform source records with AWS Lambda」ですが今回はAWS WAFが出力するログをそのままの形でS3に出力させたいので、「Disabled」を選択します。
「Convert record format」もそのままの形でS3に出力させたいので「Disabled」を選択し、[ Next ]をクリックします。
「Destination」は「Amazon S3」を選択します。
ログを出力したいS3 bucket、必要であればPrefixを設定します。Prefixの後に ”/” を入れてください。「Next」をクリックします。
データをバッファするサイズ、時間を決めます。時間は最短で確認ができる60秒をオススメします。
続いてログの圧縮方法ですが、S3の容量を少なくする為「GZIP」にします。暗号化はここではあまり考えず、「Disabled」を選択します。
エラーログはデフォルトで「Enabled」になっているのでそのままにします。
[Web ACLs] > [Logging] で、 [Enable Logging] をクリックします。
「Amazon Kinesis Data Firehose」で、先ほど設定した名前を選択します。
Redacted filedsはチェックしません。
チェックするとチェックした内容を省略します。(HTTP method, Query string, RUI path, Header,)
[Kinesis Firehose] > [Data Firehose] > [Monitoring] でFirehoseのグラフが見えます。
Firehoseの配信ストリームは、1000レコード/s、1000トランザクション/s、1MiB/sの上限が設定されているので、
上限に達してしまう場合はAWSサポートへの上限緩和申請をします。
一般向けサイト
ITエンジニア向けサイト
英語サイト
Portfolio
Copyright (c) 2024 クラウドのインフラ技術 All Rights Reserved.