仮想ネットワーク・インタフェース・カード(VNIC)
このトピックでは、仮想クラウド・ネットワーク(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が存在する同じサブネットにおける最大32のオプションのセカンダリ・プライベートIPv4アドレス。
- 最大32のオプションのセカンダリIPv6アドレス。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のどれを使用しているかにかかわらず、このアクセス権が必要です。権限がない、または認可されていないというメッセージが表示された場合は、自分がどのタイプのアクセス権を持っているか、およびどのコンパートメントで作業するかを管理者に確認してください。
管理者用: ネットワーキングに対するIAMポリシーを参照してください。
VNICのモニタリング
メトリック、アラームおよび通知を使用して、Oracle Cloud Infrastructureリソースのヘルス、容量およびパフォーマンスをモニターできます。詳細は、モニタリングおよび通知を参照してください。
VNIC内外で発生するトラフィックのモニタリングの詳細は、VNICのメトリックを参照してください。
コンソールの使用
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- インスタンスをクリックして、その詳細を表示します。
-
「リソース」で、「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。インスタンスに2つのアクティブな物理NICがある場合、VNICはNIC 0およびNIC 1でグループ化されます。
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- インスタンスをクリックして、その詳細を表示します。
-
「リソース」で、「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。
- 「VNICの作成」をクリックします。
-
「VNICの作成」ダイアログ・ボックスで、VNICを配置するVCNおよびサブネットを指定します。デフォルトでは、VNICは現在のコンパートメントに作成されます。同じコンパートメントまたは別のコンパートメントからVCNとサブネットを選択できます。
次を入力します:
- 名前: セカンダリVNICのわかりやすい名前。名前は一意である必要はなく、後で変更できます。機密情報の入力は避けてください。
- 仮想クラウド・ネットワーク: 目的のサブネットを含むVCN。
- ネットワーク: 「通常の設定: サブネット」を選択します。
- サブネット: 目的のサブネット。セカンダリVNICはインスタンスのプライマリVNICと同じ可用性ドメインに存在する必要があるため、サブネット・リストにはプライマリVNICの可用性ドメイン内のリージョナル・サブネットまたはAD固有のサブネットが含まれます。
- 物理NIC: 2つのアクティブな物理NICを持つベア・メタル・インスタンスの場合のみ適用されます。セカンダリVNICで使用するものを選択します。インスタンスの詳細およびインスタンスにアタッチされたVNICのリストを後で表示すると、NIC 0およびNIC 1でグループ化されています。
- ネットワーク・セキュリティ・グループを使用してトラフィックを制御:このチェック・ボックスを選択すると、選択した1つ以上のネットワーク・セキュリティ・グループ(NSG)にセカンダリVNICを追加できます。NSGには、そのNSGのVNICにのみ適用されるセキュリティ・ルールがあります。
- ソース/宛先チェックをスキップ:デフォルトでは、このチェックボックスは選択されていません。つまり、VNICではソース/宛先チェックが実行されます。VNICがトラフィックを転送できるようにする場合のみ、このチェック・ボックスを選択します。VNICと物理NICの概要を参照してください。
- プライベートIPv4アドレス:オプション。サブネットのCIDRから使用可能なプライベートIPv4アドレスを選択します(それ以外の場合は、プライベートIPアドレスが自動的に割り当てられます)。
- パブリックIPv4アドレス:パブリックIPv4アドレスをVNICのプライマリ・プライベートIPに割り当てるかどうか。サブネットがパブリックの場合のみ使用できます。既存の予約済パブリックIPアドレスを名前で指定するか、名前を割り当ててそのアドレスのソースIPプールを選択することで新しい予約済IPアドレスを作成するには、このオプションを選択します。作成済のIPプールを選択しない場合は、デフォルトのOracle IPプールが使用されます。
- (IPv6対応サブネットのみ)サブネットからのIPv6アドレスの割当て:次のいずれかを選択します:
- 接頭辞からIPv6アドレスを自動的に割り当てる:このオプションを選択して、コンソールにこのサブネットに割り当てられたIPv6接頭辞から使用可能なIPv6アドレスを選択させます。1つのサブネットに複数のIPv6接頭辞を指定できます。
- 接頭辞からIPv6アドレスを手動で割り当てる:このオプションを選択して、このサブネットに割り当てられたIPv6接頭辞から特定のアドレスを選択します。例: 0000:0000:1a1a:1a2b。
「+別のサブネット接頭辞」をクリックすると、追加のIPv6アドレスをインスタンスVNICに割り当てることができます。各IPv6接頭辞からVNICに1つのIPv6アドレスのみを割り当てることができます(サブネットには複数のIPv6接頭辞を割り当てることができます)。このVNICを起動後に既存のインスタンスにアタッチする場合は、IPv6アドレス指定を使用するためにインスタンスOSに特定の構成が必要であることに注意してください。
- DNSレコード: VNICにプライベートIPv4 DNSレコードを割り当てるかどうか。詳細は、仮想クラウド・ネットワークのDNSを参照してください。
- ホスト名: オプション。クラウド・ネットワーク内でIPv4 DNSに使用されるホスト名。VCNとサブネットの両方にDNSラベルがあり、プライベートDNSレコードを割り当てるオプションが選択されている場合にのみ使用できます。
- タグ付けオプションの表示: リソースの作成権限がある場合、そのリソースにフリーフォーム・タグを適用する権限もあります。定義済のタグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後から適用できます。
- 「変更の保存」をクリックします。セカンダリVNICが作成され、インスタンスの「アタッチされたVNIC」ページに表示されます。セカンダリVNICがページに表示されるまでに数秒かかることがあります。
- VNICを使用するようにOSを構成します。Oracle Linux: セカンダリVNIC用のOSの構成またはWindows: セカンダリVNIC用のOSの構成を参照してください。
VNICのわかりやすい名前またはホスト名を更新したり、VNICがソース/宛先チェックを実行するかどうかを更新できます。
VNICにセカンダリ・プライベートIPアドレスを追加したり、IPv6アドレスを追加したりすることもできます。
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- インスタンスをクリックして、その詳細を表示します。
-
「リソース」で、「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。
-
編集するVNICについて、をクリックし、「VNICの編集」をクリックします。
- 変更を行います。機密情報の入力は避けてください。次に、「変更の保存」をクリックします。
VNICが属するネットワーク・セキュリティ・グループ(NSG)を変更したり、VNICをすべてのNSGから削除できます。
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- インスタンスをクリックして、その詳細を表示します。
-
「リソース」で、「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。
-
関心のあるVNICをクリックします。
各VNICの詳細ページには、VNICが属するNSGのリスト(ある場合)が含まれます。
-
「ネットワーク・セキュリティ・グループ」の横にある「編集」をクリックします。
- 変更を加え、「変更の保存」をクリックします。
この手順では、指定したセカンダリVNICをデタッチおよび削除します。インスタンスのプライマリVNICはデタッチおよび削除できません。インスタンスを終了すると、アタッチされているすべてのVNIC (プライマリおよびセカンダリ)が自動的にデタッチおよび削除されます。
- 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
- ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
- インスタンスをクリックして、その詳細を表示します。
-
「リソース」で、「アタッチされたVNIC」をクリックします。
インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。
-
削除するVNICについて、をクリックし、「VNICの削除」をクリックします。
- プロンプトが表示されたら確認します。
通常は、VNICが削除されるまで数秒かかります。
セカンダリVNICがLinuxインスタンス上にある場合: Oracle Linux: セカンダリVNICのOSの構成で提供されているスクリプトを実行すると、セカンダリVNICがOS構成から削除されます。
APIの使用
APIの使用およびリクエストの署名の詳細は、REST APIのドキュメントおよびセキュリティ資格証明を参照してください。SDKの詳細は、SDKおよびCLIを参照してください。
インスタンスのVNICを管理するには、次の操作を使用します:
- ListVnicAttachments: インスタンスにアタッチされているVNICをリストする場合に使用します。
- GetVnicAttachment: VNICのVLANタグおよびその他のプロパティを取得する場合に使用します。
- GetVnic: VNICのプライベートIPアドレス、MACアドレス、オプションのパブリックIPアドレス、オプションのDNSホスト名およびその他のプロパティを取得する場合に使用します。
- AttachVnic
- DetachVnic
- UpdateVnic
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の選択が求められます。通常、スクリプトで実行する必要がある処理は次のとおりです。
- ネットワーク・インタフェースにIPアドレスとデフォルト・ルートがあるかどうかを確認します。
- OSでセカンダリVNICが認識されるようにし、スクリプトでIPアドレスおよびデフォルト・ルートを静的設定で上書き(実質的にDHCPを無効化)する必要があります。スクリプトにより、静的設定で上書きするか、終了するかを選択するよう求められます。
構成のプロセス全体は、インスタンスのタイプ(VMまたはベア・メタル)およびインスタンスに追加するセカンダリVNICの数によって若干異なります。
次に、プロセス全体を示します:
- インスタンスに1つ以上のセカンダリVNICを追加します。各VNICのOCIDは、後で構成スクリプトの実行時に提供できるように保管してください。インスタンスのVNICメタデータからOCIDを取得することもできます。
- リモート・デスクトップでインスタンスに接続します。
- 管理者としてスクリプトを実行します。必要に応じて、追加のセカンダリVNICのいずれかに対して繰り返します。
1つのセカンダリVNICのみをベア・メタル・インスタンスに追加する場合は、次のプロセス全体を実行します:
- インスタンスにセカンダリVNICを追加します。VNICのOCIDは、後で構成スクリプトの実行時に提供できるように保管してください。インスタンスのVNICメタデータからOCIDを取得することもできます。
- リモート・デスクトップでインスタンスに接続します。
- インスタンスで2番目の物理NICを有効にします:
- デバイス・マネージャを開き、「ネットワーク・アダプタ」をクリックします。
- インスタンスの2番目の物理NICに対応するアダプタを右クリックし、「有効化」をクリックします。
- PowerShellスクリプトを管理者として実行します。
ベア・メタル・インスタンスの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つ以上の別のセカンダリVNICを追加します。VNICのOCIDとVLANタグは、後で構成スクリプトの実行時に提供できるように保管してください。インスタンスのVNICメタデータから値を取得することもできます。
- リモート・デスクトップでインスタンスに接続します。
- インスタンスにNICチーミングを設定します:
- サーバー・マネージャを開いて「ローカル・サーバー」をクリックします。
- プロパティのリストで、「NICチーミング」を検索して「無効」をクリックし、NICチーミングを有効にして設定します。
- 画面の左下にある「チーム」セクションで、「タスク」をクリックし、次に「新規チーム」をクリックします。
チームの名前を入力し、インスタンスの2番目の物理NICを選択して、「OK」をクリックします。
新しいチームが作成され、「チーム」セクションのチームのリストに表示されます。
- 新しいチームが選択されるようにクリックし、画面の右側の「アダプタおよびインタフェース」セクションで「チーム・インタフェース」タブをクリックします。
- 「タスク」をクリックし、「インタフェースの追加」をクリックします(2番目の物理NICのセカンダリVNICごとに個別のインタフェースを作成します)。
- 「特定のVLAN」のラジオ・ボタンをクリックし、「VLAN」にOracle割当てのVLANタグ番号(1など)を入力します。VLANタグは、コンソールまたはインスタンスのVNICメタデータから取得できます。
- 「OK」をクリックします。
前の4つのステップ(e-h)を、その他のセカンダリVNICごとに繰り返します。セカンダリVNICごとに個別のインタフェースを作成します。
- 管理者としてスクリプトを実行します。必要に応じて、追加のセカンダリVNICのいずれかに対して繰り返します。