Google CloudのVPC基本機能を学ぶ!VPC・サブネット・NAT・ピアリング・AWSとの違い

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

G-genの小林です。当記事では、Google Cloud(旧称 GCP)の VPC の基本機能をご紹介します。

はじめに

Virtual Private Cloud(VPC)は、仮想ネットワークを構築するためのサービスです。Google Cloud の Compute Engine や Google Kubernetes Engine(GKE)といったサービスを使う上で重要です。VPC に所属するサービスをセキュアに使用するためには、VPC の設計が非常に重要になりますので、基本的な VPC の機能を覚えていきましょう!

また当記事では、Google Cloud と Amazon Web Services(以下、AWS)で類似の機能を並べて紹介します。AWSの VPC は知っているけど、Google Cloud の VPC がわからないという方は是非、参考にしてください。

VPC ネットワークとサブネット

VPC ネットワーク

VPC ネットワークは、プライベートな仮想ネットワークです。作成された個々のネットワークのことを指し、単にネットワークと呼ばれることもあります。

Google Cloud の VPC ネットワークの最大の特徴は、複数のリージョンをまたいだグローバルリソースである点です。AWS の VPC は、単一のリージョンに作成するリージョンリソースですが、Google Cloud の VPC ネットワークは、Google Cloud が提供するすべてのリージョンにまたがります。

また AWS では VPC 作成時に IP アドレス範囲を CIDR 形式で指定しますが、Google Cloud では VPC ネットワークは IP アドレス範囲を持ちません。VPC ネットワークの配下に作成されるサブネットが IP アドレス範囲を持ちます。

サブネット

VPC ネットワークの配下には、Compute Engine VM 等のリソースを配置するネットワーク単位であるサブネットを作成します。サブネットは、単一リージョン内に作成するリージョンリソースです。サブネットは、リージョン内のすべてのゾーンにまたがっています。

イメージ図

VPC ネットワークとサブネットを模式図にすると、以下のようになります。

Google Cloudネットワーク

AWS の VPC をご存知の方のために、AWS の VPC とサブネットの関係を表した図も掲載します。

AWSネットワーク

VPC の作成モード

Google Cloud では、VPC ネットワークの作成時、サブネット作成モードとして、自動モードカスタムモードの2つから選択します。

自動モードを選択すると、Google Cloud が提供するすべてのリージョンに、所定の IP アドレス範囲のサブネットが作成されます。検証用途などの利用に最適です。

一方のカスタムモードは、自動でサブネットは作成されません。ユーザー自ら、リージョンや IP アドレス範囲を指定してサブネットを作成します。本番環境で利用する場合は、こちらが推奨です。

ルート

Google Cloud では、パケットをルーティングするための経路としてルートを登録します。AWS ではサブネットごとにルートテーブルを紐づけますが、Google Cloud では VPC ネットワークが1つのルートテーブルを持ち、VPC 内のすべての VM がこのルートテーブルを参照します。

デフォルトで、すべてのサブネット同士が互いに通信できるルートと、インターネットへのルートが作成されます。そのほかのルートはユーザー自身で登録する必要があります。

また、それぞれのルートにはプライオリティを設定します。プライオリティの数字が若いルートから、優先的に評価されます。

ルート

Cloud NAT

外部 IP アドレスを持たないインスタンスがインターネットへのアクセスをするために利用するのが、Cloud NAT です。Cloud NAT はフルマネージドの NAT インスタンスです。

CloudNAT

なお、AWS の場合は NAT Gateway 作成後に、ルートテーブルで NAT Gateway をターゲットとしたルートを追加する必要がありますが、Google Cloud では必要ありません。

VPC ネットワークピアリング

VPC ネットワークピアリングは、2つの VPC ネットワーク同士を接続し、内部 IP アドレスでの接続を可能にする機能です。

AWS と同様、ピアリングは VPC ネットワークを1:1で接続します。以下のように、直接ピアリングしていない VPC ネットワーク同士はパケットが到達しません(2ホップ制限、もしくは推移的ピアリングの禁止)。

VPCPeering

また、ピアリングする VPC ネットワーク配下のサブネットは、IP アドレス範囲が重複してはいけません。

共有 VPC

通常、VPC ネットワークは1つのプロジェクトに閉じるリソースです。しかし共有 VPC 機能を使うと、VPC ネットワークを他のプロジェクトに共有することができます。

以下のようなユースケースが考えられます。

  • ルート、ファイアウォール、Cloud VPN 等のリソースはネットワーク管理者が集中管理したい
  • VM の管理権限を開発チームに与えるが、ネットワークは設定変更させたくない

こういった際に共有 VPC を使うことで、セキュアな権限設計や、ネットワークの一元管理が実現できます。

共有 VPC

その他 VPC の詳細

以下の記事では、VPC の仕組みを詳細に解説しています。より詳しく知りたい場合は、参照してください。

blog.g-gen.co.jp

blog.g-gen.co.jp

小林 あゆみ (記事一覧)

クラウドソリューション部 営業チーム

AWSエンジニアからGoogle Cloud営業に転向

福井からリモートワーク中

趣味はMonkey125でツーリング、Netflix鑑賞、旅行