前幾天我們已經啟用 VPC Flow Log、CloudFront Log,接下來我們就是要來實作 - 『如何啟用 WAF 日誌以及匯入 BI 進行分析』,Data Analytics Pipeline 如下圖所示:
大家會發現蒐集 WAF Log 的 Pipeline 流程跟 VPC Flow Log、CloudFront Log 不太一樣,若要蒐集 AWS WAF Log,我們需要透過 Kinesis 服務來蒐集串流資料並指定其存放的目的端(例如:Amazon S3、Amazon Redshift、Amazon Elasticsearch Service 和 Splunk ),接著建立 WAF Log 的 Data Catalog,讓 Athena 可以查詢以及 QuickSight 進行資料視覺化
那這個實作是透過 Kinesis 服務來蒐集 Log,那其實 AWS Kinesis 服務有分成幾個類別,那到底我們應該使用哪個類別的 Kinesis 服務呢? 所以我們先來討論這幾個類別的差異
AWS Kinesis 是一個可輕鬆地收集、處理和分析即時串流資料,讓您及時取得深入的見解並快速地對新資訊做出反應,而 AWS Kinesis 又可以區分成以下四種類別:
第一個 Kinesis Video Streams 跟第四個 Amazon Kinesis Data Analytics
我們可以從字面上去瞭解就是與影音/即時串流分析有相關,我們就不深入討論
而第二個 Kinesis Data Streams 和 第三個 Amazon Kinesis Data Firehose 這兩個到底差別在哪裡? 看文件好像兩個都是用來輕鬆地收集、處理即時串流資料說… 故針對不同的構面,整理了以下差異來瞭解這兩者到底差在哪裡~ [1]
構面 | Kinesis Data Streams | Kinesis Data Firehose
------------- | -------------
處理能力 | 低延遲串流服務,可在資料收集後的 70 毫秒內
準備就緒,將串流資料提供給多個即時分析應用程式、S3 或 Lambda | 它可以在串流資料傳送到服務之後的 60 秒內
傳送到 AWS 服務
管理 | 為託管服務,但還需要配置 shards | 全託管服務
資料儲存 | 可以儲存 1 到 7 天的資料,以解決未能即時處理的資料 | 沒有提供資料儲存的功能
擴展能力 | 需要透過 shards,配置手動管理縮放 | 可以依據使用者的需求,提供自動擴展的功能
目的端 | 傳至可處理紀錄的服務,像是:Amazon Lambda、EC2、Spark on EMR、Kinesis Data Analytics | 傳至資料存放區,像是:Amazon S3、Splunk、OpenSearch Service和 RedShift 等
所以在 AWS 中若要抓取 WAF Log 並儲存到特定資料存放區,我們則會使用 AWS Kinesis 服務的 Data Firehose 來協助我們抓取串流資料並儲存到 AWS S3 中~
今天就先這樣,明天我們就會來實作『如何啟用 WAF 日誌』,明天見囉 : D ~
如果有任何指點與建議,也歡迎留言交流,一起漫步在 Data on AWS 中。
參考&相關來源:
[1] AWS Kinesis Data Streams vs Kinesis Data Firehose
https://jayendrapatil.com/aws-kinesis-data-streams-vs-kinesis-firehose/