WAFログをS3に保存する方法

今回ご紹介するのは、
『 WAF (Web Application Firewall)のログをKinesis Data Firehoseを利用してS3に保存する方法 』についてです。

Kinesis Data Firehoseとは、
リアルタイム配信用の完全マネージド型サービスです。

ストリーミングデータを取り込んで変換し、AWSサービス、汎用 HTTP エンドポイント、Datadog、New Relic、MongoDB、Splunk のようなサービスプロバイダーに配信することができます。

WAFからKinesis Data Firehoseを設定

【エンジニア募集中】フルリモート可◎、売上/従業員数9年連続UP、平均残業8時間、有給取得率90%、年休124日以上 etc.  詳細はこちらから>

転送したいログがある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は「awswaflogs-」が頭に入っている名前にしてください。

保存先の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. 詳細はこちらから>

Smallitのサービス