VPC フローログ
VPC Flow Logs は、Virtual Private Cloud(VPC)ネットワーク内のパケットをサンプリングしてフローログを生成します。フローログは IP 接続(5 タプル)別に集計されます。VPC Flow Logs は、次のパケットをサンプリングします。
- 仮想マシン(VM)インスタンスによって送受信されたパケット(Google Kubernetes Engine ノードとして使用されるインスタンスを含む)
- Cloud Interconnect と Cloud VPN トンネルの VLAN アタッチメント経由で送信されたパケット
フローログは 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 フローログは、組織レベルとプロジェクト レベルで有効にできます。組織レベルの VPC Flow Logs 構成では、組織内のすべての VPC ネットワーク内のすべてのサブネット、VLAN アタッチメント、Cloud VPN トンネルのフローログが有効になります。
プロジェクト レベルでは、特定の VPC ネットワーク、サブネット、VLAN アタッチメント、Cloud VPN トンネルで VPC Flow Logs を有効にできます。
構成スコープ | これらのリソースのフローログを生成する | 有効にする手順 |
---|---|---|
組織 |
|
組織で VPC フローログを有効にする(プレビュー) |
VPC ネットワーク |
|
VPC ネットワークで VPC フローログを有効にする(プレビュー) |
サブネット | 特定のサブネット内のすべての VM インスタンス | サブネットの VPC Flow Logs を有効にします。 |
VLAN アタッチメント | 特定の VLAN アタッチメント | VLAN アタッチメントの VPC Flow Logs を有効にする |
Cloud VPN トンネル | 特定の Cloud VPN トンネル | Cloud VPN トンネルの VPC Flow Logs を有効にする |
フィルタリングを使用して、これらの構成スコープをカスタマイズできます。詳細については、ログのサンプリングと処理をご覧ください。
ログの収集
パケットは集計間隔内でサンプリングされます。特定の IP 接続について集計間隔内で収集されたすべてのパケットは、単一のフローログ エントリに集計されます。このデータは、フローを報告した VPC ネットワークのプロジェクトの Logging に送信されます。 Trusted Cloud
ログはデフォルトで 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 はすべてのパケットをキャプチャするわけではないため、キャプチャされたパケットから補完することで、欠落したパケットを補います。これは、初期構成とユーザーが構成可能なサンプリング設定が原因でパケットが欠落している場合に起こります。
Trusted Cloud ではすべてのパケットをキャプチャしませんが、ログレコードのキャプチャは非常に大きくなる可能性があります。ログ収集の以下の設定を調整すると、トラフィックの可視性と必要なストレージ費用のバランスをとることができます。
- 集計間隔: 一定の時間間隔でサンプリングされたパケットは、単一のログエントリに集計されます。この時間間隔は、5 秒(デフォルト)、30 秒、1 分、5 分、10 分、15 分から選択できます。
- セカンダリ サンプリング レート:
- Compute Engine API で作成された構成の場合、デフォルトではログエントリの 50% が保持されます。このパラメータは
1.0
(100%、すべてのログエントリを保持)から0.0
(0%、ログを保持しない)の範囲で設定できます。 - Network Management API で作成された構成の場合、デフォルトではログエントリの 100% が保持されます。このパラメータは、
1.0
から0.0
より大きい値の範囲で設定できます。
- Compute Engine API で作成された構成の場合、デフォルトではログエントリの 50% が保持されます。このパラメータは
- メタデータ アノテーション: デフォルトでは、フローログ エントリには、 Trusted Cloud 内の送信元と宛先の名前や、外部の送信元と宛先の地理的リージョンなどのメタデータ情報でアノテーションが付きます。保存容量を節約するためにメタデータ アノテーションをオフにすることも、特定のアノテーションのみを指定することもできます。
- フィルタリング: デフォルトでは、ログはサンプリングされたすべてのフローに対して生成されます。特定の条件に一致するログのみを生成するように、フィルタを設定できます。
仕様
- VPC Flow Logs を有効にしても、遅延やパフォーマンスの低下は発生しません。
- VPC フローログは、レガシー ネットワークではなく、VPC ネットワークで機能します。
- VPC Flow Logs では、TCP、UDP、ICMP、ESP、GRE フローがサンプリングされ、受信フローと送信フローの両方がサンプリングされます。これらのフローは、 Trusted Cloud 内または Trusted 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 リソースからは報告されません。
次のステップ
- VPC Flow Logs のレコード形式と使用可能なメタデータ アノテーションを確認する。VPC Flow Logs レコードについてをご覧ください。
- さまざまなユースケースで収集される VPC Flow Logs の例を確認する。トラフィック フローについてをご覧ください。
- サブネットのフローのレポートを開始する。VPC Flow Logs を構成するをご覧ください。