Cloud Router の仕組み
Cloud Router は、複数の冗長 BGP タスク、動的ルート コントロール プレーン、Virtual Private Cloud(VPC)ネットワーク コントロールとデータプレーンで実装された API の抽象化です。これらの 3 つのソフトウェア コンポーネントが連携して動作する仕組みを理解すると、Cloud Router の動作と、学習したルートの最適パス選択オプションの仕組みを理解できます。
Cloud Router のソフトウェア コンポーネント
Cloud Router と VPC には、いくつかのソフトウェア コンポーネントがあります。
- Cloud Router BGP タスク
- Cloud Router BGP タスクはリージョン内でグループ化されます。各 BGP タスクは、リージョンとグループの動的ルート コントロール プレーンと通信します。BGP タスクはパケットデータの処理を行いません。代わりに、BGP セッションを管理して BGP プレフィックスの送受信を行います。
- 動的ルート コントロール プレーン
- 各リージョンには、リージョンとグループの BGP タスクと通信する動的ルート コントロール プレーンが存在します。グローバル動的ルーティング モードでは、リージョンの動的ルート コントロール プレーンが他のリージョンの動的ルート コントロール プレーンとも通信を行います。各動的ルート コントロール プレーンは、VPC ネットワーク コントロール プレーンにメッセージを送信します。
- VPC ネットワークのコントロール プレーンとデータプレーン
Google Cloud は、VPC ネットワーキングの分散型コントロール プレーンとデータプレーンとして Andromeda ネットワーク仮想化スタック(PDF ダウンロード)を使用します。これは、次のコンポーネントから構成されています。
- VPC ネットワーク コントロール プレーン
- 各リージョンには、リージョン内の動的ルート コントロール プレーンのグループから情報を受信する VPC ネットワーク コントロール プレーンが存在します。各 VPC ネットワーク コントロール プレーンは、受信 VPC ネットワークで動的ルートをプログラムします。VPC ネットワーク コントロール プレーンは、動的ルートの割り当ても適用します。
- VPC ネットワーク データプレーン
- 各リージョンには、VPC ネットワーク コントロール プレーンの情報を使用して動的ルートの評価と実装を行う VPC ネットワーク データプレーンが存在します。VPC ネットワーク データプレーンはパケット転送を実行します。
Cloud Router BGP タスク
次の表に、一般的なシナリオで Cloud Router が使用する BGP タスクの数を示します。
サンプル シナリオ | Cloud Router の実装に使用される BGP タスクの数 |
---|---|
1 つ以上のインターフェース(それぞれが Classic VPN トンネルに接続) | 1 つの BGP タスク |
1 つ以上のインターフェース(それぞれが VLAN アタッチメントに接続)。VLAN アタッチメントは、同じエッジ アベイラビリティ ドメインにあります。 | 1 つの BGP タスク |
任意の数のインターフェース(それぞれが HA VPN トンネルに接続)。これらのトンネルはすべて 1 つ以上の HA VPN ゲートウェイ上で同じインターフェース番号に接続されています。たとえば、2 つのトンネルがそれぞれ、異なる HA VPN ゲートウェイ上の interface 0 に接続しています。 |
1 つの BGP タスク |
2 つ以上のインターフェース(1 つはエッジ アベイラビリティ ドメイン内の VLAN アタッチメントに接続し、もう 1 つは HA VPN トンネルに接続)。エッジ アベイラビリティ ドメインと VPN ゲートウェイ インターフェースの番号は同じです。たとえば、エッジ アベイラビリティ ドメインのペアの最初のエッジ アベイラビリティ ドメインや、最初の VPN ゲートウェイ インターフェースなどです。 | 1 つの BGP タスク |
2 つ以上のインターフェース(それぞれがルーター アプライアンス インスタンスに接続)。そのうちの 1 つのインターフェースが冗長インターフェースとして構成されます。冗長インターフェースを作成するには、redundant-interface フラグ(Google Cloud CLI)または redundantInterface フィールド(Compute Engine API)を使用します。ルーター アプライアンス(Network Connectivity Center の一部) |
2 つの BGP タスク |
2 つ以上のインターフェース(それぞれが VLAN アタッチメントに接続)。VLAN アタッチメントは異なるエッジ アベイラビリティ ドメインにあります。 | 2 つの BGP タスク |
2 つ以上のインターフェース(それぞれが HA VPN トンネルに接続)。各トンネルは、異なる HA VPN ゲートウェイ インターフェース番号に接続しています。たとえば、1 つのトンネルが HA VPN ゲートウェイの interface 0 に接続し、もう 1 つのトンネルが同じまたは別のゲートウェイの interface 1 に接続しています。 |
2 つの BGP タスク |
少なくとも次のものを含む Cloud Router。
|
3 つの BGP タスク |
ソフトウェアのメンテナス
Google Cloud では、定期的なメンテナンス イベントによって新機能をリリースし、信頼性を向上させています。メンテナンス中は、新しい BGP タスクが BGP スピーカーとレスポンダーとして引き継ぎます。
Cloud Router のメンテナンスは自動プロセスで、ルーティングを中断しないように設計されています。メンテナンス イベントの所要時間は 60 秒以内です。メンテナンスの前に、Cloud Router はグレースフル リスタート通知(TCP FIN
パケット)をオンプレミス ルーターに送信します。
オンプレミス ルーターがグレースフル リスタート イベントを処理できる場合は、Cloud Router のメンテナンス中にグレースフル リスタート イベントをログに記録します。グレースフル リスタートをサポートしていないオンプレミス ルーターの場合、オンプレミス ルーターの保留タイマーが 60 秒に設定されていることを確認します。
ピア BGP ルーターが使用できないときに学習済みルートが保持される時間は、BGP ホールド タイマーによって決まります。BGP ホールド タイマーは、両側のネゴシエーションによって 2 つの値の低い方に設定されます。Cloud Router の BGP ホールド タイマーのデフォルト値は 60 秒です。オンプレミス ルーターの BGP ホールド タイマーを 60 秒以上に設定することをおすすめします。これにより、アップグレード中に両方のルーターでそれぞれのルートが保持されるため、トラフィックのフローが維持されます。詳細については、BGP タイマーを管理するをご覧ください。
適切に構成されたオンプレミス ルーターでルートが失われないため、Cloud Router のメンテナンス イベントは事前に通知されません。完了したメンテナンス イベントの詳細については、ルーターのメンテナンス イベントの識別をご覧ください。
グレースフル リスタートが Bidirectional Forwarding Detection(BFD)と連携する仕組みについては、グレースフル リスタートと BFD をご覧ください。