動的ルーティング・ゲートウェイ

このトピックでは、動的ルーティング・ゲートウェイ(DRG)の管理方法について説明します。このトピックでは、動的ルーティング・ゲートウェイDRGという用語は、同じ意味で使用します。コンソールでは動的ルーティング・ゲートウェイという用語を使用しますが、APIでは簡潔にDRGを使用します。

DRGは、次のリソースをアタッチできる仮想ルーターです:

DRGには、次の各タイプの複数のネットワーク・アタッチメントを含めることができます:

  • VCNアタッチメント: 複数のVCNを単一のDRGにアタッチできます。各VCNは、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を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では、ソースはDrgRouteRulerouteProvenanceと呼ばれます。

ルートは、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ピアリングにのみ使用できます。
  • FastConnectまたはサイト間VPN、あるいはその両方をアタッチできます。これらの接続を使用してアクセスできるのは、ローカル・リージョンのリソースのみです。
  • 同じテナンシ内のリモートDRG-VCNペアを使用したRPC接続をサポートできます。レガシーDRGを使用したリモート・ピアリングについて学習するには、レガシーDRGを使用したリモートVCNピアリングを参照してください。

アップグレードされたDRG:

  • デフォルトで2つのルート表があり、後でさらに追加できます。
  • 同じリージョン内で多数のVCNをアタッチできます。ローカルVCNからVCNへのトラフィックは、LPGではなく相互に接続されたDRGを通過できます。詳細は、アップグレードされたDRGを介したローカルVCNピアリングを参照してください。
  • FastConnectまたはサイト間VPN、あるいはその両方を使用してオンプレミスにアタッチできます。これらの接続を使用して、ローカル・リージョンとリモート・リージョンの両方のリソースにアクセスできます。
  • 同じテナンシまたは別のテナンシ内のDRG/VCNペアとのRPC接続をサポートします。アップグレードされたDRGを使用したリモート・ピアリングについて学習するには、アップグレードされたDRGを介したリモートVCNピアリングを参照してください。

この記事の残りの部分は最近更新され、一般的なネットワーキング・シナリオと同様に、アップグレードされたDRGの機能が反映されています。レガシーDRGを使用したリモートVCNピアリングは、レガシーDRGに固有の唯一のルーティングまたはピアリング・シナリオです。

DRGをアップグレードする前に

拡張DRG機能を利用するには、DRGをアップグレードします。DRGのアップグレード・プロセスは自動化されていますが、アップグレードを開始するために必要な権限を持っている必要があります。

DRGのアップグレードは、アップグレード・プロセスの開始後にレガシーDRGにロールバックするオプションのない一方向プロセスです。

アップグレード・プロセス中に、すべてのDRGのアタッチメントでトラフィックが停止することが予想されます。各アタッチメントが順番に更新され、アップグレード中の各アタッチメントは強制的にプロビジョニング状態になり、トラフィックは転送されなくなります。冗長接続がある場合、トラフィックは、一方のアップグレード中は他方の回線にフェイルオーバーされます。回線が1つのみの場合は、約20分間停止する可能性があります。オンプレミス接続(FastConnectまたはサイト間VPN)の既存のBGPセッションもリセットされ、その間はアタッチメントおよびサイト間VPN IPSecトンネルもオフラインになります。

たとえば、DRGに2つのFastConnect仮想回線アタッチメントがある場合、一方の仮想回線が最初にアップグレードされ、その接続は破棄されますが、トラフィックは他方の仮想回線を通過できます。その更新が完了すると、アップグレード・プロセスによって2番目の仮想回線アタッチメントがアップグレードされ、完了した仮想回線はオンラインに戻ります。アップグレード・プロセスは、オンプレミス・アタッチメントごとに最大30分継続することが予想されます。

リモート・ピアリング接続は、仮想回線やIPSecトンネル接続のようにリセットする必要がなく、アップグレードに同じ時間はかかりません。

ノート

DRGにアタッチされているコンポーネントでは、アップグレード・プロセス中にトラフィックが停止することが予想されます。Oracleでは、メンテナンス・ウィンドウ中にDRGをアップグレードすることをお薦めします。

DRGのアップグレード・プロセスが完了すると、すべてのサイト間VPN IPSecトンネルがオンラインに戻され、FastConnectおよびサイト間VPNのすべてのBGPセッションが再確立されます。デフォルトでは、アップグレードされたDRGには、2つの自動生成されたDRGルート表とインポート・ルート・ディストリビューションがあり、アタッチメントに対して有効になっています。これらのリソースは、レガシーDRGとの下位互換性のために設計されており、以前のすべての通信が、追加のユーザー操作なしでアップグレード前と同じ方法で再開されます。

DRGをアップグレードする方法の段階的な手順は、DRGのアップグレードを参照してください。

ノート

DRGのアップグレード・プロセスが何らかの理由でスタックした場合、My Oracle Supportでサービス・リクエストを作成し、チケットを高重大度としてマークします。

シナリオ

ネットワーキング・サービスにおけるDRGの役割と、コンポーネントの一般的な連携方法を理解するのに役立つ詳細なネットワーキング・シナリオが用意されています。

DRGルーティング

DRGルーティングについてさらに学習するには、OCI Networking in Examples(PDF)の技術概要を参照してください。

ルート競合

同じCIDRを持つ2つのルートが同じDRGルート表で確認された場合、DRGは次の基準を使用して競合を解決します:

  1. 静的ルートは、常に動的ルートよりも優先されます。

    ノート

    同じDRGルート表に同じCIDRを持つ2つの静的ルートを手動で指定することはできませんが、同じCIDRを持つ複数のルートを動的にインポートすることは可能です。
  2. 動的ルート間の競合は、最初にルートのASパスを分析することによって解決されます:
  3. それ以外の場合、ルートをインポートしたアタッチメント・タイプは、そのアタッチメント・タイプに基づいて次の優先度に従って評価されます:
    1. VCN: DRGは、任意だが安定した選択を行います。
    2. VIRTUAL_CIRCUIT: ECMPが無効である場合、DRGは任意だが安定した選択を行います。ECMPが有効である場合、すべてのルートがルート表に追加され、DRGはECMPを使用してルーティングの選択を行います。DRG内でサポートされるECMPの最大幅は8です。
    3. IPSEC_TUNNEL: ECMPが無効である場合、DRGは任意だが安定した選択を行います。ECMPが有効である場合、すべてのルートがルート表に追加され、DRGはECMPを使用してルーティングの選択を行います。DRG内でサポートされるECMPの最大幅は8です。
    4. REMOTE_PEERING_CONNECTION: DRGは、ネットワーク距離が最小のルートを選択します。

      2つのルートが同じネットワーク距離である場合、DRGは最も優先度の高いルート・ソースを持つルートを選択します(STATIC > VCN > VIRTUAL_CIRCUIT > IPSEC_TUNNEL > RPC)。

      2つのルートに同じルート・ソースがある場合、DRGは任意だが安定した選択を行います。

  4. 競合するルートが同じタイプのアタッチメントからインポートされた場合、競合は、アタッチメント・タイプに応じて異なる方法で解決されます:
    1. VCNアタッチメント: 2つのVCNアタッチメントから同じCIDRがインポートされた場合、任意だが安定した決定手順を使用して1つのみが選択されます。
    2. VIRTUAL_CIRCUITおよびIPSEC_TUNNELアタッチメント: CIDRが同じでAS_PATHの長さが異なる複数のルートがDRGルート表にインポートされた場合、AS_PATHの長さが最小のルートが選択されます。それ以外の場合は、任意だが安定した決定手順を使用して1つのルートが選択されます。
    3. RPCアタッチメント: 2つのRPCアタッチメントから同じCIDRがインポートされた場合、任意で安定した決定手順を使用してそれらのうちの1つが選択されます。

ルート表のコンテンツをリストすることで、競合解決の結果を確認できます。非推奨のルートは「競合」ステータスでマークされます。

制限事項

一部の機能は可能であるように見えますが、現在、次のルーティング機能は許可されていません:

  • RPC、IPSecトンネルまたは仮想回線アタッチメントの明示的な作成または削除
  • IPSecトンネルまたは仮想回線アタッチメントのネクスト・ホップを含むDRGルート表の静的ルート
  • デフォルト以外のエクスポート・ルート・ディストリビューションの使用
  • VCNアタッチメントへの動的ルート・エクスポート
  • 4つより多くのDRGを介してRPCを経由するルートの伝播

Oracleからオンプレミス・ネットワークへのルートを優先するためのBGPの使用

この項では、BGPのAS_PATH属性を使用して、単一のDRGルート表のコンテキストでルート選択に影響を与える方法について詳細に説明します。

異なるパスのルートが同じ場合、Oracleは、Oracleへの接続の開始に使用されたパスには関係なく、オンプレミス・ネットワークにトラフィックを送信する際に最短のASパスを使用します したがって、非対称ルーティングが許可されます。ここでの非対称ルーティングは、リクエストに対するOracleのレスポンスが、リクエストとは異なるパスに従うことを意味します。たとえば、エッジ・デバイス(顧客構内機器またはCPEとも呼ばれる)の構成方法に応じて、サイト間VPNを経由してリクエストを送信できますが、OracleレスポンスはFastConnectを経由して戻ることができます。ルーティングで対称性を強制的に使用する場合は、応答および接続の開始時にOracleが使用するパスに影響を与えるため、ルートにBGPおよびASパス・プリペンドを使用することをお薦めします。

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を使用することもお薦めします。この方法によって、フェイルオーバー動作を完全に制御できます。

その他の関連リンク