ルートの概要

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 アドレス範囲に一致する最も狭い範囲の宛先が必要になります。サブネット ルートは、VPC ネットワークの各サブネットのプライマリおよびセカンダリ サブネットの IP アドレス範囲と、ピア ネットワークのサブネットのプライマリおよびセカンダリ サブネットの IP アドレス範囲のルートです。パケットの宛先がサブネット ルートの宛先内にある場合、このパケットは GCP サブネットに配信されます。サブネット ルートは、他のタイプのルートで上書きできません

    • GCP では、サブネット ルートと同じ宛先や、これよりも狭い宛先を持つカスタム静的ルートを作成できません。

    • カスタム動的ルートでは、受信したルートにサブネット ルートと同じ宛先や、これよりも狭い宛先がある場合、Cloud Router は受信した他のネットワークへのルートをすべて無視します。

    • VPC ネットワーク ピアリングを使用して VPC ネットワークを接続すると、ネットワークではすべてのサブネット ルートが共有されます。GCP は、ローカル ネットワーク自身のサブネット ルートと同様に、ピア ネットワークのサブネット ルートに優先順位を付けます。ピア ネットワークのサブネット ルートは、宛先範囲を最も狭くする必要があります。

  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. 最も狭い範囲の宛先を持つルートが複数ある場合、GCP は次のプロセスを使用してルート候補からルートを選択します。ルート候補は、いずれも同じ最も狭い範囲の宛先を持つカスタムルートです。

    1. VPC ネットワークが VPC ネットワーク ピアリングを介して他のネットワークに接続されている場合、GCP はまず、すべてが単一の VPC ネットワークからであるルート候補に絞り込みます。

      • ローカル VPC ネットワークで少なくとも 1 つのルート候補が定義されている場合、GCP はそのローカルルート候補を使用し、ピア ネットワークからの候補をすべて無視します。

      • ルート候補が複数のピア ネットワークからのものである場合、GCP は少なくとも 1 つの候補ルートが定義されているピア ネットワークの 1 つを選択し、他のピア ネットワークからの候補ルートを無視します。GCP は内部プロセスを使用して単一のピア ネットワークを選択します。ピアリング グループに対してネットワークの追加または削除を行うと、GCP は別のピア ネットワークから候補ルートを選択する可能性があります。

      GCP は、単一ネットワークの候補ルートからルートを選択します。

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

    3. GCP は、ルートが静的か動的かに応じて、およびネクストホップの値に基づいてルートを選択します。GCP は以下の順序を使用します。

      1. GCP は、ネクストホップがネクストホップ インスタンス、ネクストホップ IP、ネクストホップ VPN トンネルのいずれかであるカスタム静的ルートを選択します。

      2. GCP は、Cloud Router によってアドバタイズされているカスタム動的ルートを選択します。

      3. GCP はネクストホップ ゲートウェイのあるカスタム静的ルートを選択します。

    4. 単一のルートを選択できない場合、GCP はアフィニティ用に 5 タプルのハッシュを使用してルート候補のネクストホップ間にトラフィックを分散させ、ECMP ルーティング設計を実装します。ハッシュは、プロトコル、送信元と宛先の 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 はそのルートを有効とみなします。インスタンス内のソフトウェア(オペレーティング システムなど)やパケットのルーティングを処理するプロセスが停止またはクラッシュすると、パケットは破棄されます。構成可能なヘルスチェックに失敗したネクストホップ インスタンスを GCP を再作成させるには、マネード インスタンス グループと自動修復の使用を検討してください。

  • インスタンスのゲスト オペレーティング システムを構成してネットワーク インターフェースを無効にしても、GCP がそのインスタンスをルートのネクストホップとみなすことに変わりはありません。

次のステップ

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