このドキュメントでは、仮想マシン(VM)インスタンスのネットワーク機能の概要について説明します。VM と Google Cloud Virtual Private Cloud(VPC)ネットワークとの相互作用に関する基本を把握できます。VPC ネットワークと関連機能の詳細については、VPC ネットワークの概要をご覧ください。
ネットワークとサブネット
すべての VM は VPC ネットワークの一部であり、VPC ネットワークでは、VM インスタンスから他の Google Cloud プロダクトへの接続とインターネット接続が利用できます。VPC ネットワークは自動モードまたはカスタムモードにできます。
- 自動モード ネットワークにはリージョンごとに 1 つのサブネットワーク(サブネット)があります。すべてのサブネットに
10.128.0.0/9
の IP アドレス範囲に含まれています。自動モードのネットワークでは IPv4 サブネット範囲のみがサポートされます。 - カスタムモードのネットワークにはサブネット構成がありません。指定した IPv4 範囲を使用して、選択したリージョンで作成するサブネットを決定します。カスタムモードのネットワークでは IPv6 サブネット範囲もサポートされます。
無効にすることを選択しない限り、各プロジェクトでは自動モードのネットワークである default
ネットワークが利用できます。
VPC ネットワーク内の各サブネットはリージョンに関連付けられ、1 つ以上の IP アドレス範囲が含まれています。リージョンごとに複数のサブネットを作成できます。VM の各ネットワーク インターフェースは、サブネットに接続する必要があります。
VM を作成するときに、VPC ネットワークとサブネットを指定できます。この構成を省略すると、default
ネットワークとサブネットが使用されます。Google Cloud では、選択したサブネットのプライマリ IPv4 アドレス範囲から新しい VM に内部 IPv4 アドレスを割り当てます。サブネットに IPv6 アドレス範囲もある場合は、IPv6 アドレスを割り当てることもできます。
VPC ネットワークの詳細については、VPC ネットワークの概要をご覧ください。2 つのリージョンに 3 つのサブネットがある VPC ネットワークを使用する VM の例については、VPC ネットワークの例をご覧ください。
ネットワーク インターフェース コントローラ(NIC)
VPC ネットワーク内のすべてのインスタンスには、デフォルトのネットワーク インターフェースがあります。VM に接続するネットワーク インターフェースを追加できますが、各インターフェースはそれぞれ異なる VPC ネットワークに接続する必要があります。複数のネットワーク インターフェースを使用することで、1 つのインスタンスが複数の VPC ネットワークに直接接続する構成を作成できます。複数の NIC の使用の詳細については、複数のネットワーク インターフェースの概要をご覧ください。
IP アドレス
各 VM インターフェースにはサブネットから割り振られる内部 IPv4 アドレスがあります。必要に応じて外部 IPv4 アドレスを構成できます。インターフェースが IPv6 範囲を持つサブネットに接続する場合は、必要に応じて IPv6 アドレスを構成できます。VM はこれらの IP アドレスを使用して他の Google Cloud リソースや外部システムと通信します。外部 IP アドレスはインターネットと通信できる一般公開されたルーティング可能な IP アドレスになります。外部プライマリ IP アドレスと内部プライマリ IP アドレスは、エフェメラルまたは静的のいずれかになります。
内部 IP アドレスは、次のいずれかに対してローカル アドレスになります。
- VPC ネットワーク
- VPC ネットワーク ピアリングを使用して接続された VPC ネットワーク
- Cloud VPN、Cloud Interconnect、またはルーター アプライアンスを使用して VPC ネットワークに接続されたオンプレミス ネットワーク
インスタンスは、VM の内部 IPv4 アドレスを使用して、同じ VPC ネットワーク上または上記のリストにある接続ネットワーク上のインスタンスと通信できます。VM に IPv6 が構成されている場合は、VM の内部または外部 IPv6 アドレスのいずれかを使用することもできます。内部通信には内部 IPv6 アドレスを使用することをおすすめします。IP アドレスの詳細については、Compute Engine の IP アドレスの概要をご覧ください。
インターネットと通信するには、インスタンスで構成された外部 IPv4 アドレスまたは外部 IPv6 アドレスを使用できます。インスタンスに外部アドレスがない場合は IPv4 トラフィックに Cloud NAT を使用できます。
単一の VM インスタンス上で実行しているサービスが複数ある場合は、エイリアス IPv4 範囲を使用して各サービスに異なる内部 IP アドレスを割り当てることができます。VPC ネットワークは特定のサービス宛てのパケットを、対応する VM に転送します。詳細については、エイリアス IP 範囲をご覧ください。
内部ドメイン ネーム システム(DNS)名
仮想マシン(VM)インスタンスを作成すると、Google Cloud では VM 名から内部 DNS 名を作成します。カスタムホスト名を指定しない限り、Google Cloud は自動的に作成された内部 DNS 名を VM に提供するホスト名として使用します。
同じ VPC ネットワークでの VM 間の通信の場合、内部 IP アドレスを使用する代わりに、ターゲット インスタンスの完全修飾 DNS 名(FQDN)を指定できます。この FQDN はインスタンスの内部 IP アドレスに自動的に解決されます。
完全修飾ドメイン名(FQDN)の詳細については、ゾーンおよびグローバルの内部 DNS 名をご覧ください。
ルート
Google Cloud のルートは、ネットワーク トラフィックが仮想マシン(VM)インスタンスから他の宛先に到達する経路を定義します。これらの宛先は VPC ネットワークの内部(別の VM など)の場合もあれば、VPC ネットワークの外部の場合もあります。VPC ネットワークのルーティング テーブルは VPC ネットワーク レベルで定義されます。VM インスタンスには、ネットワークのルーティング テーブルから適用可能なルートを通知するコントローラがあります。VM から送信されるパケットは、ルーティング順序に基づいて、適用可能なルートで適切なネクストホップに配信されます。
サブネット ルートは VPC ネットワーク内のリソース(VM、内部ロードバランサなど)のパスを定義します。各サブネットには 1 つ以上のサブネット ルートがあり、その宛先はサブネットのプライマリ IP 範囲と一致します。サブネット ルートには常に最も狭い範囲の宛先が設定されます。優先度の高いルートであっても、別のルートをオーバーライドすることはできません。ルートを選択するときに、Google Cloud は優先度よりも宛先の限定性を考慮するためです。サブネット IP 範囲の詳細については、サブネットの概要をご覧ください。
転送ルール
ルートはインスタンスから発信されるトラフィックを制御しますが、転送ルールは、IP アドレス、プロトコル、ポートに基づいて VPC ネットワーク内の Google Cloud リソースにトラフィックを転送します。転送ルールには Google Cloud 外部からネットワーク内の宛先にトラフィックを転送するものと、ネットワーク内からトラフィックを転送するものがあります。
IP、Cloud VPN、プライベート仮想 IP(VIP)、ロード バランシングによって仮想ホスティングを実装するようにインスタンスの転送ルールを構成できます。転送ルールの詳細については、プロトコル転送の使用をご覧ください。
ファイアウォール ルール
VPC ファイアウォール ルールを使用すると、指定した構成に基づいて、VM との接続を許可または拒否できます。Google Cloud では有効な VPC ファイアウォール ルールが常に適用され、構成やオペレーティング システムに関係なく VM を保護します。VM が起動していない場合も同様です。
デフォルトではすべての VPC ネットワークに受信(内向き)と送信(外向き)のファイアウォール ルールがあります。このルールはすべての受信接続をブロックし、すべての送信接続を許可します。default
ネットワークには、default-allow-internal
ルールなどの、ネットワークでのインスタンス間の通信を許可する追加のファイアウォール ルールがあります。default
ネットワークを使用していない場合は、インスタンス間の通信を許可するために優先度の高い上り(内向き)ファイアウォール ルールを明示的に作成する必要があります。
すべての VPC ネットワークは、分散ファイアウォールとして機能します。ファイアウォール ルールは VPC レベルで定義され、ネットワーク内のすべてのインスタンスに適用できます。また、ターゲットタグまたはターゲット サービス アカウントを使用して、特定のインスタンスにルールを適用することもできます。VPC ファイアウォール ルールはインスタンスと他のネットワークの間だけでなく、同じネットワーク内の個々のインスタンスの間にも存在します。
階層型ファイアウォール ポリシーを使用すると、組織全体で一貫したファイアウォール ポリシーを作成して適用できます。階層型ファイアウォール ポリシーは、組織全体または個々のフォルダに割り当てることができます。これらのポリシーには VPC ファイアウォール ルールと同じように、接続を明示的に拒否または許可するルールが含まれています。また、階層型ファイアウォール ポリシールールでは、goto_next
アクションを使用して、下位レベルのポリシーまたは VPC ファイアウォール ルールに評価を委任できます。下位レベルのルールは、リソース階層の上位にあるルールをオーバーライドできません。これにより組織全体の管理者が重要なファイアウォール ルールを 1 か所で管理できます。
ネットワーク帯域幅
Google Cloud では、ネットワーク インターフェース(NIC)や IP アドレスではなく、仮想マシン(VM)インスタンスごとの帯域幅を考慮します。帯域幅はトラフィックの方向(上り(内向き)と下り(外向き))と宛先 IP アドレスのタイプという 2 つの項目を使用して測定されます。VM のマシンタイプにより、許容される最大下り(外向き)レートが定義されていますが、最大下り(外向き)レートに達するのは特定の状況に限られます。詳細については、ネットワーク帯域幅をご覧ください。
Google Virtual NIC(gVNIC)は、Compute Engine 専用の仮想ネットワーク インターフェースです。gVNIC は、virtIO ベースのイーサネット ドライバに代わるものです。たとえば、GPU が接続された VM 上の分散ワークロードに使用できる 50~100 Gbps 速度など、より大きなネットワーク帯域幅をサポートするには gVNIC が必要です。また、パフォーマンスを最適化するように、いくつかのマシンタイプを扱う際にも gVNIC が必要です。詳細については、Google Virtual NIC の使用をご覧ください。
マネージド インスタンス グループとネットワーク構成
マネージド インスタンス グループ(MIG)を使用する場合、インスタンス テンプレートで指定したネットワーク構成はそのテンプレートで作成されたすべての VM に適用されます。自動モードの VPC ネットワークでインスタンス テンプレートを作成すると、マネージド インスタンス グループを作成したリージョンのサブネットが自動的に選択されます。
詳細については、ネットワークとサブネットとインスタンス テンプレートの作成をご覧ください。
次のステップ
- Virtual Private Cloud(VPC)ネットワークの作成と変更の方法を学習する。
- VM の作成方法を学習する。
- MIG の作成方法を学習する。
- Google Cloud で VM のルートの作成と管理の方法を学習する。
- VM のロード バランシングとスケーリング方法を学習する。