ルートの概要

Google Cloud Platform(GCP)のルートは、ネットワーク トラフィックが VM インスタンスから他の宛先に到達する経路を定義します。これらの宛先は、VPC ネットワークの内部(別の VM など)の場合もあれば、VPC ネットワークの外部の場合もあります。

ルートは宛先とネクストホップから構成されます。トラフィックの宛先 IP が宛先の範囲内にある場合、トラフィックはネクストホップに送信され、そこから配信されます。このページでは、GCP でのルートの機能について説明します。

GCP でのルーティング

VPC ネットワークは、スケーラブルな分散仮想ルーティング メカニズムを使用します。ルートを個別に適用することもできますが、VPC ネットワークのルーティング テーブルが VPC ネットワーク レベルで定義されています。

VM インスタンスには、ネットワークのルーティング テーブルから適用可能なルートを通知するコントローラがあります。VM から送信されるパケットは、ルーティング順序に基づいて、適用可能なルートで適切なネクストホップに配信されます。ルートを追加または削除すると、一連の変更が VM コントローラに伝播され、最終的には一貫した設計になります。

ルートのタイプ

GCP には 4 つの異なるルートがあります。これらのルートは 2 つのカテゴリに分類されます。ネットワークの作成、サブネットの追加、サブネットのセカンダリ IP 範囲の変更を行うと、システム生成ルートが自動的に生成されます。カスタムルートは、ユーザーが直接または Cloud Router で作成し、維持するルートです。次の表にルートの種類をまとめます。

タイプ カテゴリ 宛先 ネクストホップ 削除可能 適用先
デフォルト ルート システム生成 0.0.0.0/0 default-internet-gateway 可能 ネットワーク上のすべてのインスタンス
サブネット ルート システム生成 プライマリとセカンダリのサブネット IP 範囲
サブネット内の VM にパケットを転送する VPC ネットワーク サブネットが削除された場合とサブネットのセカンダリ IP 範囲を変更した場合のみ ネットワーク上のすべてのインスタンス
静的ルート カスタム • 任意のサブネット IP 範囲と一部または全体が重複しない IP 範囲
• サブネット IP 範囲よりも広い IP 範囲
次のいずれか:
• 名前で指定されたインスタンス
• IP アドレスで指定されたインスタンス
• Cloud VPN トンネル
可能 ネットワーク内のすべてのインスタンス(ネットワーク タグで指定された特定のインスタンスに限定される場合を除く)
動的ルート カスタム • 任意のサブネット IP 範囲と一部または全体が重複しない IP 範囲
• サブネット IP 範囲よりも広い IP 範囲
Cloud Router の BGP ピアの IP アドレス Cloud Router によってのみ可能(Cloud Router が BGP ピアからルートを受信しなくなった場合) • Cloud Router と同じリージョンのインスタンス(VPC ネットワークがリージョン動的ルーティング モードになっている場合)
・すべてのインスタンス(VPC ネットワークがグローバル動的ルーティン グモードの場合)

デフォルト ルート

VPC ネットワークを構築すると、GCP はシステム生成のデフォルト ルートを作成します。このルートには 2 つの用途があります。

  • VPC ネットワークから外部へのパス(インターネットのパスなど)を定義します。インターネットにアクセスする必要がある場合は、このルートを設定するだけではなく、インスタンスが追加要件を満たす必要があります。

  • プライベート Google アクセスの標準パスを指定します。

システム生成のデフォルト ルートの優先順位は 1000 です。宛先の範囲が非常に広いため(0.0.0.0/0)、パケットに特定の宛先のルートが適用されない場合に限り、GCP はこのルートを使用します。宛先の指定とルート選択の優先度については、ルーティング順序をご覧ください。

ネットワークをインターネットから完全に隔離する場合や、カスタムルートで置き換える必要がある場合は、デフォルト ルートを削除できます。

  • インターネット トラフィックを別のネクストホップにルーティングする場合は、デフォルト ルートをカスタムルート、静的ルート、動的ルートに置き換えることができます。たとえば、ネクストホップが Cloud VPN トンネルまたは別のインスタンス(プロキシ サーバーなど)の場合、カスタム静的ルートに置き換えることができます。

  • 置き換えを行わずにデフォルト ルートを削除すると、他のルートで網羅されない IP 範囲に送信されたパケットは破棄されます。

サブネット ルート

サブネット ルートは、VPC ネットワークにあるサブネットのパスを定義するシステム生成ルートです。

各サブネットには 1 つ以上のサブネット ルートがあり、その宛先はサブネットのプライマリ IP 範囲と一致します。サブネットにセカンダリ IP 範囲がある場合、GCP は各セカンダリの範囲に対応する宛先のサブネット ルートを作成します。サブネット IP 範囲の詳細については、ネットワークとサブネットをご覧ください。

サブネット ルートの宛先と一致する宛先や、これよりも狭い範囲の宛先を持つルートは作成できません。サブネット ルートの宛先範囲よりも広い宛先のカスタムルートを作成できます。GCP はルーティング順序の最初の基準として宛先指定を使用します。IP 範囲が重複する場合、パケットの宛先がルートの宛先範囲内にあれば、サブネット ルートが常に優先ネクストホップとして使用されます。ルートの宛先に優先度の高いサブネット ルートの宛先が含まれている場合でも同じ結果になります。

サブネット ルートの作成または削除では、次の点に注意してください。

  • サブネットが作成されると、そのサブネットのプライマリ IP 範囲に対応するサブネット ルートも作成されます。

    • サブネットにセカンダリ IP 範囲を追加すると、そのセカンダリ範囲に対応するサブネット ルートが作成されます。
  • 自動モードの VPC ネットワークは、自動生成されたサブネットのプライマリ IP 範囲にサブネット ルートを作成します。これらのサブネットを削除できるのは、自動モード ネットワークをカスタムモードに変換する場合だけです。詳細については、VPC ネットワークのタイプをご覧ください。

  • サブネット自体を変更または削除しない限り、サブネット ルートは削除できません。

    • サブネットからセカンダリ範囲を削除すると、そのセカンダリ範囲のサブネット ルートが自動的に削除されます。

    • サブネットを削除すると、プライマリとセカンダリの両方の範囲のサブネット ルートがすべて自動的に削除されます。他の方法では、サブネットのプライマリ範囲のサブネット ルートを削除できません。

  • ネットワークが VPC ネットワーク ピアリングで接続されている場合、ネットワーク間でサブネット ルートがインポートされます。このため、プライマリとセカンダリのサブネット IP 範囲はすべて一意でなければなりません。

    • ピアリングされたネットワーク内のサブネットのサブネット ルートは、ピアリング関係を解除しない限り削除できません。ピアリング関係を解除すると、他のネットワークからインポートされたサブネット ルートはすべて自動的に削除されます。

ファイアウォール ルールによってインスタンス間の通信がブロックされる場合があります。インスタンス間の通信の詳細については、ネットワーク内の通信をご覧ください。

カスタムルート

カスタムルートには、手動で作成した静的ルートと 1 つ以上の Cloud Router が自動的に維持する動的ルートがあります。

カスタムルートには、ネットワーク内のサブネット ルートに一致する宛先や、これよりも狭い範囲の宛先は設定されません。

自動モードの VPC ネットワークを使用している場合は、10.128.0.0/9 CIDR ブロックに該当する宛先を使用できません。このブロックは、サブネット ルートの現在のアドレス空間と将来のアドレス空間を定義するために使用されます。詳細については、自動モードの IP 範囲をご覧ください。自動モードの VPC ネットワークでは、10.128.0.0/9 内の宛先を持つ静的ルートが無効になることがあります。新しい GCP リージョンが使用可能になり、新しいサブネットがサブネット ルートとともに自動的に生成されると、このような状況が発生する場合があります。詳細については、自動モード ネットワークの考慮事項をよくお読みください。

静的ルート

静的ルートは、静的ルートのネクストホップのいずれかを使用します。静的ルートは次のいずれかの方法で作成します。

  • 手動で作成する。

  • GCP Console を使用する。ポリシーベースのルーティングまたはルートベースの VPN を使用する Cloud VPN トンネルを作成すると、リモート トラフィック セレクタの静的ルートが作成されます。詳細については、Cloud VPN のドキュメントでネットワークとトンネル ルーティングをご覧ください。

詳細については、静的ルート パラメータをご覧ください。

動的ルート

動的ルートは 1 つ以上の Cloud Router によって管理されます。宛先は常に VPC ネットワークに含まれない IP 範囲で、ネクストホップは常に BGP ピアアドレスになります。Cloud Router は次の動的ルートを管理します。

適用範囲と順序

適用可能なルート

ルートは、次の規則に従ってインスタンスに適用されます。

  • システム生成ルートは、VPC ネットワーク内のすべてのインスタンスに適用されます。 サブネット ルートが適用されるインスタンスの範囲は変更できません。ただし、デフォルト ルートは置き換えが可能です。

  • カスタム静的ルートは、ルートのタグ属性に応じて、すべてのインスタンスまたは特定のインスタンスに適用されます。 タグ属性を持つ静的ルートは、対応のネットワーク タグを持つインスタンスに適用できます。タグ属性が指定されていない場合、静的ルートはネットワーク内のすべてのインスタンスに適用されます。

  • 動的ルートは、VPC ネットワークの動的ルーティング モードに基づいてインスタンスに適用されます。VPC ネットワークが動的ルーティング モードの場合、Cloud Router は各リージョンで学習したルートを適用します。ネットワークがグローバル動的ルーティング モードの場合、Cloud Router はネットワーク全体で学習したルートを適用します。

ルーティング順序

GCP は、適用可能なルートのプールから次の順序でパケットのネクストホップを選択します。

  1. サブネット ルートを最初に検討します。サブネット ルートには、サブネットの IP アドレス範囲に一致する最も狭い範囲の宛先が必要になります。パケットの宛先がサブネット ルートの宛先内にある場合、このパケットは GCP サブネットに配信されます。他のタイプのルートでサブネット ルートを上書きすることはできません

    • GCP では、サブネット ルートと同じ宛先や、これよりも限定された宛先を静的ルートに使用できません。

    • 動的ルートの場合、Cloud Router は、サブネット ルートと同じ宛先や、これより狭い範囲の宛先を持つルートをすべて無視します。

  2. パケットがサブネット ルートの宛先内に収まらない場合、GCP は最も狭い範囲の宛先を持つ別のルートを探します。

    • たとえば、VM から送信されるパケットの宛先が 10.240.1.4 で、異なる宛先(10.240.1.0/2410.240.0.0/16)を持つ 2 つのルートが存在するとします。10.240.1.4 で最も限定された宛先は 10.240.1.0/24 のため、宛先が 10.240.1.0/24 のルートがパケットのネクストホップを定義します。
  3. 2 つ以上のルートが同じ宛先を持つ場合、GCP はルートの優先度を考慮します。

    • 優先度の最も高い単一ルートが利用可能な場合、パケットはそのネクストホップに送信されます。

    • 同じ優先度のルートが複数存在し、利用可能な場合、アフィニティの 5 タプルハッシュを使用して複数のネクストホップにトラフィックを分散します。これにより、ECMP ルーティング デザインを実装しています。ハッシュは、送信されるパケットのプロトコル、送信元 IP アドレス、宛先 IP アドレス、送信元ポート、宛先ポートから計算されます。このハッシュは、使用可能なルートの数が変更されると再計算されます。

  4. 該当する宛先が見つからない場合、GCP はパケットを破棄し、ICMP の宛先またはネットワーク到達不能エラーで応答します。

静的ルートのパラメータ

静的ルートは次の要素から構成されます。

  • 名前説明: これらのフィールドでルートが識別されます。名前は必須ですが、説明は省略可能です。ルート名はプロジェクト内で一意にする必要があります。

  • ネットワーク: 各ルートは 1 つの VPC ネットワークに関連付ける必要があります。

  • 宛先範囲: 宛先範囲は、パケットを受信するシステムの IP アドレスを含む単一の IPv4 CIDR ブロックです。GCP は IPv6 の宛先範囲に対応していません。宛先は、CIDR 表記で表す必要があり、最も広範囲の宛先は 0.0.0.0/0 です。

  • 優先度: 複数のルートが同じ宛先を持つ場合、使用するルートが優先度に従って決まります。数字が小さいほど、優先度が高くなります。たとえば、優先度の値が 100 のルートは、200 のルートよりも優先されます。

  • ネクストホップ: 静的ルートには、デフォルトのインターネット ゲートウェイ、GCP インスタンスまたは Cloud VPN トンネルを参照するネクストホップが設定されます。詳しくは、静的ルートのネクストホップをご覧ください。

  • タグ: ネットワーク タグのリストを指定できます。このリストに含まれるタグを 1 つ以上を持つインスタンスだけにルートが適用されます。タグを指定しないと、GCP はネットワーク内のすべてのインスタンスにルートを適用します。

静的ルートのネクストホップ

静的ルートに有効なネクストホップは次のとおりです。各タイプの詳細については、gcloud リファレンス ドキュメントをご覧ください。

  • ネクストホップ ゲートウェイnext-hop-gateway): デフォルトのインターネット ゲートウェイを指定して、パブリック IP アドレスのパスを定義できます。

  • ネクストホップ インスタンスnext-hop-instance): インスタンスの名前とゾーンを指定して、GCP の既存のインスタンスにトラフィックを送信できます。トラフィックは、ネットワーク内のプライマリ内部 IP アドレスに送信されます。

    • インスタンスのプライマリ ネットワーク インターフェースの内部 IP アドレスが変更されると、新しい IP アドレスでインスタンスへのトラフィックの送信を継続できるように、ルーティング テーブルが自動的に更新されます。

    • インスタンスが同じゾーンで同じ名前の新しいインスタンスに置き換えられると、置換後のインスタンスにトラフィックが送信されるように、ルーティング テーブルが自動的に更新されます。この処理は、インスタンスの置換方法(自動的または手動)に関係なく行われます。

  • ネクストホップ IPnext-hop-address): プライマリ ネットワーク インターフェースの内部 IP アドレスを使用して、GCP の既存のインスタンスを参照できます。

    • インスタンスを新しいインスタンスで置き換える場合、同じ内部 IP アドレスを使用する必要があります。GCP は、ネクストホップに指定された内部 IP アドレスを持つインスタンスにトラフィックを送信します。

    • ネクストホップ IP アドレスは、VPC ネットワーク内の既存のインスタンスでなければなりません。VPC ネットワークに接続されたネットワークのパブリック IP アドレスとプライベート IP アドレスは、有効なネクストホップではありません

  • ネクストホップ VPN トンネルnext-hop-vpn-tunnel): Cloud VPN トンネルでポリシーベースのルーティングルートベースの VPN を使用している場合、ネクストホップが名前とリージョンでトンネルを参照するようにルートを作成すると、トラフィックを VPN トンネルに送信できます。

ネクストホップとしてのインスタンス

ネクストホップ インスタンスまたはネクストホップ IP を使用して、ネクストホップとしてのインスタンスに静的ルートを作成する場合、他のインスタンスからトラフィックを受信するように、ネクストホップとして機能するインスタンスを構成する必要があります。

  • ネクストホップとして機能するインスタンスは、IP 転送を許可するように構成する必要があります。 IP 転送は、VM の作成時に VM 単位でのみ有効にできます。マネージド インスタンス グループの一部として自動的に作成された VM で IP 転送を有効にする場合は、インスタンス グループが使用するインスタンス テンプレートで IP 転送を有効にする必要があります。

  • ネクストホップとして機能するインスタンスには、ファイアウォール ルールを適切に構成する必要があります。 ルートを構成してインスタンスをネクストホップに指定しても、ファイアウォール ルールは自動的に調整されません。受信トラフィックを許可するファイアウォール ルールを作成していない場合、受信トラフィックが暗黙の上り拒否ルールによってブロックされます。詳細については、ファイアウォール ルールの概要をご覧ください。

  • ファイアウォール ルールは、パケットの送信元と宛先に適用されますが、ネクストホップのインスタンスには適用されません。ネクストホップのインスタンスは、パケットの送信元と宛先を変更しないように構成する必要があります。たとえば、上りファイアウォール ルールの送信元に IP 範囲 10.240.0.3/32 が含まれている場合、適切に構成された NAT インスタンスを介してルーティングされるパケットは、NAT インスタンスの IP アドレスが 10.240.0.3 でない場合でも、ファイアウォール ルールによって許可されます。

  • ネクストホップとしてインスタンスを使用する場合は、インスタンスがゾーンのリソースであることに注意してください。ゾーンを選択するとリージョンが選択されたとみなされますが、GCP はルートの地理的な距離を考慮しないため、異なるリージョンのネクストホップ インスタンスにトラフィックを送信するルートが作成される可能性があります。これにより、下りのコストが増加し、ネットワーク レイテンシが発生します。

次のステップ

  • ルートの作成方法と使い方について、ルートの使用を参照する。
  • GCP VPC ネットワークの詳細について、VPC の概要を参照する。
  • VPC ネットワークの作成と変更の手順を、VPC の使用で確認する。
このページは役立ちましたか?評価をお願いいたします。