Network Intelligence Centerを徹底解説!

記事タイトルとURLをコピーする

G-gen の杉村です。Google Cloud (旧称 GCP) 上のネットワークに対する可視性を高めるためのツールである Network Intelligence Center を紹介します。

Network Intelligence Center とは

Network Intelligence Center は、Google Cloud におけるネットワークの可視性向上やトラブルシューティングのためのツール群です。主に Google Cloud コンソール上で利用します。

Network Intelligence Center は以下の5つのモジュール (機能) で構成されています。

No 名称 概要
1 接続テスト ネットワーク的な到達性をテスト
2 ネットワークトポロジ VPC や周辺のオンプレミスネットワークの構成を可視化
3 パフォーマンスダッシュボード ネットワーク基盤に起因するパフォーマンス情報を可視化
4 ファイアウォールインサイト ファイアウォールの不要なルール等を精査
5 ネットワークアナライザ ネットワーク周りの構成ミスや最適でない構成を検出

料金は各モジュールごとに異なります。

接続テスト

概要

接続テスト (Connectivity Test) はノード間の通信の到達性をテストできるツールです。Google Cloud でのパケット到達性のトラブルシューティングに活用できます。

テストの際に実際にパケットが送信されるのか、机上シミュレートだけなのかは、接続シナリオによって異なります。実際にパケットを送信して分析する機能はライブデータプレーン分析と呼ばれます。

接続元の VM 等と、接続先の VM 等を指定して実行することで、ファイアウォールの設定やルーティングの設定などを論理的に診断し、通信の可否を表示してくれます。通信が到達できない場合は、その理由 (どこでブロック / 破棄されているか) も確認できます。

接続テスト

分析の仕組み

ある VM が別の VM や、オンプレミスのノード等に到達するまで (あるいはその逆方向通信) には、VPC ネットワークピアリングや Cloud VPN などの経路や、VPC ルートテーブルや VPC ファイアウォールなどの通信制限を経由します。

接続テスト機能ではこういった様々な経路や通信制御機能を考慮に入れた検証が行われます。例えば VPC ファイアウォールで通信がブロックされている場合は、その旨を表示してくれます。

また通信プロトコルとして TCP、UDP、ICMP のほか AH、ESP なども指定できます。

以下のノード間の TCP および UDP 通信のテストは机上シミュレーションだけでなく、実際にトレースパケットを送信するライブデータプレーン分析が行われます。

  • VM インスタンス同士
  • VM インスタンスと Cloud SQL インスタンス間
  • VM インスタンスと Googlee ネットワークエッジロケーション間

テスト可能な通信

対応ノード

接続テスト機能は以下のノード間の通信をテストできます。

  • Compute Engine VM
  • App Engine (スタンダード)
  • Cloud Functions (第2世代は Cloud Run services としてテスト可能)
  • Cloud Run (services)
  • Cloud SQL インスタンス
  • Google Kubernetes Engine (GKE)
  • Cloud Load Balancing
  • Network Connectivity Center で接続されたオンプレミスノード
  • インターネット上の IP アドレス

反対に、以下はテストに対応していませんのでご注意ください。

  • Cloud Storage をバックエンドとする External Application Load Balancer
  • App Engine (フレキシブル)
  • Cloud Run (jobs)

対応しているネットワーク機能

接続テスト機能は Google Cloud の以下のネットワーク機能に対応しています。代表的なもののみをピックアップしていますので、詳細は公式ドキュメントをご参照ください。

  • Cloud VPN
  • Cloud Interconnect
  • Cloud Router
  • Network Connectivity Center
  • Cloud NAT
  • VPC ネットワークピアリング
  • 共有 VPC
  • 限定公開の Google アクセス (Private Google Access)
  • Private Service Connect
  • RFC 1918 アドレス範囲外のプライベート IP アドレス
  • VPC ファイアウォール ルール
  • 階層型ファイアウォールポリシー / グローバルネットワークファイアウォールポリシー

反対に、以下はテストに対応していませんのでご注意ください。

  • Cloud Armor はテスト時に考慮されない
  • GKE ネットワークポリシー はテスト時に考慮されない
  • セキュアタグは考慮されない (グローバルネットワークファイアウォールポリシーのテスト時)
  • リージョンネットワークファイアウォールポリシーは非対応

料金

ある月の中で実行されたテストの回数に対して課金されます。月間20回までは無料で、21回目からは1回あたり $0.15 の料金が発生します (単価は2023年10月現在)。

ネットワークトポロジ

概要

ネットワークトポロジ (Network Topology) は、Google Cloud の VPC を中心としたネットワーク構造とパフォーマンスを可視化するためのツールです。

Google Cloud 基盤からリアルタイムにデータを収集し、複数プロジェクトにまたがる構成も可視化できます。エージェント等は不要です。過去6週間の履歴が保存されます。

この機能により、ネットワーク構成をグラフィカルに把握できる他、ノード間のトラフィック量が表示されるため、パフォーマンス分析に活かすことも可能です。

ネットワークトポロジのグラフ表示

エンティティ

ネットワークトポロジ機能におけるエンティティとは、通常のネットワーク用語における「ノード」とほぼ同様です。ネットワーク通信を行うリソースの個々の単位を表します。エンティティはグラフ上に、特有のアイコンで表現されます。例として、以下のようなものがあります。

  • VM インスタンス
  • VM インスタンスグループ
  • ロードバランサ
  • Cloud NAT
  • VPC ネットワークピアリング
  • 国 (Country ... 通信先のインターネット上のノードの地域を示す)
  • Cloud Interconnect
  • Cloud VPN
  • オンプレミス (外部クラウドもこの表記)

アイコン画像の凡例はドキュメントをご参照ください。

データの鮮度

表示されるデータは、毎時0分を起点とする1時間ごとのスナップショットです。

Google Cloud コンソール上では、コントロールバーをスライドさせて特定の時刻のグラフを表示させます。

過去データは6週間分まで保存されます。

料金

ネットワークトポロジ機能の料金は、後述のパフォーマンスダッシュボードの料金とセットです。

ネットワークトポロジとパフォーマンスダッシュボードを有効化すると、VM 数に応じた料金 (2023年10月現在の単価は $0.0011/vm/hour) が発生することに加え、VM とインターネット間で通信が生じた場合は追加の料金 (同、$0.0008/vm/hour) が発生します。

VM が20台の場合、30日ある月では $0.0011 × 20台 × 24時間 × 30日 で $15.84/月 が発生し、これら全ての VM が常にインターネットと通信していたと仮定すると、追加で $0.0008 × 20台 × 24時間 × 30日 = $11.52/月 が発生します。

ただしネットワークトポロジ機能の料金は2023年10月現在、無償で利用できます。従来は「2023/09/30 までは課金がペンディング、2023/10/01 から実際に課金が発生」とアナウンスされていましたが、2023/10/06 現在ですと「現在は課金されない。課金開始の90日前には通知する」旨の記載となっています。

パフォーマンスダッシュボード

概要

パフォーマンスダッシュボード機能では、Google Cloud ネットワークのパフォーマンスを可視化できます。アプリケーション固有の問題と、Google Cloud ネットワーク基盤の問題を切り分けすることにも役立てることができます。

また収集されたデータは Cloud Monitoring にもエクスポートされます。データは過去6週間分まで保存されています。

パフォーマンスダッシュボードでは大きく分けてプロジェクトのパフォーマンスビューGoogle Cloud のパフォーマンスビューの2種類が閲覧可能です。

パフォーマンスダッシュボード

プロジェクトのパフォーマンスビュー

プロジェクトのパフォーマンスビューでは「VM インスタンス間のトラフィック」と「Google Cloud とインターネットロケーション間のトラフィック」の2種類のパフォーマンスが確認できます。

「VM インスタンス間のトラフィック」では、別々のゾーンにある Compute Engine VM 同士の通信におけるパケットロスとレイテンシの指標が表示可能です。

「Google Cloud とインターネットロケーション間のトラフィック」では、Compute Engine VM が存在するリージョンと、その VM が通信するインターネット上のノードの間のレイテンシが表示できます。

Google Cloud のパフォーマンスビュー

Google Cloud のパフォーマンスビューでは特定プロジェクトに依存しない、Google Cloud 全体としての指標が確認できます。

プロジェクトのパフォーマンスビューと同様に「VM インスタンス間のトラフィック」と「Google Cloud とインターネットロケーション間のトラフィック」の2種類のパフォーマンスが確認でき、プロジェクトで観測されたパフォーマンスとの比較が可能です。

ネットワーク関連のパフォーマンス低下が起こった際に、その問題がプロジェクト固有 (あるいは Google Cloud 物理基盤のごく一部) に発生した問題なのか、Google Cloud 基盤全体で発生している問題なのかの把握に役立ちます。

また、Google Cloud 上に新しいインフラを構築しようとしているときの設計にも役立ちます。予め、特定のリージョン間・ゾーン間の平均的なレイテンシを確認できるため、VM をわざわざ構築して検証しなくても、過去の実績に基づいた情報を確認できます。

ゾーン間のレイテンシの実績が分かる

確認可能な指標

各ビューでは指標 (メトリクス) としてパケットロスレイテンシが確認できます。

裏の仕組みとして、Google Cloud の VM をホストしている物理マシン上でワーカーが実行されており、このワーカー間で検査用パケットがやりとりされ、指標が計測されています。我々ユーザは、このワーカーやパケットを意識することはありませんし、VM のパフォーマンスに影響はありません。

料金

パフォーマンスダッシュボードの料金は前述のネットワークトポロジ機能とセットですので、前述の項を参照してください。

ファイアウォールインサイト

概要

ファイアウォールインサイトはファイアウォールルールの最適化と整理に役立つツールです。緩すぎるルールに対するサジェストや、逆に無駄なルールの削除の推奨などを表示します。バックエンドでは Recommender API が使われています。

当機能は、ファイアウォールが意図したとおりに使われていることを確認したり、あるいはルールへのヒット数へのスパイクを検知してアラート発報するなどの用途にも利用可能です。

当機能で観測可能な事項は主に「シャドウルール」「制限が過度に緩いルール」「ヒットのある Deny ルール」に大別できます。

このうち後者の2つはファイアウォールルールのログから情報を取得しています。そのためログが有効になっていないファイアウォールルールは検査対象になりません。

ファイアウォールインサイト

シャドウルール

シャドウルール (Shadowed rules) とは「より優先度の高い他のルールによってカバー済みのため存在している意味がないルール」を意味します。

例えば「10.10.0.0/16 からの tcp:80 パケットは許可 (優先度500)」というルールが存在するとします。同じ VPC に「10.10.0.0/24 からの tcp:80 パケットは許可 (優先度1000)」というルールがあるとします。後者のルールが適用されるようなパケットは前者のルールによって先に許可されるため、後者のルールが使われることはありません。このようなルールはシャドウルールと呼ばれます。

このようなルールは構成情報を分かりづらくし、適切な設計を阻害するため、削除することが望ましいです。

ファイアウォールインサイトでは VPC ファイアウォールルールとファイアウォールポリシーの両方でこのようなシャドウルールを検知することができます。

VPC ファイアウォールルールとファイアウォールポリシーの違いについては、以下の記事も参照してください。

blog.g-gen.co.jp

制限が過度に緩いルール

制限が過度に緩いルール (Overly permissive rules) とはファイアウォールルールのうち、利用実態から判断して過剰な許可条件が設定されており緩すぎると判断される許可ルール (allow rules) を指します。具体的には、以下のような許可ルールです。

名称 概要
ヒットのない許可ルール 観察期間中にヒットがなかった。今後ヒットの可能性があるかどうか機械学習での予測が表示される (同組織内の類似ルールから予測)
傾向分析に基づいて使用されていない許可ルール 過去6週間の使用傾向に基づいた機械学習により、今後の使用可能性が低いルールを表示
未使用の属性を含む許可ルール 観察期間中にヒットしなかった IP アドレスやポート範囲などの属性を含む許可ルールを表示
制限が過度に緩い IP アドレスまたはポート範囲を含む許可ルール 広すぎる IP アドレスまたはポート範囲が存在する可能性がある許可ルールを特定

このように、機械学習に基づいて不用意なルール設定がされている許可ルールを特定することにより、許可ルールの設定を最小限に抑える判断の補助に利用できます。ただしいずれも、検知にはファイアウォールルールでロギングがオンになっている必要があります。

VPC ファイアウォールのルールとファイアウォールポリシーのルールの両方が検査対象になります。

ヒットのある拒否ルール

ヒットのある拒否ルール (Deny rules with hits) では指定した観察期間中に deny ルールにどのくらいのパケットがヒットしたかを確認できます。

ネットワークの構成ミスや、意図的な攻撃による deny ヒットの急増などを検知することができます。

ただし検知にはファイアウォールルールでロギングがオンになっている必要があります。

料金

各検知事項ごとに料金が設定されています。以下は、いずれも2023年10月現在の単価です。最新情報は後述の参考ドキュメントをご確認ください。

シャドウルールの検知は、最初の検査ではプロジェクトに存在するファイアウォールルールあたり $1 が発生します。その後、追加の検査では $0.1/ルール の料金が発生します。

制限が過度に緩いルールの検査は、検査されたファイアウォールログのログエントリの数量に対して課金されます。1,000,000 〜 10,000,000,000 (1M〜10,000M) エントリまでは $0.20/百万ログエントリ/月 の料金が発生し、それ以上のログ量ではティア状に単価が安くなるように設定されています。

ヒットのある拒否ルールや、その他のファイアウォールインサイト関連のメトリクスは無料です。

なお、料金が発生するため、上記の各検知機能は個別にオン・オフができるようになっています。

ネットワークアナライザ

概要

ネットワークアナライザ とは、VPC ネットワークの構成ミスや最適でない構成を検出するためのツールです。

検知事項の重大度は重大>高>中>低として分類され、以下のカテゴリ分けがされます。

  • VPC ネットワーク
  • ネットワークサービス
  • Google Kubernetes Engine (GKE)
  • ハイブリッド接続
  • マネージドサービス

分析は、関連する設定が変更されることをトリガにして実行されることに加え、1日1回の定期分析も行われます。

ネットワークアナライザ

VPC ネットワーク

VPC ネットワーク関連の検知事項には、以下のようなものがあります。

  • 無効なネクストホップを含むルートに関する分析情報 (ネクストホップとなっていた VM 等が利用不可でルートが無効になっている)
  • IP アドレス使用状況の分析情報 (サブネット内の空き IP が残り少ない)
  • 未使用 IP アドレスの分析情報 (プロジェクトで 24 時間以上割り振られていない外部 IP アドレスがある)

ネットワークサービス

ネットワークサービス関連の検知事項には、以下のようなものがあります。

  • ロードバランサのヘルスチェック用のファイアウォールが構成されていない
  • ロードバランサのヘルスチェック用の IP アドレス範囲がブロックされている
  • ロードバランサで実トラフィックとヘルスチェックで異なるポートを使っている

Google Kubernetes Engine (GKE)

Google Kubernetes Engine (GKE) の検知事項には、以下のようなものがあります。

  • ルーティングの問題により、GKE ノードからコントロール プレーンへの接続がブロックされる
  • Pod に割り当てられたアドレス範囲の使用率が 80% を超えている
  • その他、GKE のネットワーク構成がベストプラクティスに従っていない

ハイブリッド接続

ハイブリッド接続の検知事項には、以下のようなものがあります。

  • Cloud Router や VPC ネットワークピリング経由で VPC が受け取った動的ルートが、より優先度の高い静的ルートやサブネットルートによりシャドウルート化してしまっている

マネージドサービス

マネージドサービスの検知事項には、以下のようなものがあります。

  • 下り(外向き)ファイアウォールによって Cloud SQL インスタンスへの接続がブロックされる
  • ルーティングの問題によって Cloud SQL インスタンスへの接続がブロックされる
  • Cloud SQL インスタンスへの接続に関する問題: インスタンスが実行されていない

料金

ネットワークアナライザの料金は、有効化したプロジェクト内で動作する Compute Engine VM 数 および Google Kubernetes Engine (GKE) ノード数に依存します。 2023年10月現在で、時間あたり $0.0011/VM の単価設定です。

ただしネットワークアナライザの料金は2023年10月現在、無償で利用できます。従来は「2023/09/30 までは課金がペンディング、2023/10/01 から実際に課金が発生」とアナウンスされていましたが、2023/10/06 現在ですと「現在は課金されない。課金開始の90日前には通知する」旨の記載となっています。

杉村 勇馬 (記事一覧)

執行役員 CTO / クラウドソリューション部 部長

元警察官という経歴を持つ現 IT エンジニア。クラウド管理・運用やネットワークに知見。AWS 12資格、Google Cloud認定資格11資格。X (旧 Twitter) では Google Cloud や AWS のアップデート情報をつぶやいています。