トラブルシューティング

Cloud Router の一般的な問題を解決する場合は、次のガイドをご覧ください。

構成に関する問題

BGP セッションの確立に失敗した

  • オンプレミス BGP ルーターの設定と Cloud Router の設定が正しいことを確認します。Cloud Router のログで詳細を確認してください。
  • Cloud VPN トンネルを作成する際は、トンネルのステータスESTABLISHED であることを確認してください。そうでない場合は、Cloud VPN のトラブルシューティングを確認して問題を解決してください。

BGP セッションの IP アドレス

BGP セッションでは、リンクローカル IP アドレス(169.254.0.0/16)を使用する必要があります。他の外部 IP アドレスまたは内部 IP アドレスは使用できません。

フィールド resource.bgp.asn の値が無効

次のエラーが表示される場合があります。「Invalid value for field resource.bgp.asn: ######. Local ASN conflicts with peer ASN specified by a router in the same region and network.(フィールド resource.bgp.asn: ###### の値が無効です。ローカル ASN は、同じリージョンとネットワーク内のルーターによって指定されたピア ASN と競合します。)」

Cloud Router は、同じ ASN のオンプレミス デバイスと BGP セッションを確立しようとします。この問題を解決するには、デバイスか Cloud Router の ASN を変更してください。

単一リージョンの Cloud Router 間で iBGP が機能しない

同じ ASN の 2 つの Cloud Router は作成できますが、iBGP はサポートされません。

Cloud Router の問題

Google Cloud からの BGP リセットがルーターに表示される

Cloud Router タスクは、通常はマシン間で移行される Google Cloud のコントロール プレーンのソフトウェア プロセスです。この間、Cloud Router は数秒間停止することがあります。通常の移行では、トラフィックは破棄されません。

Cloud Router はデータパスに配置されていません。レイヤ 3 スイッチとして機能しませんが、ルート プログラミングの管理者として機能します。実際には、VLAN アタッチメントか Cloud VPN トンネルによってルーティングが処理されます。

ルート処理に関する問題

MED 値のないオンプレミス ルートが優先される

Cloud Router が MED 値のないオンプレミス ルートを受信すると、Cloud Router は RFC 4271 に記述されているように動作します。Cloud Router は、可能な限り低い MED 値(0)を想定し、優先度の最も高いルートを処理します。

L3 Partner Interconnect 接続を介して MED 値を送信して学習できない

レイヤ 3 サービス プロバイダが BGP を処理する Partner Interconnect 接続を使用している場合、Cloud Router がオンプレミス ルーターから MED 値を学習することや、そのルーターに MED 値を送信することはできません。これは、MED 値が自律システムを通過できないためです。このタイプの接続では、Cloud Router からアドバタイズされたルートのルート優先度をオンプレミス ルーターに設定することはできません。また、オンプレミス ルーターによってアドバタイズされるルートの優先順位を VPC ネットワークに設定することはできません。

一部のオンプレミス IP 接頭辞が使用できない

割り当てと上限を確認する

Cloud Router で学習したルートの上限を超過していないことを確認します。Cloud Router の学習したルートの数を確認するには、そのステータスを確認します。

上限、関連するログメッセージと指標、問題の解決方法については、次の表をご覧ください。

上限について 学習したルートには 2 つの上限があります。これらの上限によって、学習したルートの最大数が直接定義されることはありません。代わりに、一意の宛先プレフィックスの最大数が定義されます。
  • 特定リージョン内のすべての Cloud Router によって同じリージョン内のサブネットに適用できる、学習したルートの一意の宛先の最大数
  • 異なるリージョン内の Cloud Router によって特定のリージョンのサブネットに適用できる、学習したルートの一意の宛先の最大数
最初の上限は、VPC ネットワークで使用される動的ルーティング モードに関係なく該当します。2 つ目の上限は、VPC ネットワークがグローバル動的ルーティング モードを使用している場合にのみ有効です。上限の詳細については、Cloud Router の上限ページをご覧ください。
ログ これらの制限のいずれかが発生すると、Cloud Logging に limit-exceeded メッセージが表示されます。このメッセージを表示する高度なクエリを作成する方法については、Cloud Router のロギング ドキュメントの limit-exceeded クエリをご覧ください。
指標 次の指標を使用して、現在の上限と使用量を確認することもできます。
  • router.googleapis.com/dynamic_routes/learned_routes/used_unique_destinations: この VPC ネットワークで現在使用されている一意の宛先の数。グローバル動的ルーティングが有効になっている場合、この指標にはグローバルとリージョンの両方の使用状況が表示されます。
  • router.googleapis.com/dynamic_routes/learned_routes/unique_destinations_limit: この VPC ネットワークでアドバタイズすることが許可されている一意の宛先の数。グローバル動的ルーティングが有効になっている場合、この指標にはグローバルとリージョンの両方の上限が表示されます。
  • router.googleapis.com/dynamic_routes/learned_routes/any_dropped_unique_destinations: この VPC ネットワークに、ルート割り当ての上限の 1 つまたは両方を超過したことによってドロップされた宛先があるかどうかを示します。
これらの指標は、gce_network_region モニタリング対象リソースを通じて取得できます。Cloud Router の指標とそれらの指標を表示する方法の詳細については、ログと指標の表示の指標セクションをご覧ください。
問題を解決する ルートの上限の問題を解決するには、次の操作を行います。ルートの数が上限を大幅に超えている場合には、両方を行うことで効果があります。
  • オンプレミス ルーターを構成して、エクスポートするルートを集約し、それらのルートがより少ない宛先(CIDR)をアドバタイズするようにする。
  • サポートに問い合わせる。サポートはお客様と協力し、必要に応じて Cloud Router のリセットや、上限の引き上げを行うことができます。

重複するサブネットの範囲を確認する

VPC サブネットの IP アドレス範囲が、オンプレミス ネットワークのルート アドバタイズと完全に重複していないことを確認してください。IP 範囲が重複すると、ルートが削除される可能性があります。これは、Cloud Router が学習した動的ルートに重複するカスタム静的ルートにも適用されます。次の場合、Cloud Router が受信するプレフィックスは無視されます(カスタム動的ルートは作成されません)。

  • 学習したプレフィックスが、VPC ネットワーク内のサブネットのプライマリまたはセカンダリ IP アドレス範囲と完全に一致する場合。
  • 学習したプレフィックスが、VPC ネットワーク内のカスタム静的ルートの宛先と完全に一致する場合。
  • 学習したプレフィックスが、VPC ネットワーク内のサブネットのプライマリまたはセカンダリ IP アドレス範囲よりも明確である(より長いサブネット マスクがある)場合。
  • 学習したプレフィックスが、VPC ネットワーク内のカスタム静的ルートの宛先よりも明確である(より長いサブネット マスクがある)場合。

詳細については、VPC ルートの概要のルートの適用範囲と順序をご覧ください。

オンプレミス ネットワークから学習されたルートが他の VPC ネットワークに伝達されない

単一の Cloud Router では、ある BGP ピアから他の BGP ピア(他の VPC ネットワーク内の Cloud Router を含む)に学習したルートを再アドバタイズできません。この制限については、次のハブとスポークのトポロジをご覧ください。

Cloud Router のハブとスポーク(クリックして拡大)
Cloud Router のハブとスポーク(クリックして拡大)

このトポロジに対しては、次の代替案を検討してください。

  • 単一の VPC ネットワークを作成し、既存の複数の VPC ネットワークを置き換える。Cloud VPN か Cloud Interconnect を使用して、交換用 VPC ネットワークをオンプレミス ネットワークに接続します。1 つの VPC ネットワークでプロジェクト間で管理機能を委任する構成を維持する必要がある場合、共有 VPC を使用します。このネットワークで仮想マシン インスタンス(VM)や他のリソースを再作成する必要があります。ネットワーク間で移動することはできません。
  • 別々の VPC ネットワークを引き続き維持する。Cloud VPN または Cloud Interconnect を使用して、各ネットワークをオンプレミス ネットワークに接続します。
  • VPC ネットワーク ピアリングを使用して、2 つの VPC ネットワークを接続します。Cloud Router がオンプレミスからルートをインポートしてカスタムルートをエクスポートするネットワークを構成します。詳細については、カスタムルートのインポートとエクスポートをご覧ください。

Cloud Router が、異なる ASN を持つルート間で ECMP を使用しない

1 つの Cloud Router に複数のオンプレミス ルーターが接続されている場合、Cloud Router は最も低い ASN を持つルーターからルートを学習して伝播します。Cloud Router は ASN が高いルーターからのアドバタイズされたルートを無視し、予期しない動作が発生する可能性があります。たとえば、2 台のオンプレミス ルーターが 2 つの異なる Cloud VPN トンネルを使用するルートをアドバタイズするとします。トラフィックはトンネル間で負荷分散されますが、Cloud Router は ASN の低いオンプレミス ルーターからのルートのみを伝播するため、トンネルの 1 つのみを使用します。

プレフィックスが BGP セッションにインポートされない(AS パスプリペンド)

AS パスの先頭付加は、コントロール プレーンと VPC ネットワークとは無関係です。AS パスの長さは、以下のシナリオで説明するように、各 Cloud Router ソフトウェア タスク内でのみ考慮されます。

1 つの Cloud Router のソフトウェア タスクが 2 つ以上の BGP セッションから同じ宛先を学習した場合は、次のようになります。

  • ソフトウェア タスクは、AS パスの長さが最も短いネクストホップの BGP セッションを選択します。
  • ソフトウェア タスクは、宛先、ネクストホップ、MED の情報を Cloud Router のコントロール プレーンに送信します。
  • コントロール プレーンは、この情報を使用して 1 つ以上の候補ルートを作成します。各候補の基本優先度は、受信した MED に設定されています。

2 つ以上の Cloud Router のソフトウェア タスクが 2 つ以上の BGP セッションから同じ宛先を学習した場合は、次のようになります。

  • 各ソフトウェア タスクは、AS パスの長さが最も短いネクストホップの BGP セッションを選択します。
  • 各ソフトウェア タスクは、宛先、ネクストホップ、MED の情報を Cloud Router のコントロール プレーンに送信します。
  • コントロール プレーンは、この情報を使用して 2 つ以上の候補ルートを作成します。各候補の基本優先度は、受信した MED に設定されています。

Cloud Router のコントロール プレーンは、VPC ネットワークの動的ルーティング モードに従って、1 つ以上のカスタム動的ルートを VPC ネットワークにインストールします。グローバル動的ルーティング モードでは、各リージョンのカスタム動的ルートの優先度は、Cloud Router のリージョンとは異なるリージョンに合わせて調整されます。Google Cloud がルートを選択する方法について詳しくは、ルーティング順序をご覧ください。

multi-NIC VM で NIC ごとに異なるルートが取得される

これは想定内の動作です。固有の VPC ネットワーク内の multi-NIC VM 用に、それぞれのネットワーク インターフェース(NIC)を構成する必要があります。各 Cloud Router は 1 つの VPC ネットワークにカスタム動的ルートを作成します。したがって、1 つの Cloud Router が学習したルートは、multi-NIC VM の 1 つのネットワーク インターフェースにのみ適用されます。VM のネットワーク インターフェースから送信されたパケットは、そのインターフェースの VPC ネットワークに適用されるルートのみを使用します。

トラフィックが非対称にルーティングされる

上り(内向き)のトラフィックと下り(外向き)のトラフィックが異なるパスを使用する場合、トラフィックは非対称にルーティングされます。たとえば、2 つの Cloud VPN トンネルがあるとします。VPC ネットワークからの下り(外向き)トラフィックが最初のトンネルを使用し、VPC ネットワークへの上り(内向き)トラフィックは 2 番目のトンネルを使用します。

非対称ルーティングは、オンプレミス ルーターと Cloud Router によってアドバタイズされた優先パスが一致しない場合に発生します。VPC ネットワークへの上り(内向き)トラフィックの場合は、Cloud Router を使用してアドバタイズ ルートの優先度を構成します。詳細については、Google Cloud からオンプレミス ネットワークへの下り(外向き)トラフィックの最適なパスをご覧ください。

他の属性(ルーター ID や発信元 ASN など)が影響を及ぼす可能性があるため、BGP の最適なパス選択の仕組みについてデバイスのドキュメントをご覧ください。たとえば、次のリソースをご覧ください。

VPC ネットワークからの下り(外向き)トラフィックの場合は、オンプレミス ルーターのローカル設定または MED 値を確認してください。

デフォルト ルート(0.0.0.0/0)がインターネット ゲートウェイにトラフィックを送信している

VPC ネットワークを作成すると、Google Cloud は、ネクストホップがデフォルトのインターネット ゲートウェイである、優先度が 1000デフォルト ルートを自動的に作成します。

デフォルトのインターネット ゲートウェイのネクストホップを持つルートは、インターネット アクセス要件を満たす VM でのみ使用できます。

Google API とサービスにアクセスするには、デフォルトのインターネット ゲートウェイのネクストホップでルートを使用することも必要です。たとえば、限定公開の Google アクセスを使用する場合です。

次の例は、インターネットまたは Google API とサービスへのトラフィックがブロックされる原因となる可能性がある状況について説明します。

  • 自動的に作成されたデフォルト ルート(デフォルト インターネット ゲートウェイのネクストホップのあるルート)を削除した場合
  • 自動的に作成されたデフォルト ルートを置き換え、置き換えルートのネクストホップがデフォルト インターネット ゲートウェイと異なる場合
  • Cloud Router が、自動的に作成されたデフォルト ルートよりも優先度が高い宛先 0.0.0.0/0 のルートを学習した場合

ネクストホップが明確でない

Google Cloud のルート選択アルゴリズムの仕組みについては、VPC ルート ドキュメントの適用範囲と順序をご覧ください。