- クラウド技術
WAFログをS3に保存する方法
- #AWS

目的
【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc. 詳細はこちらから>
WAF (Web Application Firewall)のログをKinesis Data Firehoseを利用してS3に保存する。
Kinesis Data Firehoseとは
リアルタイム配信用の完全マネージド型サービスです。
ストリーミングデータを取り込んで変換し、AWSサービス、汎用 HTTP エンドポイント、Datadog、New Relic、MongoDB、Splunk のようなサービスプロバイダーに配信できます。
WAFからKinesis Data Firehoseを設定

転送したいログがあるWeb ACLsのAWSコンソールから「Logging and metrics」を選択し、「Enable logging」ボタンを押します。
「Amazon Kinesis Data Firehose delivery stream」の右にある「Create new」を選択します。
Sourceは「Direct PUT」を選択します。
今回はS3に保存する為、Destinationは「Amazion S3」を選択しております。
Delivery stream nameは「aws–waf–logs-」が頭に入っている名前にしてください。
保存先のS3 bucketを選択します。
「S3 bucket prefix – optional」は保存ディレクトリの設定と理解したらいいと思います。
上の設定通りにしたら「S3:\waf\xxx-xx-xxx-waf\yyyy\MM\dd\ログファイル」に保存されます。
「S3 bucket error output prefix – optional」には「!{firehose:error-output-type}」のインスタンスを少なくとも 1 つ含める必要があると思います。
今回は基本設定で「バッファサイズ:5M」「バッファ間隔:300秒」「圧縮 (無効)」「暗号化 (無効)」にしました。「Create delivery stream」を選択してください。
Data Firehoseの設定が終わったら上のように「Delivery stream name」が表示されます。
「save」を押して設定を保存してください。
「Logging – Enabled」、「Amazon Kinesis Data Firehose delivery Stream」に設定した「Delivery stream name」が表示されると完了です。
【エンジニア募集中】フルリモートも◎(リモート率85.7%)、平均残業8時間、年休124日以上、有給取得率90% etc. 詳細はこちらから>