Google ACE: VPC ネットワーキング、接続性、トラフィック管理 — 学習ガイド
こちらの一部です: Google Associate Cloud Engineer — 学習ガイド. 検証済みの解答で練習: Google試験ハブ, または時間制限付き模擬試験に挑戦: ExamRoll.io.
概要
Google CloudのVirtual Private Cloud (VPC) ネットワーキングは、アドレッシング、ルーティング、セキュリティ、トラフィック管理をきめ細かく制御できる、ソフトウェア定義のグローバルなネットワークプリミティブを提供します。このセクションでは、Google Cloudサービス、オンプレミス環境、パブリックインターネットを相互接続する、回復力があり、安全で、可観測性の高いネットワークを構築するために使用する、実践的な設計と運用のトピックに焦点を当てます。
VPCのコアアーキテクチャとIPプランニング
VPCネットワークとサブネット
- VPCはグローバルリソースです。そのサブネットはリージョナルであり、ゾーンをまたがることができます。リージョン内のどのゾーンのインスタンスもサブネットを使用できます。
- 本番環境ではカスタムモードVPCを使用してください。自動モードでは、事前定義されたCIDR範囲のセットを使用してリージョンごとに1つのサブネットが事前に作成されるため、IPの重複制約、アドレス空間の無駄、拡張時のリファクタリングの苦痛につながる可能性があります。
- サブネットのセカンダリIP範囲により、GKEのPod/Service IPやVMのエイリアスIPが利用可能になります。IPアドレスの再割り当てを避けるために、プライマリとセカンダリのCIDRを事前に計画してください。
IPアドレスプランニング
- 現在および将来接続する可能性のあるすべてのVPCとオンプレミスネットワーク用に、重複しないRFC1918スペースを選択してください。将来のリージョンやサービスのために拡張用のブロックを予約しておきます。
- 成長を見越してサブネットを適切なサイズ(例: /24から/20)にし、ACLや診断を複雑にする過度に大きな範囲は避けてください。
- IPの使用状況を文書化します。ワークロード用のプライマリ範囲、GKE用のセカンダリ範囲、NATプールやサービスエンドポイント用に予約されたブロックなどです。
例
undefined
undefined
ルーティング、ファイアウォール、ポリシー階層
ルートと動_的ルーティングモード
- 各VPCには、システムが生成したサブネットルート、デフォルトルート、カスタムの静的または動的ルートで構成されるルーティングテーブルがあります。
- 動的ルーティングモード:
- リージョナル: Cloud Router経由で学習された動的(BGP)ルートは、同じリージョン内のリソースのみが使用できます。
- グローバル: 動的ルートは、VPCのすべてのリージョン内のリソースが使用できます。複数のリージョンからオンプレミスに到達する必要があるハイブリッドネットワークでは、グローバルを推奨します。
- ネクストホップ: デフォルトインターネットゲートウェイ(0.0.0.0/0)、VPNトンネル、Cloud Router(BGP)、インスタンス(ルーティングアプライアンス)、または仮想アプライアンス用の内部ロードバランサーのネクストホップ。
- ルートの優先度: 小さい数値ほど優先されます。優先度の設定を誤ると、トラフィックがブラックホール化したり、意図しないネクストホップに漏洩したりする可能性があります。明確な規約(例: デフォルトの egress に1000、より具体的なルートに900)を使用してください。
ファイアウォールの階層
- VPCファイアウォールルールはステートフルであり、パケット転送の前に評価されます。これらはVPCレベルに存在し、すべてのサブネットに適用されます。
- 階層型ファイアウォールポリシー(組織、フォルダ、またはプロジェクトへのアタッチ)は、VPCルールより先に許可/拒否を強制します。これらを使用して、中央集権的なガードレール(例: インターネットに公開された管理ポートの拒否)を実装します。
- 暗黙のルール: 最も低い優先度で、暗黙の egress 許可と暗黙の ingress 拒否が存在します。これらは削除できません。すべての接続には、明示的な ingress 許可が必要です。
ファイアウォールルール、タグ、サービスアカウント、セキュアタグ
- ターゲティング: ネットワークタグまたはサービスアカウントを使用して、特定のVMにルールを適用します。サービスアカウントによるターゲティングは、より厳密なアイデンティティベースの制御を提供します。
- セキュアタグは、ポリシーのターゲティング用に、IAMで保護された中央管理型のラベルを提供します。これにより、ワークロードによる自己アタッチが防止され、ゼロトラストセグメンテーションがサポートされます。
- ロギング: 可視性とコストのバランスを取るために、価値の高いルールに対して選択的にファイアウォールロギングを有効にします。完全なペイロードではなく、パケットをサンプリングします。
- 一般的な障害モード: ヘルスチェックのソース範囲の欠落、応答パケットのドロップを引き起こす非対称ルーティング、意図しない公開を引き起こす過度に広範なソース範囲。
例
undefined
ロードバランシング、IP、DNS、トラフィック管理
Cloud Load Balancing のタイプと動作
- グローバルプロキシベース: External HTTP(S), External TCP Proxy, External SSL Proxy。Google のエッジでクライアント接続を終端し、エニーキャストのグローバル VIP をサポートし、ヘッダー (例: X-Forwarded-For) を挿入します。元のクライアント IP は、L3 ソースとして保持されるのではなく、ヘッダーまたは PROXY プロトコル (TCP の場合) を介して利用できます。
- リージョンパススルー: External Network Load Balancer と Internal TCP/UDP Load Balancer は L4 でトラフィックをルーティングし、クライアント IP を保持します。PROXY プロトコルなしでバックエンドでの送信元 IP の可視性が必要な場合に使用します。
- Internal HTTP(S) Load Balancer: 高度なルーティングと mTLS オプションを備えた、内部サービス向けのリージョン L7 プロキシ。
バックエンドサービス、ヘルスチェック、トラフィックポリシー
- バックエンドサービスは、バックエンド (インスタンスグループ、NEG/VM/Endpoint、GKE サービス)、バランシングモード (UTILIZATION または RATE)、容量制限、セッションアフィニティ、コネクションドレインを定義します。
- ヘルスチェックは、Google のヘルスチェッカーからの通信をファイアウォールで許可する必要があります。異常なバックエンドは自動的に削除されます。ヘルスチェックの設定ミスは、完全な停止を引き起こす可能性があります。
- トラフィックポリシーには、ロケーション (リージョン/ゾーン)、オーバーフローおよびフェイルオーバーバックエンド、一部の LB タイプでの段階的なロールアウトのための加重トラフィックスプリッティングが含まれます。
外部 IP と内部 IP、転送ルール
- 外部アドレスと内部アドレスは、エフェメラルまたは予約済みの静的アドレスにすることができます。グローバル静的外部アドレスはグローバル LB で使用されます。その他ほとんどはリージョン単位です。
- 転送ルールは、IP:port をターゲット (例: targetHttpProxy またはバックエンドサービス) にマッピングします。LB のタイプに合わせてグローバルルールかリージョンルールかを選択します。不一致があると作成できません。
Cloud DNS
- ゾーン: パブリックゾーンはパブリックインターネットで解決されます。プライベートゾーンは、承認された VPC からのみ解決可能です。マネージドレコード (A/AAAA, CNAME, TXT, MX, SRV など) を使用します。
- スプリットホライズン: 同じドメインに対してパブリックゾーンとプライベートゾーンの両方を作成し、内部リゾルバがプライベートな応答 (例: ILB の IP) を受け取る一方、パブリックユーザーはインターネット向けの IP を取得するようにします。
- プライベート DNS 転送: Cloud DNS ポリシーを使用してインバウンドおよびアウトバウンド転送を行い、オンプレミスのリゾルバと統合します。VPC 間の DNS ピアリングを使用して、完全なピアリング接続なしでプライベートゾーンを共有します。
例
- gcloud compute forwarding-rules create web-ilb –region=us-central1 –load-balancing-scheme=INTERNAL_MANAGED –ports=80 –backend-service=web-be
ハイブリッドおよびプライベート接続
Cloud Router、Cloud NAT、Private Google Access
- Cloud Router は BGP を介してオンプレミスとルートを交換し、VPC サブネットをアドバタイズし、オンプレミスのプレフィックスをインポートします。複数のリージョンがオンプレミスへの到達可能性を必要とする場合は、グローバル動的ルーティングを使用します。
- Cloud NAT は、外部 IP を持たないプライベート VM や GKE ノードにインターネットへの下り (Egress) を提供します。ポート枯渇を避けるために NAT IP プールのサイズを適切に設定し、ログでドロップされた接続を監視し、それに応じてアドレスをスケールします。
- Private Google Access (PGA) を使用すると、プライベート VM はデフォルトのルーティングパスを介して、外部 IP なしで Google API にアクセスできます。Google API 向けの Private Service Connect (PSC) は、VPC 内にポリシー制御付きのプライベート IP エンドポイントを提供し、パブリックな下り (Egress) を完全に回避します。より厳格な下り制御と一貫した DNS のためには、PSC エンドポイントを優先します。
Private Service Connect (プロデューサーサービスとコンシューマーサービス)
- プロデューサープロジェクトのサービスアタッチメントの背後で内部サービスを公開し、コンシューマープロジェクトのプライベートエンドポイントを介して利用します。DNS マッピングと明示的な許可ポリシーでアクセスを制御します。これにより、VPC Peering と比較して分離性が向上し、サービス公開を一元化できます。
VPC Network Peering、Shared VPC、セグメンテーション
- VPC Peering は、VPC 間に低レイテンシのプライベート接続を提供します。これは非推移的であり、IP の重複を許可しません。カスタムルートのオプションのインポート/エクスポートは到達可能性を拡張しますが、それでも推移的なルーティングは作成されません。ハブアンドスポークは意図的に計画してください。
- Shared VPC は、ホストプロジェクトにサブネットを一元化し、サービスプロジェクトが使用できるようにします。これにより、アプリケーションごとの IAM を委任しつつ、ルーティング、ファイアウォール、NAT、LB を一元管理できます。セグメンテーションのために、階層型ファイアウォールとセキュアタグと組み合わせます。
- Network Connectivity Center (NCC) は、スポーク (VPN, Interconnect, ルーターアプライアンス, VPC スポーク) をオーケストレーションし、エンタープライズ WAN トポロジーを一貫して管理するためのハブを提供します。
Cloud VPN、Cloud Interconnect、BGP
- Cloud VPN: 可用性と自動ルートフェイルオーバーのために、動的ルーティング (BGP) を使用した HA VPN を利用します。可能であれば、独立した Cloud VPN インターフェースと、別々のオンプレミスデバイス/リンクを介して、ピアごとに 2 つのトンネルを構築します。
- Cloud Interconnect: Dedicated Interconnect はプライベートな 10–100 Gbps のリンクを提供します。Partner Interconnect はサービスプロバイダーを使用します。回復力のため、多様なエッジアベイラビリティドメインに冗長なインターコネクトをデプロイし、サポートされている場合は BGP と共に BFD を使用します。
- 障害ドメイン: リージョン、ゾーン、デバイス、プロバイダーによって分離します。フェイルオーバーを定期的にテストしてください。非対称パスは、オンプレミスのステートフルファイアウォールを破壊する可能性があります。
例
- gcloud compute routers create corp-router –region=us-central1 –network=prod-net –asn=64514
- gcloud compute routers nats create nat-us-central1 –router=corp-router –nat-all-subnet-ip-ranges –auto-allocate-nat-external-ips
- gcloud compute vpn-gateways create ha-gw –region=us-central1 –network=prod-net
可観測性とトラブルシューティング
- 接続テスト
- VPC間、オンプレミス(ハイブリッドリンク経由)、ロードバランサー間のソースとデスティネーションの到達可能性をシミュレートおよび検証します。このツールは、本番環境の変更前に、ルート、ファイアウォールルール、設定を評価して、トラフィックのドロップや誤ったルーティングを特定します。
- 例:
undefined
VPCフローログ
- サブネットレベルで有効にすることで、5タプルフロー、バイト数、ドロップ、レイテンシに関するリアルタイムのインサイトを得られます。分析のためにCloud Logging、Pub/Sub、またはBigQueryにエクスポートします。サンプリングとメタデータのレベルを調整してコストを管理します。
- ユースケース: ファイアウォールの有効性の検証、データ漏洩の検出、キャパシティプランニング、SLOモニタリング。
パケットミラーリング
- ディープパケットインスペクションやIDSのために、VMやGKEのトラフィックをコレクターエンドポイントにミラーリングします。ミラーリングのスコープは、サブネット、タグ、またはインスタンス単位で指定します。パフォーマンスのオーバーヘッドを理解し、コレクターがミラーリングされたトラフィック量を処理できることを確認してください。元のヘッダーが必要な場合は、NAT後のトラフィックのミラーリングを避けてください。
一般的な診断パターン
- ブラックホール: ルートは存在するが、応答パスがファイアウォールや非対称ルーティングによってブロックされている状態。接続テストと両側のフローログで検証します。
- ヘルスチェックの失敗: ファイアウォールがヘルスチェッカーからのトラフィックを許可し、バックエンドが正しいポートでリッスンしていることを確認します。同じサブネット内のVMからローカルでテストします。
- NAT枯渇: 「no available NAT ports」という理由で拒否されたフローを探します。NAT IPを追加するか、VMごとのポート上限を減らします。
実践的な問題シナリオ
Acme Retailは、プライベートバックエンド、パブリックなWebエントリ、オンプレミスのERPを持つマルチリージョンのeコマースプラットフォームを運営しています。彼らは、ワークロードをセグメント化し、Google APIへのプライベートな下り(egress)を提供し、すべてのリージョンからのハイブリッド接続を可能にし、可観測性を維持しながらセキュリティを強化する必要があります。
- 中央集権的な管理のためにカスタムモードの共有VPCを作成
undefined
- 理由: カスタムモードは自動割り当てされるCIDRを避け、計画的なIPプランニングを可能にします。共有VPCは、ホストプロジェクトでルーティング、ファイアウォール、NATを集中管理しつつ、サービスプロジェクトが安全にデプロイできるようにします。
- GKE用のセカンダリレンジを持つサブネットを計画・作成
undefined
- 理由: 重複しないプライマリおよびセカンダリレンジは、将来のピアリングの競合を防ぎ、IP枯渇なしにGKEのエイリアスIPを可能にします。
- VPCの動的ルーティングをグローバルに設定し、Cloud Routerをデプロイ
undefined
undefined
- 理由: グローバルモードにより、BGPで学習したオンプレミスルートがすべてのリージョンから利用可能になり、ハイブリッド接続とフェイルオーバーが簡素化されます。
- オンプレミスへのHA VPNを確立し、サブネットをアドバタイズ
- 異なるオンプレミスデバイス間に2つのHA VPNトンネルを作成します。BGPを使用してプレフィックスを交換し、グレースフルなフェイルオーバーを可能にします。
- 理由: デュアルトンネルは単一障害点を取り除きます。BGPはメンテナンスや障害時にルートを迅速に収束させます。
- プライベートな下り(egress)用にCloud NATを、Google API用にPSCをデプロイ
undefined
- Google API用のPrivate Service Connectエンドポイントを作成し、プライベートDNSを更新してAPIエンドポイントをPSCにマッピングします。
- 理由: NATは外部VM IPなしでインターネットへの下り(egress)を可能にします。PSCはAPIトラフィックをプライベートIP上に保持し、明示的なポリシー制御下に置くことで、パブリックな下りパスを排除します。
- フロントエンドにはグローバル外部HTTP(S)ロードバランサを、内部サービスには内部HTTP(S)ロードバランサを使用
- マネージド証明書とNEGバックエンドを指すバックエンドサービスを持つグローバル外部HTTP(S) LBを作成します。
- マイクロサービス間のmTLSを使用したサービス間トラフィックのために、リージョン内部HTTP(S) LBを作成します。
- 理由: グローバルプロキシLBはエニーキャスト、オートスケーリング、CDNを提供します。内部L7 LBは、東西(east-west)トラフィックに対して豊富なルーティングとセキュリティを提供します。
- 階層型ファイアウォールポリシーとワークロードIDターゲティングを実装
- インターネットからの管理ポートを拒否する組織レベルのポリシーをアタッチし、LBのヘルスチェックソースのみを許可します。
- 階層間の最小権限アクセスを実現するために、サービスアカウントをターゲットとするVPCルールを作成します。動的なセグメンテーションにはセキュアタグを使用します。
- 理由: 階層構造はガードレールを中央で強制します。IDベースのターゲティングはタグのなりすましに強く、自動化を簡素化します。
- スプリットホライズンと転送を使用してCloud DNSを設定
- Web VIP用にパブリックゾーンacme.comを作成し、ILBにマッピングされる内部サービス名用にプライベートゾーンacme.comを作成します。
- オンプレミスDNSへのアウトバウンド転送と、オンプレミスがプライベートゾーンを解決するためのインバウンドを設定します。
- 理由: スプリットホライズンはデータ漏洩を防ぎ、ソースネットワークに基づいて正しい名前解決を保証します。転送はレガシーな名前空間を統合します。
- 可視性のために接続テスト、フローログ、パケットミラーリングを使用
- クリティカルパス(ユーザーからWeb LB、Webから内部サービス、サービスからオンプレミスERP)のテストを作成します。
- サブネットでフローログを有効にし、トレンド分析のためにBigQueryにエクスポートします。インシデント対応中は一時的にパケットミラーリングを有効にします。
- 理由: プロアクティブな検証とテレメトリはMTTRを短縮し、設定ミスを明らかにし、キャパシティに関するインサイトを提供します。
- 障害シナリオを文書化し、テストする
- VPNトンネル、リージョン、バックエンドMIGの喪失をシミュレートします。BGPのフェイルオーバー、LBのヘルスチェックによる切り離し、DNSの正しさを検証します。
- 理由: 定期的なゲームデイは、冗長性に関する仮定を確認し、障害を引き起こす前に設定のドリフトを明らかにします。
← コンテナ、アプリケーションホスティング、サーバーレスプラットフォーム · すべてのドメイン · ストレージ、データベース、データサービス →
これらの問題を練習する → · ExamRoll.ioで時間制限付き練習 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
試験に合格する →