Photo by T.Dallas from Shutterstock
今日のデジタル環境において、クラウドコンピューティングはビジネスやアプリケーションを支える中核的な存在です。だからこそ、ネットワーク構成の堅牢性と信頼性がこれまで以上に問われます。
Google Cloud Platform(GCP)には、複雑なネットワークインフラを構築・運用するためのサービスや機能が数多く揃っており、企業はスムーズにスケールやイノベーションを進められます。一方で、強力な機能ほど扱いには責任が伴います。GCPネットワークが正しく安全に構成されているかどうかを確認することは、欠かせない取り組みです。
たとえば、GCPのVirtual Private Cloud(VPC)におけるわずかな設定ミスが、セキュリティの脆弱性、ネットワークのボトルネック、不要なコスト増を招くケースを想像してみてください。問題が顕在化してから対応するのでは、時間もコストも余計にかかります。
そこで役立つのが、事前のネットワーク分析とNetwork Analyzerのようなツールです。本記事では、GCPのNetwork Analyzerを活用し、ネットワーク設定ミスを先回りして検知する方法を解説します。
Network Analyzerとは
Network AnalyzerはNetwork Intelligence Centerの一機能で、Virtual Private Cloud(VPC)ネットワーク構成を自動的に監視し、意図せずデプロイされた設定ミスや非最適な設定を検出するフルマネージドサービスです。
ネットワークトポロジー、ファイアウォールルール、ルート、構成の依存関係、サービスやアプリケーションへの接続性に関するインサイトを提供します。ネットワーク障害を特定し、根本原因の情報や解決策の候補も提示します。
Network Analyzerは継続的に稼働し、ネットワーク構成のほぼリアルタイムな更新に応じて関連する分析を実行します。ネットワーク障害を検出した際は、直近の構成変更との関連を分析して根本原因の特定を試みます。可能な範囲で、修正方法に関する具体的な推奨事項も提示します。
Network Analyzerが提供するインサイト
Network Analyzerによる分析結果はインサイトと呼ばれ、現在は次の5つのカテゴリに分類されています。
- VPCネットワーク: IPアドレス、ルート、ファイアウォールルール、VPCピアリング、共有VPCに関する情報や問題など、VPCネットワークの基本的なセットアップと構成上の課題を扱います。
- ネットワークサービス: ヘルスチェックをブロックするファイアウォールルールや、バックエンドサービスがヘルスチェックとトラフィックで異なるポートを使用しているといった、ロードバランサー関連の問題を扱います。ベストプラクティスを示す参考情報のインサイトも提供します。
- Kubernetes Engine: GKEの動作や接続性に影響しうる、GKE関連のネットワーキング問題を扱います。GKE PodのIP使用率の分析や、GKEクラスタにおけるベストプラクティス実装を確認する各種チェックも実行します。
- ハイブリッド接続: Cloud VPN、Cloud Interconnect、Cloud Router、BGPピアリング、動的ルート、Network Connectivity Center(NCC)に関するハイブリッド接続関連の問題やベストプラクティス情報を一覧表示します。
- マネージドサービス: Googleのマネージドサービスとの接続性問題を一覧表示します。Network Analyzerは、同一ネットワーク・同一リージョン内のIPアドレスから、プライベートIPアドレスを持つCloud SQLインスタンスなどのマネージドサービスへの接続性問題の検出に対応しています。
アナライザーの一覧はこちらをご参照ください。GCPは本モジュールに新しいアナライザーを継続的に追加しています。
Network Analyzerを有効化する
Network Analyzerは新規プロジェクトで自動的に有効化されます。GKEオンプレミスからコントロールプレーンへの接続性インサイトの検出に必要なネットワーク構成の読み取りには、Network Management Service Agentロールが使われます。
これらのインサイトを検出するには、対象プロジェクトでNetwork Management API networkmanagement.googleapis.comを手動で有効化する必要があります。
Network Analyzerで複数プロジェクトを表示するには、まずメトリクススコープを作成してください。スコープを作成したら、監視したいプロジェクトを追加します。これにより、スコーピングプロジェクトと監視対象プロジェクトのデータを同時にモニタリングでき、重要な情報を一元的に把握できます。
ユーザー権限
- 単一プロジェクト: プロジェクトの分析結果にアクセスするには、
compute.networks.listとcompute.instances.listの権限を付与します。 - 複数プロジェクト: Cloud Monitoringのメトリクススコープを構成済みの場合は、スコーピングプロジェクトに
compute.networks.listとcompute.instances.listの権限を付与します。
料金
現在、Network Analyzerモジュールはすべてのユーザーに無償で提供されています。請求情報にモジュールのコストが表示される場合がありますが、実際に課金されることはありません。割引体系に変更がある場合は、適用の90日前に通知されます。
Network Analyzerを実際に使ってみる
Network Analyzerのインサイトは、Google Cloud ConsoleのNetwork Intelligence Center -> Network analyzerから確認できます。Recommender CLI / APIを使う方法もあります。
- 更新された情報がコンソールに反映されるまで、10〜20分ほどかかる場合があります。Updateをクリックすればインサイトの再生成を強制実行できます。

Network Analyzerサマリービューの例
- 表示オプションをクリックすると、インサイトの詳細を確認できます。インサイトの根本原因が示され、修正方法を示すドキュメントへのリンクも提供されます。
インサイトサマリーの例を以下のスクリーンショットに示します。

SQLインスタンスの接続性問題に関するインサイトサマリーの例

サブネットのIPアドレス割り当て率に関するインサイトサマリーの例
ロギングとアラート
Cloud LoggingにはNetwork Analyzerが発行したインサイトが保存されます。ログ名は次の形式です。
projects/{project-id}/logs/networkanalyzer.googleapis.com%2Fanalyzer_reports

Cloud LoggingにおけるNetwork Analyzerログの例
Network AnalyzerはCloud Monitoringへのメトリクス発行は行いませんが、ログクエリを使ってログベースのアラートを設定すれば、Network Analyzerが該当するインサイトを検出した際に通知を受け取れます。
特定のNetwork Analyzerインサイト向けのログクエリ例はログクエリを、アラート設定例はログベースアラートを参照してください。
Network Analyzerは、Google Cloud Platform(GCP)ネットワークを先回りして管理したい組織にとって、非常に有用なツールです。ネットワークの問題や設定ミスがビジネスに影響を及ぼす前に検出し、解決へとつなげられます。ロギングやモニタリングと組み合わせれば、リアルタイムのインサイトとアラートが得られ、潜在的な問題を常に把握しながら即座に対応できます。