はじめに
こんにちは。NTTデータ先端技術の@EumJinmanです。
Oracle Cloud Infrastructure(OCI)の各種サービス(Object Storage、API Gateway、VCNなど)は、自動的にログを生成しており、そのログにはリソースの操作や、イベントに関する詳細情報などが記録されております。
VCNサービスもネットワークトラフィックを監視するフローログを自動的に生成しており、本記事では、VCNフローログを有効化しログを記録する方法とOCI Connector HubでVCNフローログをObject Storageに長期保存する方法について紹介します。
目次
- 概要及び、構成
- 環境情報
- 前提条件
- 事前準備
4-1. ログ・グループ作成
4-2. 取得フィルタ作成 - VCNフローログの有効化
5-1. VCNフローログの有効化
5-2. VCNフローログ確認 - コネクタの作成
6-1. コネクタの作成
6-2. バケットログ確認 - まとめ
1. 概要及び、構成
Subnetに対し、VCNフローログを有効化することでネットワークトラフィックを監視しログ・グループにログを記録することができます。しかし、ログ・グループには最大180日しか保存できないため、内部統制や、外部監査など長期保存が必要な要件には対応できません。
VCNフローログを長期保存するためには、Connector Hubを使用しVCNフローログをObject Storageに転送する必要があります。
2. 環境情報
クライアント環境
OS:Windows 10
接続ツール:TeraTerm 5.2
OCI環境
リージョン:ap-tokyo-1(アジアパシフィック (東京))
コンピュートインスタンス情報
OSイメージ:Oracle-Linux-8.10
シェイプ:VM.Standard.E2.1.Micro
3. 前提条件
クライアント環境
①シェル・ターミナル・コンソールがセットアップされていること
②クライアント環境からインスタンスにSSH接続できること
OCI環境
①動作確認用コンピュートインスタンスが作成されていること
②パブリックサブネットのセキュリティリストにクライアント環境からインスタンスに接続するための適切なイングレスルールが設定されていること。(例:SSHポート22など)
③VCNフローログを長期保存するためのバケットが作成されていること
④OCIコンソールにアクセスでき、作業に必要なポリシーが付与されたIdentity and Access Management(IAM)ユーザを持っていること
4. 事前準備
4-1. ログ・グループ作成
VCNフローログを保存するログ・グループを作成します。
OCIコンソールページ左上から「ナビゲーション・メニュー」→「監視および管理」→「ロギング」をクリックし、ログ・グループ画面に移動します。
その後、「ログ・グループの作成」をクリックし、ログ・グループの作成画面から以下の情報を入力し、「作成」をクリックします。
・コンパートメント:<コンパートメント名>
・名前:<ログ・グループ名>
・説明:<説明>
4-2. 取得フィルタ作成
どのネットワークトラフィックをログに記録するかを制御するためのルールセットである取得フィルタを作成します。
OCIコンソールページ左上から「ナビゲーション・メニュー」→「ネットワーキング」→「ネットワーク・コマンド・センタ」→「取得フィルタ」をクリックし、取得フィルタ画面に移動します。
その後、「取得フィルタの作成」をクリックし、取得フィルタの作成画面から以下の情報を入力し、「取得フィルタの作成」をクリックします。
・名前:<取得フィルタ名>
・コンパートメントに作成:<コンパートメント名>
・フィルタ・タイプ:フロー・ログ取得フィルタ
・サンプリング・レート:100%
ルール(順序番号1)
・トラフィック配置:すべて
・包含/除外:含める
・ソースのIPv4 CIDRまたはIPv6接頭辞:0.0.0.0/0
・宛先のIPv4 CIDRまたはIPv6接頭辞 :0.0.0.0/0
・IPプロトコル:すべて
※サンプリング・レートとは、取得対象のトラフィックのうち、どれだけの割合をログとして記録するかを指定する値になります。設定値を低くすることで記録されるログ量を抑えつつ、全体的な傾向や、パータンを把握することができます。ただし、重要なトラフィックがログに含まれない可能性もあるので、要件を確認し、慎重に設定する必要があります。
※本記事では、サブネットへのすべてのネットワークトラフィックを記録するため、取得フィルタのルールを設定しておりますが、要件や、状況に応じてルールセットを設定してください。
5. VCNフローログの有効化
5-1. VCNフローログの有効化
ネットワークトラフィックを監視し、ログを記録するため、サブネットに対し、VCNフローログの有効化を実施します。
OCIコンソールページ左上から「ナビゲーション・メニュー」→「監視および管理」→「ロギング」→「ログ・グループ」をクリックし、ログ・グループ画面に移動します。
ログ・グループ画面から手順4-1. ログ・グループ作成で作成したログ・グループをクリックし、ログ・グループの詳細画面を開きます。
その後、「リソース」→「ログ」→「サービス・ログの有効化」の順にたどり、サービス・ログの有効化画面から以下の情報を入力し、「ログの有効化」をクリックします。
リソースの選択
・リソース・コンパートメント:<コンパートメント名>
・サービス:Virtual Cloud Network - Flowlogs
・リソース・レベル:サブネット
・リソース:<サブネット名>
ログの構成
・ログ・カテゴリ:Flow logs
・取得フィルタ:<取得フィルタ名>
・ログ名:<ログ名>
ログの場所
・コンパートメント:<コンパートメント名>
・ログ・グループ:<ログ・グループ名>
ログの保存
・ログの保存:6月(180日)
※取得フィルタには事前準備4-2. 取得フィルタ作成で作成した取得フィルタ名を入力します。
※ログ・グループには事前準備4-1. ログ・グループ作成で作成したログ・グループ名を入力します。
※最大ログの保存期間は180日になります。180日を超える期間を選択することはできません。
5-2. VCNフローログ確認
VCNフローログを有効化したサブネットに属する確認用コンピュートインスタンスへ接続することで想定通りログが記録されることを確認します。
5-2-1. 確認用コンピュートインスタンスに接続
クライアント環境のデスクトップからTera Termを開き、「Tera Term:新しい接続」画面から以下の情報を入力し「OK」をクリックします。
・ホスト:コンピュートインスタンスのパブリックIPアドレス
・サービス:SSH
・TCPポート:22
次、「SSH認証」画面から以下の情報を入力し「OK」をクリックします。
・ユーザ名:opc
・認証方式:RSA/DSA/ECDSA/ED25519鍵を使う
・機密鍵:コンピュートインスタンスのSSH機密鍵
※opcユーザは、コンピュートインスタンス作成時にデフォルトで作成される初期管理ユーザーです。
5-2-2. VCNフローログ確認
ログ・グループ詳細画面から「リソース」→「ログ」→「<ログ名>」の順にたどり、ログ画面を開き、確認用コンピュートインスタンスへの接続ログが記録されていることを確認します。
※<ログ名>は5-1. VCNフローログの有効化で作成した<ログ名>です。
※ログに記録される確認用コンピュートインスタンスのIPアドレスはプライベートIP(今回検証では10.0.0.64)になります。(VCN内部ではプライベートIPで通信が処理されているため)
6. コネクタの作成
6-1. コネクタの作成
ログ・グループに保存されているVCNフローログをオブジエンドストレージに転送するため、コネクタを作成します。
OCIコンソールページ左上から「ナビゲーション・メニュー」→「アナリティクスとAI」→「メッセージング」→「コネクタ・ハブ」をクリックし、コネクタ・ハブ画面に移動します。
コネクタ・ハブ画面から「コネクタの作成」をクリックし、コネクタの作成画面を開きます。
その後、コネクタの作成画面から以下の情報を入力し、「作成」をクリックします。
・コネクタ名:<コネクタ名>
・説明:<説明>
・リソース・コンパートメント:<コンパートメント名>
コネクタ名の構成
・ソース:ロギング
・ターゲット:オブジェクトストレージ
ソースの構成
・コンパートメント名:<コンパートメント名>
・ログ・グループ:<ログ・グループ名>
・ログ:<ログ名>
ターゲットの構成
・コンパートメント名:<コンパートメント名>
・バケット:<バケット名>
・バッチ・サイズ(MB):100
・バッチ時間(ミリ秒):420000
ポリシー作成
「このコネクタによるコンパートメント<コンパートメント名>のオブジェクト・ストレージへの書込みを許可するデフォルト・ポリシーを作成します。」で「作成」をクリック
※ロググループのログをオブジェクトストレージに転送する際の間隔は「ターゲット構成」の「バッチ・サイズ(MB)」、「バッチ時間(ミリ秒)」で設定可能です。
※いずれかの条件に達した場合、ログ・グループからオブジェクトストレージにログが転送され、この単位で格納されることになります。
※バッチ・サイズは最大100MBまで設定可能です。
※バッチ時間(ミリ秒)は最大42000(7分)まで設定可能です。
6-2. バケットログ確認
ログ・グループに保存されているVCNフローログがオブジエンドストレージに転送されていることを確認します。
OCIコンソールページ左上から「ナビゲーション・メニュー」→「ストレージ」→「オブジェクト・ストレージとアーカイブ・ストレージ」→「バケット」をクリックし、バケット画面に移動します。
バケット画面からログ・グループを転送した「バケット名」をクリックし、移動したバケットの詳細画面からVCNフローログが転送されていることを確認します。
7. まとめ
今回は、VCNフローログを有効化しログ・グループに保存されているログをOCI Connector HubでObject Storageに転送する方法について紹介しました。
OCI Connector Hubは今回紹介しましたログデータをオブジェクトストレージに保存するだけではなく、MonitoringのメトリクスデータをリアルタイムでStreamingに送信したり、OCIイベントをトリガーにFunctionsを実行したり、OCI内のさまざまなサービス間でデータを連携するために有効なサービスとなります。