Flow Analyzer を使って次のタスクを実施できます。
- VPC Flow Logs に対して単純なクエリを構築して実行する
- VPC Flow Logs のクエリ用に SQL フィルタを(WHERE ステートメントを使用して)作成する
- 選択したフィールドを使用して結果を整理し、合計トラフィックと集計パケットを使用してクエリ結果を並べ替える
- 選択した時間間隔でトラフィックを表示する
- 時間の経過とともに上位 5 つのトラフィック フローをグラフィカル形式で、他のトラフィックと比較する
- 選択した期間に集計されたトラフィック量が最も多いリソースを表形式で表示する
- クエリ結果から、特定の送信元と宛先のペア間のトラフィックの詳細を表示する
- VPC Flow Logs で使用可能な残りのフィールドを使用して、クエリ結果をドリルダウンする
始める前に
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
必要なロールと権限
Flow Analyzer はユーザーに代わってデータを読み取るため、ログを含むバケットを読み取る十分な権限があることを確認してください。Log Analytics を使用するには、バケットもアップグレードする必要があります。
ユーザーがバケットのログを読み取れるようにするには、ログ エクスプローラ ページを使用します。[ログ分析] ページを使用して、次のいずれかのロールを付与します。
_Default
バケットの_Default
ビューにアクセスするには、ログ閲覧者ロール(roles/logging.viewer
)を付与します。- データアクセス ログを含む、
_Default
ログバケット内のすべてのログにアクセスするには、プライベート ログ閲覧者ロール(roles/logging.privateLogViewer
)を付与します。
詳細については、Logging のロールをご覧ください。
ユーザーがユーザー定義バケットに保存されているログを読み取みとれるようにするには、ログビュー アクセサーのロール(
roles/logging.viewAccessor
)を付与します。承認は特定のログビューに制限できます。詳細については、ログビューへのアクセスを制御するをご覧ください。または、次の権限を付与するカスタムロールを作成します。
logging.buckets.get
logging.buckets.list
logging.logEntries.list
logging.logs.list
resourcemanager.projects.get
クエリをビルドして実行する
基本フィルタを使用してクエリをビルドして実行する手順は次のとおりです。
コンソール
Google Cloud コンソールで、[Flow Analyzer] ページに移動します。
[
ソースバケット] をクリックして、次の操作を行います。- [ログバケット] フィールドで、クエリするフローログを含むログバケットを選択します。デフォルトでは、フローログは _Default ログバケットに保存されます。
- [ログバケット ビュー] フィールドで、ログビューを選択します。
- 省略可: 特定の VPC Flow Logs 構成に関連付けられたフローログをクエリする場合は、次の操作を行います。
- [特定の構成を選択する] チェックボックスをオンにします。
- [ログ構成] リストで、VPC Flow Logs 構成を 1 つ以上選択します。[サブネットワーク用に構成されたフローログ] オプションを選択すると、ログバケット内のすべてのサブネットのフローログがすべて選択されます。
[トラフィックの集計] メニューで、次のいずれかのオプションを選択します。
- 送信元 - 宛先: 送信元から宛先へのトラフィックを集計します。
- クライアント - サーバー: ポート番号とサービス定義が小さいリソース、または GKE サービス プロパティを持つリソースをサーバーとみなして、両方向のトラフィックを集計します。
詳細については、トラフィック集計をご覧ください。
期間セレクタで、クエリの期間を設定します。デフォルトの期間は 1 時間です。プリセットの期間を選択したり、カスタムの開始時刻と終了時刻を指定したり、特定の時間を中心に期間を選択したりできます。
[フィルタ] リストで、1 つ以上のクエリフィルタを選択します。各フィルタは VPC Flow Logs フィールドに対応しています。これらのフィールドの詳細については、レコード形式をご覧ください。フィルタを選択しない場合は、選択した期間内のすべてのフローのクエリ結果が Flow Analyzer に表示されます。
同じフィルタに複数の値を選択すると、
OR
演算子が使用されます。同じ [フィルタ] リストで複数のフィルタを選択すると、AND
演算子が使用されます。たとえば、2 つの IP アドレス値(10.10.0.10
と10.10.0.20
)と 2 つの Country 値(usa
とfra
)を選択した場合は、フィルタ ロジック(IP=10.10.0.10 OR IP=10.10.0.20) AND (Country=usa OR Country=fra)
がクエリに適用されます。[フロー整理の基準] リストを使用してクエリ結果の整理方法を選択するか、デフォルト値のままにします。
[新しいクエリを実行] をクリックします。
[最高のデータフロー] グラフと [すべてのデータフロー] テーブルが更新されます。
[表示オプション] パネルを使用して、クエリ結果をカスタマイズできます。詳細については、表示オプションをご覧ください。カスタム オプションを選択するには、表示オプションをカスタマイズするをご覧ください。
SQL クエリをビルドして実行する
SQL フィルタを使用して Flow Analyzer でクエリをビルドして実行するには、次の操作を行います。
コンソール
Google Cloud コンソールで、[Flow Analyzer] ページに移動します。
ログバケットを選択します。_Default ログバケットを使用する場合は、この手順をスキップできます。
クエリの期間を設定するには、期間セレクタを使用するか、[選択した期間を再実行] を選択します。
[トラフィックの集計] メニューで、次のいずれかのオプションを選択します。
- 送信元 - 宛先: 送信元から宛先へのトラフィックを集計します。
- クライアント - サーバー: ポート番号が小さく、サービス定義を持つリソースをサーバーとみなして、両方向のトラフィックを集計します。
詳細については、トラフィック集計をご覧ください。
[SQL フィルタ] をクリックします。
BigQuery SQL 構文を使用して SQL フィルタクエリを入力します
フィルタ式の構文と例を表示するには、[フィルタ式の構文と例] をクリックします。
フィールドを使用してフローを整理します。フロー詳細を整理するフィールドを選択します。
[新しいクエリを実行] をクリックします。
[最高のデータフロー] グラフと [すべてのデータフロー] テーブルが更新されます。
[表示オプション] パネルを使用して、クエリ結果をカスタマイズできます。詳細については、表示オプションをご覧ください。カスタム オプションを選択するには、表示オプションをカスタマイズするをご覧ください。
表示オプションをカスタマイズする
トラフィック フローの具体的詳細を表示するには、表示オプションをカスタマイズします。選択可能な各種表示オプションの詳細については、表示オプションをご覧ください。
コンソール
- クエリをビルドします。
- ログバケットを選択します。_Default ログバケットを使用する場合は、この手順をスキップできます。
- クエリの期間を設定するには、期間セレクタを使用するか、[選択した期間を再実行] を選択します。
- フィルタを選択します。
- 結果を整理するフィールドを選択します。
- クエリを実行します。
- 指標タイプ([送信バイト数] または [送信されたパケット数])を選択します。
指標の集計オプションを選択します。
指標として [送信バイト数] を選択した場合は、次のいずれかのオプションを選択します。
- 総トラフィック: 選択した期間の総トラフィック。デフォルトで有効になっています。
- トラフィック レートの平均値: 選択した期間のトラフィック レートの平均値。トラフィックが観測されたアライメント期間に対してのみ計算されます。
- トラフィック レートの中央値: 選択した期間のトラフィック レートの中央値。トラフィックが観測されたアライメント期間に対してのみ計算されます。
- P95 トラフィック レート: 選択した期間の トラフィック レート の 95 パーセンタイル値。トラフィックが観測されたアライメント期間に対してのみ計算されます。
- トラフィック レートの最大値: 選択した期間のトラフィック レートの最大値。
指標として [送信されたパケット数] を選択した場合は、次のいずれかのオプションを選択します。
- パケットの集計: 選択した期間のパケットの集計数。デフォルトで有効になっています。
- パケット率の平均値: 選択した期間におけるパケット率の平均値。トラフィックが観測されたアライメント期間に対してのみ計算されます。
- パケット率の中央値: 選択した期間におけるパケット率の中央値。トラフィックが観測されたアライメント期間に対してのみ計算されます。
- P95 パケット率: 選択した期間におけるパケット率の 95 パーセンタイル値。トラフィックが観測されたアライメント期間に対してのみ計算されます。
- パケットレートの最大値: 選択した期間のパケットレートの最大値。
さまざまな指標の集計オプションの詳細については、指標の集計をご覧ください。
アライメント期間を選択します。アライメント期間の詳細については、アライメント期間をご覧ください。
サンプリング ポイントを選択します。
- 送信元エンドポイント: フローの送信元エンドポイントで報告された送信バイト数または送信パケット数。
- 宛先エンドポイント: フローの宛先エンドポイントで報告された送信バイト数または送信パケット数。
- 送信元エンドポイントと宛先エンドポイントの合計: フローの両方のエンドポイントで報告された送信バイト数または送信パケット数の合計。
- 送信元エンドポイントと宛先エンドポイントの平均: VPC Flow Logs で送信元と宛先の両方の詳細が利用可能な場合、フローの両方のエンドポイントで報告された送信バイト数または送信パケット数の平均。
詳細については、サンプリング ポイントをご覧ください。
フローの詳細を表示する
データフロー テーブルで選択したフローの詳細を表示するには、次の操作を行います。
コンソール
- クエリをビルドします。
- ログバケットを選択します。_Default ログバケットを使用する場合は、この手順をスキップできます。
- クエリの期間を設定するには、期間セレクタを使用するか、[選択した期間を再実行] を選択します。
- フィルタを選択します。
- 結果を整理するフィールドを選択します。
- クエリを実行します。
- [すべてのデータフロー] テーブルで、任意のフローの [詳細] をクリックします。表示された [フロー詳細] ページには、選択したフィルタに一致するすべてのリソースと、これらのリソースのトラフィックが表示されます。
トラフィック フローをドリルダウンする
選択したリソースのトラフィックについて、さらに絞り込むことができます。Flow Analyzer を使用すると、VPC フローログで使用可能な残りのフィールドを使用して、クエリ結果にドリルダウンできます。詳細については、フローの詳細を表示するをご覧ください。
他のフィールドを使用してトラフィック フローをドリルダウンする手順は次のとおりです。
コンソール
- クエリをビルドします。
- ログバケットを選択します。_Default ログバケットを使用する場合は、この手順をスキップできます。
- クエリの期間を設定するには、期間セレクタを使用するか、[選択した期間を再実行] を選択します。
- フィルタを選択します。
- 結果を整理するフィールドを選択します。
- クエリを実行します。
[すべてのデータフロー] テーブルで、任意のフローの [詳細] をクリックします。
表示された [フロー詳細] ページには、選択したフィルタに一致するすべてのリソースと、これらのリソースのトラフィックが表示されます。
[ドリルダウン] リストで、ドリルダウンするフィールドを選択します。
過去のトラフィックと比較するには、[過去と比較] 切り替えボタンをクリックします。この機能を使用すると、6 本の線を表示できます。ドリルダウンからの上位 3 つのトラフィック フローを表す 3 本の実線と、過去のトラフィックを表す対応する色の 3 本の破線です。