VPC Flow Logs
VPC Flow Logs には、VM インスタンス(Google Kubernetes Engine(GKE)ノードとして使用されるインスタンスを含む)によって送受信されたパケットと、Cloud Interconnect や Cloud VPN トンネルの VLAN アタッチメントを介して送信されたパケットのサンプルが記録されます(プレビュー)。
フローログは IP 接続(5 タプル)別に集計されます。これらのログは、ネットワーク モニタリング、フォレンジック、セキュリティ分析、費用の最適化に使用できます。
フローログは Cloud Logging で表示でき、Cloud Logging のエクスポート先としてサポートされている任意の宛先にエクスポートできます。
ユースケース
ネットワーク モニタリング
VPC Flow Logs を使用すると、ネットワークのスループットとパフォーマンスを把握できます。次のことが可能です。
- VPC ネットワークをモニタリングする
- ネットワーク診断を実行する
- VM、VLAN アタッチメント、Cloud VPN トンネルによりフローログをフィルタ処理して、トラフィックの変化を理解する
- トラフィックの増加を把握し、キャパシティの予測に役立てる
ネットワーク使用方法の理解とネットワーク トラフィック費用の最適化
VPC Flow Logs を使用すると、ネットワークの使用状況を分析して、ネットワーク トラフィック費用を最適化できます。たとえば、ネットワーク フローを分析して次のことを把握できます。
- リージョンとゾーンの間のトラフィック
- インターネットでの特定の国へのトラフィック
- オンプレミスおよび他のクラウド ネットワークへのトラフィック
- ネットワーク内のトップトーカー(VM、VLAN アタッチメント、Cloud VPN トンネルなど)
ネットワーク フォレンジック
VPC Flow Logs をネットワーク フォレンジックに利用できます。たとえば、インシデントが発生した場合、以下を調べることができます。
- どの IP が、いつ、どの相手と情報をやり取りしたか
- 不正使用された IP(すべての受信と送信のネットワーク フローを分析して調査)
仕様
- VPC Flow Logs は、VPC ネットワークを強化するソフトウェアである Andromeda の一部です。VPC Flow Logs を有効にしても、遅延やパフォーマンスの低下は発生しません。
- VPC Flow Logs は、レガシー ネットワークではなく、VPC ネットワークで機能します。VPC Flow Logs は、サブネット、Cloud Interconnect の VLAN アタッチメント(プレビュー)、Cloud VPN トンネル(プレビュー)ごとに有効または無効にします。サブネットに対して有効にすると、VPC Flow Logs はそのサブネット内のすべての VM インスタンス(GKE ノードを含む)からデータを収集します。
- VPC Flow Logs では、TCP、UDP、ICMP、ESP、GRE フローがサンプリングされ、受信フローと送信フローの両方がサンプリングされます。これらのフローは、Google Cloud 内または Google Cloud と他のネットワーク間のいずれでもかまいません。フローがサンプリングによってキャプチャされると、VPC Flow Logs がフロー用のログを生成します。各フローレコードには、レコードの形式セクションで説明されている情報が含まれます。
- VPC Flow Logs は、次の方法でファイアウォール ルールとやり取りします。
- 下り(外向き)のパケットは、下り(外向き)ファイアウォール ルールの前にサンプリングされます。下り(外向き)ファイアウォール ルールによってアウトバウンド パケットが拒否されていても、これらのパケットは VPC Flow Logs でサンプリングできます。
- 上り(内向き)パケットは、上り(内向き)ファイアウォールルールの後にサンプリングされます。上り(内向き)ファイアウォール ルールによってインバウンド パケットが拒否された場合、それらのパケットは VPC Flow Logs でサンプリングされません。
- VPC Flow Logs のフィルタを使用して、特定のログのみを生成できます。
- VPC Flow Logs は、複数のネットワーク インターフェースを持つ VM をサポートします。ネットワーク インターフェースを含む各 VPC のサブネットごとに VPC Flow Logs を有効にする必要があります。
- 同じ GKE ノード上の Pod 間のフローをログに記録するには、クラスタのノード内の可視化を有効にする必要があります。
- VPC Flow Logs は、Cloud Run リソースからは報告されません。
ログの収集
パケットは集計間隔内でサンプリングされます。特定の IP 接続について集計間隔内で収集されたすべてのパケットは、単一のフローログ エントリに集計されます。このデータは Logging に送信されます。
ログはデフォルトで 30 日間 Logging に保存されます。それより長く保持するには、カスタム保持期間を設定するか、サポートされている保存先にログをエクスポートします。
ログのサンプリングと処理
フローログを生成するために、VPC Flow Logs は VM で送受信されたパケット、または VLAN アタッチメントや Cloud VPN トンネルなどのゲートウェイを通過するパケットをサンプリングします。生成されたフローログは、VPC Flow Logs によって、このセクションで説明する手順に従って処理されます。
VPC Flow Logs は、プライマリ サンプリング レートを使用してパケットをサンプリングします。プライマリ サンプリング レートは動的で、サンプリング時に VM またはゲートウェイを実行している物理ホストの負荷によって異なります。単一の IP 接続をサンプリングする確率は、パケットの量とともに上昇します。プライマリ フローログのサンプリング プロセスの制御や、プライマリ サンプリング レートの調整を行うことはできません。
生成されたフローログは、VPC Flow Logs によって、次の手順に従って処理されます。
- フィルタリング: 指定した条件に一致するログのみを生成するように指定できます。たとえば、特定の VM のログのみ、または特定のメタデータ値を持つログのみが生成され、残りは破棄されるようにフィルタリングできます。詳細については、ログのフィルタリングをご覧ください。
- 集計: サンプリングされたパケットの情報が、ユーザーが構成可能な集計間隔にわたってで集計され、フローログ エントリが生成されます。
- セカンダリ フローログのサンプリング: これは 2 番目のサンプリング処理です。ユーザーが構成可能なセカンダリ サンプリング レートのパラメータに従って、フローログのエントリがさらにサンプリングされます。セカンダリ サンプリングは、プライマリ フローログ サンプリング プロセスによって生成されたフローログに対して実行されます。たとえば、セカンダリ サンプリング レートが 1.0(100%)に設定されている場合、VPC Flow Logs は、プライマリ フローログのサンプリングで生成されたフローログの 100% をサンプリングします。
- メタデータ: 無効にすると、すべてのメタデータ アノテーションが破棄されます。メタデータを保持する場合は、すべてのフィールドまたは指定したフィールド セットが保持されるように指定できます。詳細については、メタデータのアノテーションをご覧ください。
- Logging への書き込み: 最終的なログエントリが Cloud Logging に書き込まれます。
VPC Flow Logs はすべてのパケットをキャプチャするわけではないため、キャプチャされたパケットから補完することで、欠落したパケットを補います。これは、初期構成とユーザーが構成可能なサンプリング設定が原因でパケットが欠落している場合に起こります。
Google Cloud ではすべてのパケットをキャプチャしませんが、ログレコードのキャプチャは非常に大きくなる可能性があります。ログ収集の以下の設定を調整すると、トラフィックの可視性と必要なストレージ費用のバランスをとることができます。
- 集計間隔: 一定の時間間隔でサンプリングされたパケットは、単一のログエントリに集計されます。この時間間隔は、5 秒(デフォルト)、30 秒、1 分、5 分、10 分、15 分から選択できます。
- セカンダリ サンプリング レート:
- VM の場合、デフォルトではログエントリの 50% が保持されます。このパラメータは
1.0
(100%、すべてのログエントリを保持)から0.0
(0%、ログを保持しない)の範囲で設定できます。 - VLAN アタッチメントと Cloud VPN トンネルの場合、デフォルトではログエントリの 100% が保持されます。このパラメータは、
1.0
から0.0
より大きい値の範囲で設定できます。
- VM の場合、デフォルトではログエントリの 50% が保持されます。このパラメータは
- メタデータ アノテーション: デフォルトでは、フローログ エントリには、Google Cloud 内のソースと宛先の名前や、外部のソースと宛先の地理的リージョンなどのメタデータ情報を含むアノテーションが追加されます。保存容量を節約するためにメタデータ アノテーションをオフにすることも、特定のアノテーションのみを指定することもできます。
- フィルタリング: デフォルトでは、ログはサンプリングされたすべてのフローに対して生成されます。特定の条件に一致するログのみを生成するように、フィルタを設定できます。
料金
Logging、BigQuery、または Pub/Sub の標準料金が適用されます。VPC Flow Logs の料金については、ネットワーク テレメトリーの料金をご覧ください。
次のステップ
- VPC Flow Logs のレコード形式と使用可能なメタデータ アノテーションを確認する。VPC Flow Logs レコードについてをご覧ください。
- さまざまなユースケースで収集される VPC Flow Logs の例を確認する。トラフィック フローについてをご覧ください。
- サブネットのフローのレポートを開始する。VPC Flow Logs を構成するをご覧ください。