仮想ネットワーク・インタフェース・カード(VNIC)

このトピックでは、Virtual Cloud Network (VCN)の仮想ネットワーク・インタフェース・カード(VNIC)を管理する方法について説明します。

VNICと物理NICの概要

Oracle Cloud Infrastructureデータ・センターのサーバーには、物理ネットワーク・インタフェース・カード(NIC)があります。これらのサーバーのいずれかでインスタンスを起動すると、インスタンスは、物理NICに関連付けられたネットワーキング・サービスの仮想NIC (VNIC)を使用して通信を行います。次の各項では、VNICとNIC (およびそれらの関係)について説明します。

VNICについて

VNICにより、インスタンスはVCNに接続し、インスタンスがVCNの内部および外部のエンドポイントに接続する方法を決定できます。各VNICはVCN内のサブネットに存在し、次のアイテムを含みます:

  • ユーザーまたはOracleのいずれかによって選択された、VNICが存在するサブネットにおける1つのプライマリ・プライベートIPv4アドレス。サブネットにIPv6接頭辞が割り当てられている場合は、プライマリIPアドレスをIPv6アドレスにできます。
  • ユーザーまたはOracleのいずれかを選択して、VNICが存在する同じサブネットにおける最大64のオプションのセカンダリ・プライベートIPv4アドレス
  • オプションのセカンダリIPv6アドレスは、最大32個です。IPv6アドレス指定は、すべての商用リージョンおよび政府リージョンでサポートされています。詳細は、IPv6アドレスおよびサービス制限を参照してください。
  • Oracleによって選択されたが、ユーザーによって任意に割り当てられた、各プライベートIPに対するオプションのパブリックIPv4アドレス
  • 各プライベートIPアドレスに対するDNSのオプションのホスト名(仮想クラウド・ネットワークのDNSを参照)。
  • MACアドレス。
  • Oracleによって割り当てられたVLANタグで、VNICからインスタンスへのアタッチメントが完了した場合に使用できます(ベア・メタル・インスタンスにのみ適用されます)。
  • VNICのネットワーク・トラフィックでソース/宛先チェックを有効または無効にするフラグ(VNICと物理NICの概要を参照)。
  • 選択した1つ以上のネットワーク・セキュリティ・グループ(NSG)内のオプションのメンバーシップ。NSGには、そのNSGのVNICにのみ適用されるセキュリティ・ルールがあります。

各VNICには、ユーザーが割当て可能なわかりやすい名前と、Oracle割当てのOCIDもあります(リソース識別子を参照)。

各インスタンスには、起動時に自動的に作成およびアタッチされるプライマリVNICがあります。そのVNICは、起動時に指定したサブネットに配置されます。プライマリVNICはインスタンスから削除できません。セカンダリVNICはインスタンスから削除またはデタッチできますが、インスタンスにアタッチされなくなると、いつでもすぐに削除され、存在することはできません。

VNICと物理NICの関係

この項は、ベア・メタル・インスタンスに関連しています。

ベア・メタル・インスタンスのOSは、2つの物理ネットワーク・デバイスを認識し、それらを2つの物理NIC (0と1)として構成します。両方ともアクティブになるかどうかは、基礎となるハードウェアによって決まりますベア・メタル・シェイプのネットワーク帯域幅の仕様を確認することで、シェイプに対してどのNICがアクティブであるかを判断できます。ネットワーク帯域幅が「2 x <bandwidth> Gbps」とリストされている場合、NIC 0とNIC 1の両方がアクティブであり、各物理NICには指定された帯域幅容量があることを意味します。ネットワーク帯域幅が「1 x <bandwidth> Gbps」とリストされている場合、NIC 0のみがアクティブであることを意味します。現在の世代のStandardおよびDenseIOシェイプでは、通常、NIC 0とNIC 1の両方がアクティブです。

NIC 0は、プライマリVNICのIP構成(IPアドレスやDNSホスト名など)を使用して自動的に構成されます。

セカンダリVNICをインスタンスに追加する場合、セカンダリVNICで使用する物理NICを指定する必要があります。また、物理NICにセカンダリVNICのIP構成が含まれるようにOSを構成する必要もあります。Linuxインスタンスについては、Oracle Linux: セカンダリVNICのOSの構成を参照してください。Windowsインスタンスについては、Windows: セカンダリVNIC用のOSの構成を参照してください。

セカンダリVNICについて

インスタンスの起動後に、セカンダリVNICを追加できます。各セカンダリVNICは、プライマリVNICと同じVCN内のサブネット、または同じVCN内の異なるサブネット、または異なるサブネットに存在できます。ただし、すべてのVNICは、インスタンスと同じ可用性ドメイン内にある必要があります。

セカンダリVNICを使用する理由は次のとおりです:

  • ベア・メタル・インスタンスで独自のハイパーバイザを使用: ベア・メタル・インスタンスの仮想マシンにはそれぞれ独自のセカンダリVNICがあり、VNICのVCNにある他のインスタンスおよびサービスに直接接続できます。
  • インスタンスを複数のVCN内のサブネットに接続: たとえば、インスタンスが異なるVCN内のサブネットに接続する必要がある場合、VCN間のトラフィックを保護するために独自のファイアウォールを設定できます。

セカンダリVNICの詳細は次のとおりです:

  • これらは、次のタイプのインスタンスに対してサポートされています:

    • Linux: VMインスタンスとベア・メタル・インスタンスの両方。Oracle Linux: セカンダリVNICのOSの構成も参照してください。
    • Windows: VMインスタンスとベア・メタル・インスタンスの両方(前の世代のStandard1およびStandardB1シェイプを使用するインスタンスを除く)。ベア・メタル・インスタンスの場合、セカンダリVNICは、2番目の物理NICでのみサポートされます。最初の物理NICがNIC 0で、2番目がNIC 1であることに注意してください。Windows: セカンダリVNIC用のOSの構成も参照してください。
  • インスタンスにアタッチできるVNICの数の制限は、シェイプによって異なります。これらの制限については、コンピュート・シェイプを参照してください。
  • これらは、インスタンスの作成後にのみ追加できます。
  • これらは、常にインスタンスにアタッチされ、移動できません。セカンダリVNICを作成するプロセスによって、インスタンスに自動的にアタッチされます。セカンダリVNICをデタッチするプロセスによって、自動的に削除されます。
  • これらは、インスタンスの終了時に自動的にデタッチおよび削除されます。
  • アタッチされたVNICの数に関係なく、インスタンスの帯域幅は固定されます。インスタンスの特定のVNICに対して帯域幅制限を指定することはできません。
  • 同じサブネットCIDRブロックからインスタンスへ複数のVNICをアタッチすることで、特にLinuxのバリアントを使用しているインスタンス上で非対称ルーティングを導入できます。このタイプの構成が必要な場合、このトピックの後半にあるスクリプトに示すように、複数のプライベートIPアドレスを1つのVNICに割り当てるか、ポリシーベースのルーティングを使用することをお薦めします。
  • 複数のVNICを追加すると、iSCSIトラフィックがプライマリVNICから離れてルーティングされ、iSCSIボリューム・アタッチメントが中断される場合があります。この問題を回避するには、新しいVNICに特定のルートを追加し、プライマリVNICルーター・アドレスをゲートウェイとして使用します。iSCSIブート・ボリュームは169.254.0.2/32アドレスを使用し、ブロック・ボリュームは169.254.2.0/24ネットワークを使用します。

ソース/宛先チェック

デフォルトでは、すべてのVNICがネットワーク・トラフィックに対してソース/宛先チェックを実行します。VNICは、各ネットワーク・パケットのヘッダーにリストされているソースと宛先を確認します。VNICがソースまたは宛先でない場合、パケットはドロップされます。

VNICがトラフィックを転送する必要がある場合(たとえば、ネットワーク・アドレス変換(NAT)を実行する必要がある場合)、VNICでソース/宛先チェックを無効化する必要があります。手順は、VNICの更新を参照してください。一般的なシナリオの詳細は、ルート・ターゲットとしてのプライベートIPの使用を参照してください。

インスタンス・メタデータのVNIC情報

インスタンス・メタデータ・サービス(IMDS)には、次のURLのVNICに関する情報が含まれます:

  • IMDSバージョン2:

    http://169.254.169.254/opc/v2/vnics/
  • レガシーIMDSバージョン1:

    http://169.254.169.254/opc/v1/vnics/

次に、インスタンスにアタッチされたVNICを示すレスポンスの例を示します:

[ {
    "vnicId" : "ocid1.vnic.oc1.phx.exampleuniqueID",
    "privateIp" : "10.0.3.6",
    "vlanTag" : 11,
    "macAddr" : "00:00:00:00:00:01",
    "virtualRouterIp" : "10.0.3.1",
    "subnetCidrBlock" : "10.0.3.0/24",
    "nicIndex" : 0
}, {
    "vnicId" : "ocid1.vnic.oc1.phx.exampleuniqueID",
    "privateIp" : "10.0.4.3",
    "vlanTag" : 12,
    "macAddr" : "00:00:00:00:00:02",
    "virtualRouterIp" : "10.0.4.1",
    "subnetCidrBlock" : "10.0.4.0/24",
    "nicIndex" : 0
} ]

必要なIAMポリシー

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

VNICはサブネットに存在しますが、インスタンスにアタッチされます。VNICのインスタンスに対するアタッチメントは、VNICまたはインスタンス自体とは別のオブジェクトです。VNICとサブネットは常に同じコンパートメントに存在しますが、VNICのインスタンスに対するアタッチメントは常にインスタンスのコンパートメントに存在することに注意してください。すべてのクラウド・リソースが同じコンパートメントに存在する単純なアクセス制御シナリオがある場合(たとえば、概念実証)、この区別は重要ではありません。本番実装に移行するときに、ネットワーク管理者がネットワークを管理し、その他の担当者がインスタンスを管理するように決定できます。つまり、サブネットとは異なるコンパートメントにインスタンスを配置できます。

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

VNICのモニタリング

メトリック、アラームおよび通知を使用して、Oracle Cloud Infrastructureリソースのヘルス、容量およびパフォーマンスをモニターできます。詳細は、モニタリングおよび通知を参照してください。

VNIC内外で発生するトラフィックのモニタリングの詳細は、VNICのメトリックを参照してください。

Oracle Linux: セカンダリVNICのOSの構成

oci-network-configユーティリティを使用して、Oracle Linuxを実行するインスタンスでセカンダリVNICに必要なOS構成を実行します。

Windows: セカンダリVNIC用のOSの構成

セカンダリVNICは、VMインスタンスとベア・メタル・インスタンスでサポートされます(前の世代のStandard1およびStandardB1シェイプを使用するインスタンスを除く)。ベア・メタル・インスタンスの場合、セカンダリVNICは、2番目の物理NICでのみサポートされます。

ヒント

最初の物理NICがNIC 0で、2番目がNIC 1です。

セカンダリVNICはOS内で構成する必要があります。Oracleでは、構成を実行するためのPowerShellスクリプトを作成することをお薦めします。スクリプトの実行時に、オプションでセカンダリVNICのOCID (インスタンスのVNICメタデータから取得可能)を指定できます。

それ以外の場合は、スクリプトにインスタンス上のセカンダリVNICのリストが表示され、構成するセカンダリVNICを選択するように求められます。スクリプトで一般的に実行する必要がある操作は次のとおりです。

  1. ネットワーク・インタフェースにIPアドレスとデフォルト・ルートがあるかどうかを確認します。
  2. セカンダリVNICを認識するようにOSを有効化します。スクリプトでIPアドレスおよびデフォルト・ルートを静的設定で上書き(実質的にDHCPを無効化)する必要があります。スクリプトにより、静的設定で上書きするか、終了するよう求められます。

構成のプロセス全体は、インスタンスのタイプ(VMまたはベア・メタル)およびインスタンスに追加するセカンダリVNICの数によって若干異なります。

Windows VMインスタンス

次に、プロセス全体を示します:

  1. インスタンスに1つ以上のセカンダリVNICを追加します。各VNICのOCIDは、後で構成スクリプトの実行時に提供できるように保管してください。インスタンスのVNICメタデータからOCIDを取得することもできます。
  2. リモート・デスクトップでインスタンスに接続します。
  3. 管理者としてスクリプトを実行します。追加のセカンダリVNICに対して必要に応じて繰り返します。
Windowsベア・メタル・インスタンス: 最初のセカンダリVNICの追加

1つのセカンダリVNICのみをベア・メタル・インスタンスに追加する場合は、次のプロセス全体を実行します:

  1. インスタンスにセカンダリVNICを追加します。VNICのOCIDは、後で構成スクリプトの実行時に提供できるように保管してください。インスタンスのVNICメタデータからOCIDを取得することもできます。
  2. リモート・デスクトップでインスタンスに接続します。
  3. インスタンスで2番目の物理NICを有効にします:
    1. デバイス・マネージャを開き、「ネットワーク・アダプタ」をクリックします。
    2. インスタンスの2番目の物理NICに対応するアダプタを右クリックし、「有効化」をクリックします。
  4. PowerShellスクリプトを管理者として実行します。
Windowsベア・メタル・インスタンス: 別のセカンダリVNICの追加

ベア・メタル・インスタンスの2番目の物理NICに1つのセカンダリVNICがあり、1つ以上の追加のVNICが必要な場合、ここでプロセス全体を示します。これには、NICチーミングを設定するタスクが含まれます(インスタンスの2番目の物理NICに複数のVNICがある場合に必要になります)。

ノート

2番目の物理NICのセカンダリVNICの数を1つから2つ以上に増やす場合は、2番目の物理NICでNICチーミングを有効にする必要があります(後述の手順を参照)。NICのチームで、その物理NIC上のセカンダリVNICごとに(最初のものを含む)、個別のインタフェースを作成します。つまり、最初のセカンダリVNICの元のインタフェースは機能しなくなり、そのVNICに対して後続の構成を実行するには、チームに含まれるVNICの新しいインタフェースで行う必要があります。
  1. インスタンスに1つ以上の別のセカンダリVNICを追加します。VNICのOCIDとVLANタグは、後で構成スクリプトの実行時に提供できるように保管してください。インスタンスのVNICメタデータから値を取得することもできます。
  2. リモート・デスクトップでインスタンスに接続します。
  3. インスタンスにNICチーミングを設定します:
    1. サーバー・マネージャを開いて「ローカル・サーバー」をクリックします。
    2. プロパティのリストで、「NICチーミング」を検索して「無効」をクリックし、NICチーミングを有効にして設定します。
    3. 画面の左下にある「チーム」セクションで、「タスク」をクリックし、次に「新規チーム」をクリックします。
    4. チームの名前を入力し、インスタンスの2番目の物理NICを選択して、「OK」をクリックします。

      新しいチームが作成され、「チーム」セクションのチームのリストに表示されます。

    5. 新しいチームが選択されるようにクリックし、画面の右側の「アダプタおよびインタフェース」セクションで「チーム・インタフェース」タブをクリックします。
    6. 「タスク」をクリックし、「インタフェースの追加」をクリックします(2番目の物理NICのセカンダリVNICごとに個別のインタフェースを作成します)。
    7. 「特定のVLAN」のラジオ・ボタンをクリックし、「VLAN」にOracle割当てのVLANタグ番号(1など)を入力します。VLANタグは、コンソールまたはインスタンスのVNICメタデータから取得できます。
    8. 「OK」をクリックします。
    9. 前の4つのステップ(e-h)を、その他のセカンダリVNICごとに繰り返します。セカンダリVNICごとに個別のインタフェースを作成します。

  4. 管理者としてスクリプトを実行します。追加のセカンダリVNICに対して必要に応じて繰り返します。

VNIC の管理