VCNルート表

このトピックでは、Virtual Cloud Network (VCN)のルート表を管理する方法について説明します。Dynamic Routing Gateway (DRG)のルート表の詳細は、Dynamic Routing Gatewaysを参照してください。

VCNのルーティングの概要

VCNでは、ルート表を使用して、VCNから(インターネット、オンプレミス・ネットワーク、ピアリングされたVCNなどに)トラフィックを送信します。これらのルート表には、すでに使い慣れている従来のネットワーク・ルート・ルールのように動作するルールがあります。各ルールでは、宛先CIDRブロックと、そのCIDRに一致するトラフィックのターゲット(ネクスト・ホップ)を指定します。

VCNでのルーティングの基本は次のとおりです:

  • 基本的なルーティング・シナリオは、サブネット外部の宛先にサブネットのトラフィックを送信するためのものです。サブネットには、選択した単一のルート表が関連付けられます。そのサブネット内のすべてのVNICは、ルート表のルールの対象になります。ルールは、サブネットから送信されるトラフィックのルーティング方法を制御します。
  • VCNローカル・ルーティングは、VCNサブネット内およびサブネット間のトラフィックを自動的に処理します。ローカル・ルーティングでは、トラフィックを有効にするための明示的なルート・ルールを定義する必要はありません。ローカル・ルーティング・ルールは暗黙的であり、ルーティング表には表示されません。VCNのサブネット間のルーティングは、静的ルートを追加することで変更できます(VCN内ルーティングを参照)。
  • VCN内ルーティングを使用して、VCN内の別のサブネットを宛先とするトラフィックに対して、VCN内のネクスト・ホップ・プライベートIP、LPGまたはDRGを指定できます。VCN内ルーティングにより、より複雑なセキュリティおよびネットワーク仮想化のユースケースが可能になります。OCIでは、サブネット間のトラフィックに加えて、ゲートウェイを介してVCNに進入するトラフィックに対するVCN内ルーティングもサポートされます。
  • ルート表に重複するルールがある場合、Oracleでは表内で最も特定的なルール(最長接頭辞一致を満たすルール)を使用してトラフィックをルーティングします。一方のCIDRが他方のCIDR内に含まれている場合、2つのCIDRは重複していると言われます。VCNルート表には、ローカルVCNルートのエントリが含まれます。VCN CIDRブロックの静的ルート(VCNローカル・ルートと同じ接頭辞の長さ)を作成する場合、静的ルートが優先されます。
  • VCNの外部でルーティングするためのネットワーク・トラフィックと一致するルート・ルールがない場合、トラフィックは破棄(ブラックホール化)されます。
  • IPv6アドレス指定は、すべての商用リージョンおよび政府リージョンでサポートされています。詳細は、IPv6アドレスを参照してください。

VCNとオンプレミス・ネットワーク間のルーティングに関する重要な詳細は、オンプレミス・ネットワークへの接続のルーティング詳細を参照してください。

ルート表とルート・ルールの作業

各VCNには、VCN CIDRのルートを含む暗黙的なルールを持つデフォルトのルート表が自動的に付属しています。特に指定しない場合は、すべてのサブネットでVCNのデフォルト・ルート表が使用されます。VCNにルート・ルールを追加する場合、デフォルト表に簡単に追加できます。ただし、必要に応じて、サブネットごとにカスタム・ルート表を作成できます。たとえば、VCNにパブリック・サブネットとプライベート・サブネットがある場合(例は、シナリオC: VPNを使用したパブリック・サブネットとプライベート・サブネットを参照)、サブネットのルート・ルールは異なる必要があるため、サブネットに異なるルート表を使用する必要があります。

VCN内の各サブネットは、単一のルート表を使用します。サブネットの作成時に、どれを使用するかを指定します。いつでもサブネットが使用するルート表を変更できます。また、ルート表のルールを編集したり、表からすべてのルールを削除することもできます。

オプションで、作成時にカスタム・ルート表にわかりやすい名前を割り当てることができます。一意である必要はなく、後で変更できます。Oracleは、Oracle Cloud ID (OCID)と呼ばれる一意の識別子をルート表に自動的に割り当てます。詳細は、リソース識別子を参照してください。

ルート・ルールでは、宛先CIDRブロックと、そのCIDRに一致するトラフィックのターゲット(ネクスト・ホップ)を指定します。ルート・ルールで許可されるタイプのターゲットは次のとおりです:

ノート

特定のリソースがルート・ルールのターゲットである場合、それを削除することはできません。たとえば、トラフィックがルーティングされているインターネット・ゲートウェイは削除できません。ゲートウェイまたはその他のリソースを削除する前に、そのインターネット・ゲートウェイをターゲットとして持つ(すべてのルート表の)すべてのルールを削除してください。

ルート表にルート・ルールを追加するときに、宛先CIDRブロックとターゲット(およびそのターゲットが存在するコンパートメント)を指定します。例外: ターゲットがサービス・ゲートウェイである場合、宛先CIDRブロックのかわりに、対象サービスのパブリック・エンドポイントを表すOracle提供の文字列を指定します。この方法では、時間の経過とともに変化する可能性のあるサービスのCIDRブロックをすべて把握する必要はありません。

ルールを誤って構成した(たとえば、間違った宛先CIDRブロックを入力した)場合、ルーティングしようとしているネットワーク・トラフィックは、破棄(ブラックホール化)されるか、意図しないターゲットに送信される可能性があります。

ルート表は、コンパートメント間で移動できます。ルート表の移動は、VCNまたはサブネットへのアタッチメントには影響しません。ルート表を新しいコンパートメントに移動すると、固有のポリシーがただちに適用され、ルート表へのアクセスが影響を受けます。詳細は、アクセス制御を参照してください。

VCNのデフォルト・ルート表は削除できません。カスタム・ルート表を削除するには、サブネットまたはゲートウェイ(DRG、LPG、IGW、NGW、SGWなど)に関連付けられていない必要があります。

適用可能な制限の一覧と制限の引上げをリクエストする手順は、「サービス制限」を参照してください。

VCN内ルーティング

VCN内ルーティングでは、VCN CIDRブロック内に含まれるIPアドレスを宛先とするトラフィックに適用されるデフォルト・ルーティングの決定をオーバーライドできます。VCN内ルーティングには次の機能があります:

  • ローカル・ルート:特に指定のないルート・ルールを追加しないかぎり、各VCNは、VCN内およびVCNサブネット間のトラフィックを自動的にルーティングします。ローカル・トラフィックは、VCN CIDR内のローカル・ルーティングなど、サブネットに関連付けられたルート表を使用します。
  • カスタムVCN内ルート:これらは、VCN内トラフィック用のVCNまたはサブネット・ルート表に作成するルート・ルールであり、通常のローカル・ルートをオーバーライドできます。すべてのカスタムVCN内ルートには、ターゲット(VCN内のDRG、LPGまたはプライベートIP)および静的のルート・タイプがあります。
  • 最適なルート選択:最長接頭辞一致(または最も特定的なルート)が選択されます。同じ接頭辞のルートが複数ある場合は、次のルート・タイプの優先度に基づいて最適なルートが選択されます:
    1. 静的ルート(ユーザー定義)
    2. 暗黙的なローカル・ルート(OCIによって自動的に作成)は、ルート表に表示されません
  • IPv6: OCIは、IPv6 VCN接頭辞のVCN内ルーティングをサポートしています。
ノート

サブネット内ルーティングはサポートされていません。元のVNICと同じサブネット内の宛先IPアドレスを持つトラフィックは、適切な宛先に直接転送されます(ルーティングされません)。

ゲートウェイ・イングレス・ルーティング

サブネットを退出するトラフィックは、サブネット・ルート表を使用してルーティングされます。サブネットに進入するトラフィックは、ゲートウェイ・ルート表(そのゲートウェイに関連付けられたルート表)を使用してルーティングされます。ゲートウェイ・イングレス・ルーティングのルート・ルールは、次のリソースに関連付けられたルート表でサポートされています:
  • ローカル・ピアリング・ゲートウェイ(LPG)
  • 動的ルーティング・ゲートウェイ
  • インターネット・ゲートウェイ
  • NATゲートウェイ
  • サービス・ゲートウェイ
ノート

ルート表をこれらのゲートウェイのいずれかに関連付ける場合、ゲートウェイにはその後、常に関連付けられたルート表が必要です。関連付けられたルート表のルールは変更または削除できます。インターネット・ゲートウェイの場合、ターゲットはパブリック・サブネット内に存在する必要があります。

VCN内ルーティングの使用方法

次の例では、インターネットとVCN内のVNIC間を流れるすべてのトラフィックは、Subnet-Aのセキュリティ・アプライアンスを経由してルーティングされます。また、サブネット間のトラフィックは同じファイアウォールを経由します。この例を実装するには、次のようにします:
  1. インバウンド・トラフィックの10.0.1.4 (ファイアウォール)のネクスト・ホップを指定する静的ルート・ルールをIGWルート表に作成します。
  2. サブネットA、BおよびCのルート表を作成します。インターネットからサブネットBおよびCへのトラフィックは、サブネットAの10.0.1.4にあるファイアウォール・アプライアンスを経由する必要があります。サブネットBとC間のトラフィックは、同じファイアウォールを経由する必要があります。

次の図は、内部ルーティングの例を示しています。

内部ルーティングの例の図
コールアウト1: IGWルート表
宛先 ターゲット ルート・タイプ
10.0.0.0/16 10.0.1.4 静的
コールアウト2: サブネットAルート表
宛先 ターゲット ルート・タイプ
0.0.0.0/0 IGW 静的
コールアウト3: サブネットBルート表
宛先 ターゲット ルート・タイプ
10.0.0.0/16 10.0.1.4 静的
0.0.0.0/0 10.0.1.4 静的
コールアウト4: サブネットCルート表
宛先 ターゲット ルート・タイプ
10.0.0.0/16 10.0.1.4 静的
0.0.0.0/0 10.0.1.4 静的

必要なIAMポリシー

Oracle Cloud Infrastructureを使用するには、管理者からポリシーでセキュリティ・アクセス権が付与されている必要があります。コンソールまたは(SDK、CLIまたはその他のツールを使用した) REST APIのどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。

管理者用: ネットワーキングに対するIAMポリシーを参照してください。

VCNルート表の制限

このセクションは、VCNルート表の制限に固有です。DRGルート表の制限は、「DRGルート表の制限」セクションに記載されています。

リソース

スコープ

Oracle Universal Credits

Pay As You Goまたはトライアル

VCNルート表 VCN 300 300
ルート・ルール VCNルート表 200 200

ルート・ターゲットとしてのプライベートIPの使用

プライベートIPの定義がよくわからない場合は、プライベートIPアドレスを参照してください。要するに、プライベートIPとは、プライベートIPアドレスと関連プロパティを含み、独自のOCIDを持つオブジェクトです。

一般的な使用例

OCIは、特定のサブネットのルート表を使用して、サブネットの外部にある宛先IPアドレスにトラフィックをルーティングします。宛先がVCNの外部にある場合、通常は、トラフィックをVCNのゲートウェイ(オンプレミス・ネットワークまたは別のVCNに接続されたDRGや、インターネットに接続されたインターネット・ゲートウェイなど)にルーティングするルート・ルールを設定します。宛先が同じVCNの別のサブネットにある場合、デフォルトでは、トラフィックはVCN CIDRのローカル・ルートを使用してルーティングされます。ただし、最初にVCNのインスタンス経由でそのトラフィックをルーティングすることもできます。その場合、VCNのゲートウェイではなく、VCNのプライベートIPをターゲットとして使用できます。これを行う理由はいくつかあります:

  • インスタンスからの送信トラフィックをフィルタするファイアウォールや侵入検出などの仮想ネットワーク・アプライアンス(NVA)を実装するため。
  • VCNでオーバーレイ・ネットワークを管理することにより、コンテナ・オーケストレーション・ワークロードを実行するため。
  • VCNにネットワーク・アドレス変換(NAT)を実装するため。かわりに、VCNでNATゲートウェイを使用することをお薦めします。一般的に、NATは、直接インターネットに接続できないインスタンスのアウトバウンド・インターネット・アクセスを可能にします。

このような使用例を実装するには、単純にトラフィックをインスタンスにルーティングするよりも多くの処理が必要です。また、インスタンス自体の構成も必要です。

ヒント

セカンダリ・プライベートIPアドレスを使用することで、プライベートIPルート・ターゲットの高可用性を有効にできます。障害に備えて、同じサブネット内の既存のVNICから別のVNICにセカンダリ・プライベートIPを移動できます。セカンダリ・プライベートIPアドレスの別のVNICへの移動(コンソールの手順)およびUpdatePrivateIp (APIの手順)を参照してください。

ターゲットとしてプライベートIPを使用するための要件

  • プライベートIPは、ルート表と同じVCN内にある必要があります。
  • プライベートIPのVNICは、VNICがトラフィックを転送できるように、ソース/宛先チェックをスキップするように構成する必要があります。デフォルトでは、VNICはチェックを実行するように構成されます。詳細は、VNICと物理NICの概要を参照してください。
  • パケットを転送するようにインスタンス自体を構成する必要があります。
  • ルート・ルールでは、IPアドレス自体ではなく、プライベートIPのOCIDをターゲットとして指定する必要があります。例外: コンソールを使用する場合、ターゲットとしてプライベートIPアドレス自体を指定することもできます。また、コンソールによって、ルール内で対応するOCIDが決定され、使用されます。

    重要

    プライベートIPターゲットを持つルート・ルールは、次の場合にブラックホールとなることがあります:
    • プライベートIPが割り当てられているインスタンスが停止または終了します
    • プライベートIPが割り当てられているVNICが更新されて、ソース/宛先チェックが有効になるか、削除されます
    • プライベートIPがVNICから割当て解除されます

    ターゲットのプライベートIPが終了すると、コンソールでは、ターゲットOCIDが存在しなくなったことを示すノートがルート・ルールに表示されます。

    フェイルオーバーの場合: ターゲット・インスタンスが終了した後で、セカンダリ・プライベートIPをスタンバイに移動する場合は、スタンバイ上の新しいターゲット・プライベートIPのOCIDを使用するようにルート・ルールを更新する必要があります。ルールではターゲットのOCIDが使用され、プライベートIPアドレス自体は使用されません。

一般的な設定プロセス

  1. トラフィックを受信および転送するインスタンスを決定します。
  2. インスタンスのプライベートIPを選択します(インスタンスのプライマリVNICまたはセカンダリVNICのどちらでも可能)。フェイルオーバーを実装する場合は、インスタンスのVNICのいずれかにセカンダリ・プライベートIPを設定します。
  3. プライベートIPのVNICでソース/宛先チェックを無効にします。VNICと物理NICの概要を参照してください。
  4. プライベートIPのOCIDを取得します。コンソールを使用している場合、OCIDまたはプライベートIPアドレス自体を、プライベートIPのコンパートメント名とともに取得できます。
  5. プライベートIPにトラフィックをルーティングする必要があるサブネットについて、サブネットのルート表を表示します。表に、同じ宛先CIDRで異なるターゲットを持つルールがすでにある場合、そのルールを削除します。
  6. 次を含むルート・ルールを追加します:

    • ターゲット・タイプ: VCNのルーティングの概要のターゲット・タイプのリストを参照してください。ターゲット・タイプがDRGの場合は、VCNのアタッチされているDRGがターゲットとして自動的に選択されるため、ターゲットを自分で指定する必要はありません。ターゲットがプライベートIPオブジェクトの場合、ターゲットを指定する前に、そのプライベートIPオブジェクトを使用するVNICでソース/宛先チェックを無効にする必要があります。詳細は、ルート・ターゲットとしてのプライベートIPの使用を参照してください。
    • 宛先CIDRブロック: ターゲットがサービス・ゲートウェイでない場合にのみ使用できます。値は、トラフィックの宛先CIDRブロックです。特定の宛先CIDRブロックを指定できます。または、サブネットを退出するすべてのトラフィックをこのルールで指定されたターゲットにルーティングする必要がある場合は、0.0.0.0/0を使用できます。
    • 宛先サービス:ターゲットがサービス・ゲートウェイである場合のみ使用できます。値は、目的のサービスCIDRラベルです。
    • コンパートメント: ターゲットが配置されているコンパートメント。
    • ターゲット: ターゲット。ターゲットがプライベートIPオブジェクトの場合、そのOCIDを入力します。または、プライベートIPアドレス自体を入力することもできます。その場合、コンソールによって、対応するOCIDが決定され、それがルート・ルールのターゲットとして使用されます。
    • 説明: ルールのオプションの説明。

前述のように、パケットを転送するようにインスタンス自体を構成する必要があります。