動的ルーティング・ゲートウェイ
このトピックでは、動的ルーティング・ゲートウェイ(DRG)の管理方法について説明します。このトピックでは、動的ルーティング・ゲートウェイとDRGという用語は、同じ意味で使用します。コンソールでは動的ルーティング・ゲートウェイという用語を使用しますが、APIでは簡潔にDRGを使用します。
DRGは、次のリソースをアタッチできる仮想ルーターです:
- VCN
- リモート・ピアリング接続
- サイト間VPN IPSecトンネル
- Oracle Cloud Infrastructure FastConnect 仮想回路
DRGには、次の各タイプの複数のネットワーク・アタッチメントを含めることができます:
- VCNアタッチメント: 1つのDRGに多数のVCNをアタッチできます。各VCNは、DRGと同じテナンシにすることも、異なるテナンシにすることもできます(適切なポリシーが設定されている場合)。VCNは1つのDRGにしかアタッチできません。
- RPCアタッチメント: リモート・ピアリング接続を使用して、DRGを他のDRGとピアリングできます。他のDRGは、他のリージョンまたはテナンシ、または同じリージョンに配置できます。
- IPSEC_TUNNELアタッチメント: サイト間VPNを使用して、2つ以上のIPSecトンネルをDRGにアタッチし、オンプレミス・ネットワークに接続できます。これは、テナンシ間でも許可されます。
- VIRTUAL_CIRCUITアタッチメント: 1つ以上のFastConnect仮想回線をDRGにアタッチして、オンプレミス・ネットワークに接続できます。
- LOOPBACKアタッチメント: サイト間VPNを使用して、FastConnect仮想回線を暗号化できます。詳細は、「添付のループバック」を参照してください。
DRGルート表およびDRGルート・ディストリビューションを作成すると、アタッチメント間でトラフィックをルーティングするルーティング・ポリシーを定義できます。ルートは、これらのアタッチメントを使用して動的にインポートおよびエクスポートできます。ルート表の構成を適用するには、そのルート表がアタッチメントに関連付けられている必要がありますが、関連付けられていないルーティング表が存在することもあります。DRGルート・デプロイメントは、明示的なタイプ(インポートまたはエクスポート)であり、関連付けられている場所に依存するアクションを継承しません。
動的ルーティング・ゲートウェイの概要
DRGは仮想ルーターとして機能し、オンプレミス・ネットワークとVCNの間のトラフィックのパスを提供します。また、VCN間のトラフィックのルーティングにも使用できます。様々なタイプのアタッチメントを使用して、様々なリージョンおよびテナンシのコンポーネントを使用してカスタム・ネットワーク・トポロジを構築できます。各DRGアタッチメントには、DRGに進入するパケットをネクスト・ホップにルーティングするために使用されるルート表が関連付けられています。静的ルートに加えて、アタッチされたネットワークからのルートは、オプションのインポート・ルート・ディストリビューションを使用してDRGルート表に動的にインポートされます。
DRGおよびDRGアタッチメントの作業
2021年4月より前に作成されたDRGは、オンプレミス・ネットワークとVCNの間の転送ルーティングを実行したり、VCN間のピアリングを提供したりできません。この機能が必要で、コンソールに「DRGのアップグレード」ボタンが表示されている場合は、そのボタンをクリックします。DRGをアップグレードすると、既存のすべてのBGPセッションがリセットされ、オンプレミス・ネットワークからのトラフィックが一時的に中断されます。アップグレードの開始後にロールバックすることはできません。DRGのアップグレードを参照してください。
DRGを作成する場合、DRGを配置するコンパートメントを指定する必要があります。DRGをコンパートメントに配置すると、アクセス制御の制限に役立ちます。使用するコンパートメントがわからない場合、通常使用しているVCNと同じコンパートメントにDRGを配置します。詳細は、アクセス制御を参照してください。
オプションとして、DRGにわかりやすい名前を割り当てることができます。一意である必要はなく、後で変更できます。Oracleは、Oracle Cloud ID (OCID)と呼ばれる一意の識別子をDRGに自動的に割り当てます。詳細は、リソース識別子を参照してください。
DRGを使用するには、他のネットワーク・リソースにアタッチする必要があります。APIでは、アタッチのプロセスにより、独自のOCIDを持つDrgAttachment
オブジェクトが作成されます。DrgAttachment
には、DRGにアタッチされているオブジェクトのタイプを示すタイプ・フィールドがあります。タイプ・フィールドは、次のいずれかの値に設定できます:
- VCN
- VIRTUAL_CIRCUIT
- IPSEC_TUNNEL
- REMOTE_PEERING_CONNECTION
- LOOPBACK (詳細は、「ループバック・アタッチメント」を参照してください。)
VCNをDRGにアタッチするには、CreateDrgAttachment
操作またはコンソールを使用して、DRGアタッチメント・オブジェクトを明示的に作成します。ネットワーク・オブジェクトを作成または削除すると、仮想回線、IPSecトンネルおよびリモート・ピアリング接続のアタッチメントが自動的に作成(および削除)されます。
DRGルート表およびルート・ディストリビューションの作業
パケットはアタッチメントを介してDRGに入り、そのアタッチメントに割り当てられたDRGルート表のルールを使用してルーティングされます。必要なルーティング・ポリシーに応じて、多数のDRGアタッチメントに同じルート表を割り当てるか、各アタッチメントに専用のルート表を作成できます。
DRGを作成すると、2つのデフォルト・ルート表が作成されます。1つはVCNアタッチメント用で、もう1つは他のすべてのアタッチメント用です。ルート表をアタッチメント・タイプのデフォルト・ルート表として設定すると、代替表を明示的に指定しないかぎり、新しく作成されたそのタイプのアタッチメントにその表が割り当てられます。どのタイプのデフォルトとして指定されているルート表も削除できません。ルート表を削除しようとする前に、アタッチメント・タイプのデフォルト・ルート表としてルート表が設定されていないことを確認してください。
VCNアタッチメントには2つのルート表があります。1つはDRGに進入するトラフィック用のDRGルーティング表で、もう1つはVCNに進入するトラフィック用のVCNルーティング表です。DRGルート表はDRGに存在し、アタッチメントを介してDRGに進入するパケットをルーティングするために使用されます。VCNルート表は、アタッチメントを介してVCNに進入するパケットをルーティングするために使用されます。VCNルーティング表を定義しない場合、非表示の暗黙的な表が常にVCN内のすべてのサブネットへの接続を提供します。
動的インポート・ルート・ディストリビューション
ディストリビューションとは、一致基準(OCIDやアタッチメント・タイプなど)およびアクションを含む宣言文のリストです。ルート・ディストリビューションを使用して、ルートをDRGアタッチメントからインポートまたはエクスポートする方法を指定できます。DRGごとに2つの自動生成されたインポート・ルート・ディストリビューションが作成されます。1つはVCNルート専用、もう1つはすべてのルート用です。他のインポート・ルート配分を作成できます。
DRGルート表には、静的ルートと動的ルートの両方が含まれます。静的ルートはAPIを使用して表に挿入され、動的ルートはアタッチメントからインポートされ、インポート・ルート・ディストリビューションを使用して挿入されます。文の基準がアタッチメントで一致すると、DRGにアタッチされているネットワーク・オブジェクトに関連付けられたルートは、含んでいるディストリビューションに割り当てられたDRGルート表に動的にインポートされます。文がディストリビューションから削除されると、DRGルート表からルートが取り下げられます。ルート・ディストリビューションの文は優先度順に評価されます。数値が最も低いと優先度は最も高くなります。文が評価される順序は、インポートするルートのプリファレンス・セットに影響しません。
コンソールでルート・ディストリビューション文を作成するときに、一致タイプが「すべてに一致」の文を作成できます。APIで、一致基準を空のリストに設定して、「すべてに一致」文をエンコードします。
動的ルートはどのようにアタッチメントに到達しますか。
オンプレミス・ネットワークへのルートは、BGPを使用してCPEからIPSecトンネルおよび仮想回線アタッチメントに通知されます。ルートは、接続されたRPCを介して、あるDRG上のRPCアタッチメントから別のDRG上のRPCアタッチメントに動的に伝播されます。VCNの動的ルートには、すべてのサブネットCIDRまたはすべてのVCN CIDRおよびDRGアタッチメントに関連付けられたVCNルート表で構成されているすべての静的ルートCIDRが含まれます。VCNアタッチメントのvcnRouteTypeプロパティによって、サブネットCIDRまたはVCN CIDRがVCNアタッチメントに伝播されるかどうかが決まります。デフォルトの動作ではサブネットCIDRをインポートしますが、この動作はVCNアタッチメントの作成または更新時に変更できます。詳細は、「ルート集計」を参照してください。
動的エクスポート・ルート・ディストリビューション
アタッチメントがDRGルート表に割り当てられると、その表のコンテンツをアタッチメントに動的にエクスポートできます。デフォルトのエクスポート・ルート・ディストリビューションがアタッチメントに割り当てられている場合、アタッチメントに割り当てられたDRGルート表のコンテンツ全体が、アタッチメントに動的にエクスポートされます。アタッチメントへの動的ルート・エクスポートを無効にするには、API操作removeExportDrgRouteDistribution
を使用して、アタッチメントのexportDrgRouteDistributionId
フィールドをNULLに設定します。VCNアタッチメントへの接続はサポートされません。
DRGごとに1つの自動生成されたエクスポート・ルート・ディストリビューションが作成されます。CLIおよびAPIを使用して、他のエクスポート・ルート・ディストリビューションを作成およびアタッチできます。
ルート伝播の制限事項
IPSecトンネルまたは仮想回線からインポートされたルートは、エクスポート・ルート・ディストリビューションの構成方法に関係なく、他のIPSecトンネルまたは仮想回線アタッチメントにエクスポートされません。同様に、IPSecトンネルまたは仮想回線アタッチメントを介してDRGに進入するパケットは、IPSecトンネルまたは仮想回線アタッチメントを介して退出できません。IPSecトンネルまたは仮想回線アタッチメントからのパケットがIPSecトンネルまたは仮想回線アタッチメントに送信されるようにルーティングが構成されている場合、パケットはドロップされます。
ECMP
等コスト・マルチパス・ルーティング(ECMP)を使用すると、BGPを使用して、FastConnect仮想回線またはIPSecトンネル(回線タイプは混在しない)を介したネットワーク・トラフィックのフローベースのロード・バランシングが可能になります。ECMPでは、最大8つの回線間で、ネットワーク・トラフィックのアクティブ/アクティブ・ロード・バランシングおよびフェイルオーバーが可能です。
Oracleでは、プロトコル、宛先IP、ソースIP、宛先ポートおよびソース・ポートを使用して、一貫性のある決定論的アルゴリズムを使用してロード・バランシングの目的でフローを区別します。したがって、使用可能なすべての帯域幅を使用するには、いくつかのフローが必要です。
ECMPはデフォルトでオフになっており、ルート表単位で有効にできます。Oracleでは、同じルート・プリファレンスを持つルートのみがECMP転送に適格であるとみなされます。詳細は、ルート競合を参照してください。
ルート・ソース
DRGルートは、静的ルートとして、またはVCN、IPSecトンネル、FastConnect仮想回線またはRPCアタッチメントからの動的ルートとして開始します。この起点は、ルートの不変特性であるソースを定義します。APIでは、ソースはDrgRouteRuleのrouteProvenance
と呼ばれます。
ルートは、RPCアタッチメントを使用してDRG間で伝播されます。
ソースIPSEC_TUNNELまたはVIRTUAL_CIRCUITのルートは、アタッチメントのエクスポート・ディストリビューションに関係なく、IPSecトンネルまたは仮想回線アタッチメントにエクスポートされません。
DRGへのサブネット・トラフィックのルーティング
基本ルーティング・シナリオでは、VCNのサブネットからDRGにトラフィックを送信します。たとえば、サブネットからオンプレミス・ネットワークにトラフィックを送信する場合は、サブネットのルート表にルールを設定します。ルールの宛先CIDRはオンプレミス・ネットワーク(またはそこにあるサブネット)のCIDRであり、ルールのターゲットはDRGです。詳細は、VCNルート表を参照してください。
必要なIAMポリシー
DRGを使用したVCNのピアリングには、特定のIAM権限が必要です。必要な権限の詳細は、VCN間のルーティングのIAMポリシーを参照してください。
DRGバージョン
2021年5月17日より前に作成されたDRGは、レガシー・ソフトウェアを使用しており、最新バージョンにアップグレードできます。その後に作成されたDRGには、デフォルトでアップグレードされた機能があります。
次に、アップグレードされたDRGとレガシーDRGの相違点をまとめます:
レガシーDRG:
- プログラム可能なルート表はありません。すべてのトラフィックがオンプレミスから関連付けられたVCNに転送され、VCNからオンプレミスに転送されるデフォルトのルーティング動作があります。
- 単一のVCNにアタッチできます。DRGは、RPCを使用して、リモートVCNピアリング用に別のDRGにアタッチできます。
- FastConnectまたはサイト間VPN、あるいはその両方をアタッチできます。これらの接続を使用してアクセスできるのは、ローカル・リージョンのリソースのみです。
- 同じテナンシ内のリモートDRG-VCNペアを使用したRPC接続をサポートできます。レガシーDRGを使用したリモート・ピアリングについて学習するには、レガシーDRGを使用したリモートVCNピアリングを参照してください。
アップグレードされたDRG:
- デフォルトで2つのルート表があり、後でさらに追加できます。
- 同じリージョン内で多数のVCNをアタッチできます。ローカルVCNからVCNへのトラフィックは、LPGではなく相互に接続されたDRGを通過できます。詳細は、アップグレードされたDRGを介したローカルVCNピアリングを参照してください。
- FastConnect orSite-to-Site VPN、またはその両方を使用してオンプレミスにアタッチできます。これらの接続を使用して、ローカル・リージョンとリモート・リージョンの両方のリソースにアクセスできます。
- 同じテナンシまたは別のテナンシ内のDRG/VCNペアとのRPC接続をサポートします。アップグレードしたDRGを使用したリモート・ピアリングについて学習するには、アップグレードしたDRGを介したリモートVCNピアリングを参照してください。
この記事の残りの部分は最近更新され、一般的なネットワーキング・シナリオと同様に、アップグレードされたDRGの機能が反映されています。レガシーDRGを使用したリモートVCNピアリングは、レガシーDRGに固有の唯一のルーティングまたはピアリング・シナリオです。
DRGをアップグレードする前に
メンテナンス・ウィンドウ中にDRGをアップグレードすることをお薦めします。
拡張DRG機能を利用するには、DRGをアップグレードします。DRGのアップグレード・プロセスは自動化されていますが、アップグレードを開始するために必要な権限を持っている必要があります。DRGのアップグレードは、アップグレード・プロセスの起動後にレガシーDRGにロールバックするオプションのない一方向プロセスです。
各DRGのアタッチメントが順番に更新されるため、各アップグレード・アタッチメントがプロビジョニング状態に強制されます。仮想回線およびVPNトンネル・アタッチメントは、プロビジョニング状態のときにトラフィックを転送できなくなります。仮想回線が1つのみの場合は、約20分間停止する可能性があります。オンプレミス接続用の既存のBGPセッションもリセットされ、アタッチメントおよび接続もオフラインになります。
冗長接続がある場合は、一方の接続がアップグレード中である間に、トラフィックが他の回線にフェイルオーバーされることを想定します。冗長構成を使用すると、オンプレミスとOCIの間の全体的な接続は、DRGのアップグレード中に維持されます。たとえば、DRGに、1つがプライマリとして構成されたオンプレミス・ネットワークへの2つのFastConnect仮想マシン・アタッチメントがある場合、プライマリ仮想回線はアップグレードされますが、接続は削除されますが、トラフィックはセカンダリ仮想マシンを通過できます。その最初の更新が終了し、プライマリ仮想回線経由のトラフィックがリストアされると、プロセスはセカンダリ仮想回線アタッチメントをアップグレードし、最終的に両方の仮想回線がオンラインに戻ります。アップグレード・プロセスは、オンプレミス・アタッチメントごとに最大30分継続することが予想されます。同様に、アップグレード・プロセスでセカンダリ仮想回線のアタッチメントを最初にアップグレードした場合、トラフィックはその回線で停止しますが、セカンダリ回線接続が再確立されるまでプライマリ仮想回線を通過できます。
リモート・ピアリング接続およびVCNアタッチメントでは、仮想回線またはIPSecトンネル接続がどのように行われるかをBGPでリセットする必要がなく、アップグレードが高速になります。LPGまたはその他のゲートウェイへのVCN接続は、DRGではなくVCN上のアタッチメントであるため、影響を受けません。
DRGのアップグレード・プロセスが完了すると、すべてのサイト間VPN IPSecトンネルがオンラインに戻され、FastConnectおよびサイト間VPNのすべてのBGPセッションが再確立されます。デフォルトでは、アップグレードされたDRGには、2つの自動生成されたDRGルート表とインポート・ルート・ディストリビューションがあり、アタッチメントに対して有効になっています。これらのリソースは、レガシーDRGとの下位互換性のために設計されており、以前のすべての通信が、追加のユーザー操作なしでアップグレード前と同じ方法で再開されます。
DRGをアップグレードする方法の段階的な手順は、DRGのアップグレードを参照してください。
シナリオ
ネットワーキング・サービスにおけるDRGの役割と、コンポーネントの一般的な連携方法を理解するのに役立つ詳細なネットワーキング・シナリオが用意されています。
DRGルーティング
DRGルーティングについてさらに学習するには、例付きのOCIネットワーキングでのルーティングの学習(PDF)技術概要を参照してください。
ルート競合
同じCIDRを持つ2つのルートが同じDRGルート表で確認された場合、DRGは次の基準を使用して競合を解決します:
-
静的ルートは、常に動的ルートよりも優先されます。
ノート
同じDRGルート表に同じCIDRを持つ2つの静的ルートを手動で指定することはできませんが、同じCIDRを持つ複数のルートを動的にインポートすることはできません。 - 動的ルート間の競合は、最初にルートのASパスを分析することによって解決されます:
- ルート・ソースがVCNまたはSTATICのルートには、常に空のASパスがあります。
- ルート・ソースがIPSEC_TUNNELまたはVIRTUAL_CIRCUITのルートには、ASパス・データが移入されています(詳細は、オンプレミス・ネットワークへの接続のルーティング詳細を参照してください)。
- それ以外の場合、ルートをインポートしたアタッチメント・タイプは、そのアタッチメント・タイプに基づいて次の優先度に従って評価されます:
- VCN: DRGは、任意だが安定した選択を行います。
- VIRTUAL_CIRCUIT: ECMPが無効である場合、DRGは任意だが安定した選択を行います。ECMPが有効である場合、すべてのルートがルート表に追加され、DRGはECMPを使用してルーティングの選択を行います。DRG内でサポートされるECMPの最大幅は8です。
- IPSEC_TUNNEL: ECMPがdisabledである場合、DRGは任意だが安定したselection.If ECMPをenabledにすると、すべてのルートがルート表に追加され、DRGはECMPを使用してルーティングの選択を行います。DRG内でサポートされるECMPの最大幅は8です。
-
REMOTE_PEERING_CONNECTION: DRGは、ネットワーク距離が最小のルートを選択します。
2つのルートが同じネットワーク距離である場合、DRGは最も優先されるルート・ソースを持つルートを選択します(STATIC > VCN > VIRTUAL_CIRCUIT> IPSEC_TUNNEL > RPC)。
2つのルートに同じルート・ソースがある場合、DRGは任意だが安定した選択を行います。
- 競合するルートが同じタイプのアタッチメントからインポートされた場合、競合は、アタッチメント・タイプに応じて異なる方法で解決されます:
- VCNアタッチメント: 2つのVCNアタッチメントから同じCIDRがインポートされた場合、任意だが安定した決定手順を使用して1つのみが選択されます。
- VIRTUAL_CIRCUITおよびIPSEC_TUNNELアタッチメント: CIDRが同じでAS_PATHの長さが異なる複数のルートがDRGルート表にインポートされた場合、AS_PATHの長さが最小のルートが選択されます。それ以外の場合は、任意だが安定した決定手順を使用して1つのルートが選択されます。
- RPCアタッチメント: 2つのRPCアタッチメントから同じCIDRがインポートされた場合、任意で安定した決定手順を使用してそれらのうちの1つが選択されます。
ルート表のコンテンツをリストすることで、競合解決の結果を確認できます。非推奨のルートは「競合」ステータスでマークされます。
ルート集計
RFC-1338のルート・アグリゲーションで説明されているように、クライアントごとに個別のルートを通知するのではなく、それに含まれるすべての宛先を記述する単一の集約ルートを通知できます。OCIネットワーキングでのこの主な例は、DRGのVCNアタッチメントをサブネットCIDRではなくVCN CIDRをインポートするように構成することで、BGPによって通知されるルートが簡素化される場合に発生します。ネットワーク・アーキテクチャによっては、次のことも選択できます。
- DRGのインポート・ディストリビューションではなく静的ルートを使用して、さらに細かく要約します(このスコープは特定のアタッチメントに制限されます)。
- 2番目のDRGを導入し、集計されたアタッチメントを別のDRGに対してRPCを介してのみ使用できるようにすることで、複数のアタッチメントを集計します
他の形式のルート集計は使用できません。
制限事項
一部の機能は可能であるように見えますが、次のルーティング機能は許可されません。
- RPC、IPSecトンネルまたは仮想回線アタッチメントの明示的な作成または削除
- IPSecトンネルまたは仮想回線アタッチメントのネクスト・ホップを含むDRGルート表の静的ルート
- デフォルト以外のエクスポート・ルート・ディストリビューションの使用
- VCNアタッチメントへの動的ルート・エクスポート
- 4つ以上のDRGを介してRPCを介して伝播するルート
Oracleからオンプレミス・ネットワークへのルートを優先するためのBGPの使用
この項では、BGPのAS_PATH属性を使用して、単一のDRGルート表のコンテキストでルート選択に影響を与える方法について詳細に説明します。
異なるパスのルートが同じ場合、Oracleは、Oracleへの接続の開始に使用されたパスには関係なく、オンプレミス・ネットワークにトラフィックを送信する際に最短のASパスを使用します。 したがって、非対称ルーティングが許可されます。ここでの非対称ルーティングは、リクエストに対するOracleのレスポンスが、リクエストとは異なるパスに従うことを意味します。たとえば、エッジ・デバイス(顧客構内機器またはCPEとも呼ばれる)の構成方法に応じて、サイト間VPNを介してリクエストを送信できますが、OracleレスポンスはFastConnectを介して戻ることができます。対称ルーティングを強制するには、ルートの前にBGPおよびASパスを使用して、Oracleが接続に応答および開始するときに使用するパスに影響を与えることをお薦めします。
Oracleは、オンプレミス・ネットワークとVCN間の異なる接続タイプでエッジ・デバイスが同じルートおよびルーティング属性を通知する場合に使用されるパスのプリファレンスを確立するために、ASパス・プリペンドを実装しています。次の表に詳細を示します。他の方法でルーティングに影響を与えないかぎり、同じルートが接続のOracle終端にあるDRGへの複数のパスを経由して通知されるときに、Oracleにより次の順序でパスが優先されます:
Oracleプリファレンス | パス | Oracleによるパス優先方法の詳細 | ルートのASパスの結果 |
---|---|---|---|
1 | FastConnect | Oracleは、エッジ・デバイスが通知するルートにASNを追加せず、ASパスの合計長は1になります。 | 独自のASN |
2 | BGPルーティングを使用したサイト間VPN | Oracleは、エッジ・デバイスがBGPを使用したサイト間VPNを介して通知するすべてのルートに単一のプライベートASNを追加し、ASパスの合計長は2になります。 | プライベートASN、独自のASN |
3 | 静的ルーティングを使用したサイト間VPN | Oracleは、ユーザーにより指定された静的ルートに3つのプライベートASNを追加します(これらのルートは、サイト間VPNのOracle終端にある動的ルーティング・ゲートウェイ(DRG)に通知されます)。この結果、ASパスの合計長は3になります。 | プライベートASN、プライベートASN、プライベートASN |
前述の表では、ASパスに単一の自律システム番号を送信することを想定しています。Oracleは、ユーザーが送信する完全なASパスに従います。静的ルーティングを使用し、「独自のASN」に加えて2つ以上の他のASNを含むASパスも送信すると、Oracleのルーティング・プリファレンスが変更される可能性があるため、予期しない動作が発生することがあります。
ポリシーベースのVPN静的ルーティングの動作については前述しましたが、Oracleでは、VPNバックアップでFastConnect接続を使用する場合は、IPSecルートベースのVPNでBGPを使用することもお薦めします。この方法によって、フェイルオーバー動作を完全に制御できます。