VPCフローログを可視化せよ！CloudWatch と OpenSearch の統合で手軽にダッシュボードを作ってみた

## はじめに
VPCフローログを`CloudWatch`「ログのインサイト」で抽出していたところ、
`OpenSearch`のダッシュボードが簡単に作成できそうでしたのでやってみた。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/8b562106-b43b-4789-a965-22385a240277.png)

VPCフローログの他、CloudTrailログ、WAFログも利用可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/77b5be97-9fe2-4798-9bc6-e48b7998adae.png)


>CloudWatch Logs は Amazon OpenSearch Service と統合されており、OpenSearch Service が AWS サービスから提供されたログから派生する主要なメトリクスを表示する自動キュレーションダッシュボードを作成できます。次のダッシュボードを使用できます。

>Amazon VPC フローログダッシュボードは、Amazon VPC のネットワークフローデータをキャプチャします。ネットワークトラフィックの分析、異常なパターンの検出、リソースの使用状況のモニタリングに役立ちます。表示される主要なメトリクスは次のとおりです。
・フローの合計と、これらのフローの承諾と拒否
・時間の経過に伴うトラフィックパターン
・送信元 IP と送信先 IPs (トップトーカー) 間のデータフローを示すサンキー図
・転送されたバイト数とパケット数の上位 IPs

引用元：
Amazon OpenSearch Service で分析する - Amazon CloudWatch Logs

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/CloudWatchLogs-OpenSearch-Dashboards.html

## 前提
ダッシュボードの表示元となる CloudWatch ロググループがあること
提供リージョンで実施すること
※今回は以下の延長でVPCフローログを出力しているロググループを利用

https://qiita.com/n0mura/items/5791c747bb9ad6b44f8d

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/a0704668-29a5-44e3-a562-bef3a2c76d31.png)

## 結果
VPCフローログの出力先ロググループをデータソースとして
「VPC Flow Logs」ダッシュボードを利用した場合
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/8526356d-639b-4806-a327-04adc7de6888.png)

## 手順
参考：正式な手順は以下を確認
※必要な権限などは本記事では省略

https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/OpenSearch-Dashboards-Integrate.html

### 1.CloudWatchからOpenSearchとの統合を作成

CloudWatch > 設定 > ログ > OpenSearch インテグレーションを作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/255ac78c-7833-4bef-a04b-4b48ee1874b4.png)

または、ログのインサイト画面からも以下の表示があれば設定へ遷移
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/ed397ee6-a0ec-4e1f-8cde-489fbe612b5a.png)

適切な値を設定して作成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/de4f84d8-1197-4321-b724-acae12202598.png)

作成されたことを確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/b680cb4d-adc3-46e9-a614-9e568d502ed9.png)

インテグレーション作成時の情報からOpenSearch側で自動的にポリシーが作成されます。
※ポリシー内容を変更する場合は、以下の画面から可能です。
　（削除後にスクショしたので以下の画面では表示されていません）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/edc26198-0415-46f6-9fb0-1870f690005a.png)

### 2.ログダッシュボードを作成
CloudWatch > ログのインサイト > ダッシュボードを作成

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/20f1908e-9b4f-4687-b6c6-3ef42cb91a8b.png)

今回はVPCフローログダッシュボードを利用
VPCフローログを出力しているロググループを選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/fdf764d4-8a70-4e06-abd2-65b00b5b48f9.png)

### 3.ログダッシュボードを表示
CloudWatch > ログのインサイト > OpenSearchによる分析
ダッシュボードを選択から、2で作成したダッシュボードを選択すればOK
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/6e418dd8-65a9-48fe-a6fa-c2f01a53bc97.png)

#### 注意点
正常に表示されない場合はポリシー確認
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/8920ac8d-d15e-4345-80e5-925a8d2b1e90.png)

### OpenSearch側
CloudWatchコンソールからダッシュボード作成を行うと、OpenSearch側のコンソールでも確認が可能です。

サーバレスダッシュボード
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/53ec62ab-55b4-4e79-8f09-5ac243984657.png)

コレクションの詳細
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/6ce0cf14-97a2-4017-8bdf-23e57cc0c6fa.png)


OpenSearchで該当のダッシュボードを選択し、出力内容やデータなどのカスタマイズも可能
（削除後のスクショのためグラフ無し...すみません...）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/1e6e18bc-9acf-4b1e-8c71-bc173334a555.png)

## おわりに
初めてCloudWatchとOpenSearchの統合を行い、ダッシュボード作成を行いました。
設定自体は容易にできるんですね。

皆さんもお試しになられる際は、リソース削除と利用前の料金確認をお忘れなく！