プライベートIPアドレス

このトピックでは、仮想クラウド・ネットワーク(VCN)でインスタンスに割り当てられたIPv4アドレスを管理する方法について説明します。

IPv6アドレス指定は、すべての商用リージョンおよび政府リージョンでサポートされています。詳細は、IPv6アドレスを参照してください。

IPアドレスの概要

インスタンスは、通信にIPアドレスを使用します。各インスタンスには少なくとも1つのプライベートIPアドレスがあり、オプションで1つ以上のパブリックIPアドレスを指定できます。プライベートIPアドレスによって、インスタンスは、VCN内の他のインスタンスや、(Site - to - Site VPNまたはOracle Cloud Infrastructure FastConnectを介して)オンプレミス・ネットワークのホストと通信できます。パブリックIPアドレスによって、インスタンスは、インターネット上のホストと通信できます。詳細は、次の関連トピックを参照してください:

プライベートIPオブジェクトについて

ネットワーキング・サービスは、次のもので構成されるプライベートIPと呼ばれるオブジェクトを定義します:

各プライベートIPオブジェクトには、Oracle割当てのOCIDがあります(リソース識別子を参照)。APIを使用している場合は、各プライベートIPオブジェクトにわかりやすい名前を割り当てることもできます。

各インスタンスは、起動時にプライマリ・プライベートIPオブジェクトを受信します。ネットワーキング・サービスは、Dynamic Host Configuration Protocol (DHCP)を使用してオブジェクトのプライベートIPアドレスをインスタンスに渡します。このアドレスは、インスタンスの存続期間中は変更されず、インスタンスから削除できません。プライベートIPオブジェクトは、インスタンスの終了時に終了されます。

インスタンスにセカンダリVNICがアタッチされている場合は、それらの各VNICにもプライマリ・プライベートIPが含まれます。

プライベートIPには、パブリックIPを任意に割り当てることができます。

プライベートIPは、VCN内のルート・ルールのターゲットにできます。詳細は、ルート・ターゲットとしてのプライベートIPの使用を参照してください。

セカンダリ・プライベートIPアドレスについて

インスタンスの起動後に、セカンダリ・プライベートIPを追加できます。インスタンスのプライマリVNICまたはセカンダリVNICに追加できます。セカンダリ・プライベートIPアドレスは、VNICのサブネットのCIDRから取得する必要があります。セカンダリ・プライベートIPは、一方のインスタンスのVNICから別のインスタンスのVNICに移動できます(両方のVNICが同じサブネットに属している場合)。

セカンダリ・プライベートIPを使用する理由は次のとおりです:

  • インスタンス・フェイルオーバー: セカンダリ・プライベートIPをインスタンスに割り当てます。インスタンスに問題がある場合、そのセカンダリ・プライベートIPを同じサブネットのスタンバイ・インスタンスに簡単に再割当てできます。セカンダリ・プライベートIPにパブリックIPが割り当てられている場合、そのパブリックIPはプライベートIPとともに移動します。
  • 単一インスタンスでの複数のサービスまたはエンドポイントの実行: たとえば、単一インスタンスで複数のコンテナ・ポッドを実行し、それぞれにVCNのCIDRからのIPアドレスを使用することができます。コンテナは、VCNの他のインスタンスおよびサービスと直接接続します。別の例: それぞれ独自のIPアドレスを使用して、複数のSSL Webサイトを実行することもできます。

セカンダリ・プライベートIPアドレスの詳細は次のとおりです:

  • これらは、ベア・メタル・インスタンスとVMインスタンスの両方について、すべてのシェイプおよびOSタイプでサポートされます。
  • VNICは、最大31個のセカンダリ・プライベートIPを持つことができます。
  • 割当てできるのは、インスタンスが起動された後(またはセカンダリVNICが作成/アタッチされた後)のみです。
  • リージョナル・サブネット内のVNICに割り当てられたセカンダリ・プライベートIPには、nullの可用性ドメイン属性があります。これとは対照的に、VNICのプライマリ・プライベートIPは、インスタンスのサブネットがリージョナルかAD固有かに関係なく、常にその可用性ドメイン属性がインスタンスの可用性ドメインに設定されています。
  • VNICからセカンダリ・プライベートIPを削除すると、そのアドレスはサブネット内の使用可能なアドレスのプールに返されます。
  • これらは、インスタンスを終了(またはセカンダリVNICをデタッチ/削除)すると自動的に削除されます。
  • アタッチされたプライベートIPアドレスの数に関係なく、インスタンスの帯域幅は固定されます。インスタンスの特定のIPアドレスに対して帯域幅制限を指定することはできません。
  • セカンダリ・プライベートIPには、予約済パブリックIPを任意に割り当てることができます。

インスタンス・メタデータのIPアドレス情報

インスタンス・メタデータには、次のURLにあるプライベートIPアドレスに関する情報が含まれます:
http://169.254.169.254/opc/v1/vnics/

レスポンスの例を次に示します:

[ {
  "vnicId" : "ocid1.vnic.oc1.sea.<unique_ID>",
  "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"
}, {
  "vnicId" : "ocid1.vnic.oc1.sea.<unique_ID>",
  "privateIp" : "10.0.4.3",
  "vlanTag" : 12,
  "macAddr" : "00:00:00:00:00:01",
  "virtualRouterIp" : "10.0.4.1",
  "subnetCidrBlock" : "10.0.4.0/24"
} ]

必須IAMポリシー

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

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

コンソールの使用

インスタンスのプライベートIPを表示するには
  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスに割り当てられているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 関心のあるVNICをクリックします。

  6. 「リソース」で、「IPアドレス」をクリックします。

    VNICのプライマリ・プライベートIPおよびすべてのセカンダリ・プライベートIPが表示されます。

VNICに新規セカンダリ・プライベートIPを割り当てるには
  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 関心のあるVNICをクリックします。
  6. 「リソース」で、「IPアドレス」をクリックします。

    VNICのプライマリ・プライベートIPおよびすべてのセカンダリ・プライベートIPが表示されます。

  7. セカンダリ・プライベートIPアドレスの割当て」をクリックします。
  8. 次を入力します:

    • プライベートIPアドレス: オプション。サブネットのCIDRから使用可能なプライベートIPアドレスを選択します(それ以外の場合は、プライベートIPアドレスが自動的に割り当てられます)。
    • すでに別のVNICに割り当てられている場合に割当て解除: IPアドレスがすでにサブネット内の別のVNICに割り当てられている場合に強制的に再割当てするには、このチェック・ボックスを選択します。前述のフィールドにプライベートIPアドレスを指定した場合にのみ該当します。
    • ホスト名: オプション。クラウド・ネットワーク内でDNSに使用されるホスト名。VCNとサブネットの両方にDNSラベルがある場合にのみ使用できます。仮想クラウド・ネットワークのDNSを参照してください。
    • パブリックIPタイプ:パブリックIPアドレスを割り当てるかどうか。VNICがパブリック・サブネットにある場合のみ使用できます。パブリックIPアドレスを参照してください。
  9. 「割当て」をクリックします。

    セカンダリ・プライベートIPが作成され、VNICの「IPアドレス」ページに表示されます。

  10. IPアドレスを構成します:

セカンダリ・プライベートIPを同じサブネット内の別のVNICに移動するには
  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 関心のあるVNICをクリックします。
  6. 「リソース」で、「IPアドレス」をクリックします。

    VNICのプライマリ・プライベートIPおよびすべてのセカンダリ・プライベートIPが表示されます。

  7. セカンダリ・プライベートIPアドレスの割当て」をクリックします。
  8. 次を入力します:

    • プライベートIPアドレス: 移動するセカンダリ・プライベートIPアドレス。
    • すでに別のVNICに割り当てられている場合に割当て解除: 現在割り当てられているVNICからセカンダリIPアドレスを移動する場合に、このチェック・ボックスを選択します。
    • ホスト名: オプション。クラウド・ネットワーク内でDNSに使用されるホスト名。VCNとサブネットの両方にDNSラベルがある場合にのみ使用できます。仮想クラウド・ネットワークのDNSを参照してください。
    • パブリックIPタイプ:パブリックIPアドレスを割り当てるかどうか。VNICがパブリック・サブネットにある場合のみ使用できます。パブリックIPアドレスを参照してください。
  9. 「割当て」をクリックします。

プライベートIPアドレスは、元のVNICから新しいVNICに移動します。

既存のプライベートIPのホスト名を更新するには
  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 関心のあるVNICをクリックします。
  6. 「リソース」で、「IPアドレス」をクリックします。

    VNICのプライマリ・プライベートIPおよびすべてのセカンダリ・プライベートIPが表示されます。

  7. 目的のIPアドレスについて、「アクション」アイコン(3つのドット)をクリックし、「編集」をクリックします。
  8. 変更を加え、「更新」をクリックします。
VNICからセカンダリ・プライベートIPを削除するには
注意プライベートIPがルート・ルールのターゲット

である場合、VNICからそれを削除すると、ルート・ルールがブラックホールになり、トラフィックが破棄されます。

前提条件: IPアドレスをVNICから削除する前に、OS構成から削除することをお薦めします。Linux: セカンダリIPアドレスの詳細またはWindows: セカンダリIPアドレスの詳細を参照してください。

  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 関心のあるVNICをクリックします。
  6. 「リソース」で、「IPアドレス」をクリックします。

    VNICのプライマリ・プライベートIPおよびすべてのセカンダリ・プライベートIPが表示されます。

  7. 削除するプライベートIPについて、「アクション」アイコン(3つのドット)をクリックし、「プライベートIPの削除」をクリックします。
  8. プロンプトが表示されたら確認します。

プライベートIPアドレスは、サブネット内で使用可能なアドレスのプールに返されます。

プライベートIPのタグを管理するには
  1. 関心のあるインスタンスを含むコンパートメントが表示されていることを確認します。
  2. ナビゲーション・メニューを開き、「コンピュート」をクリックします。「コンピュート」で、「インスタンス」をクリックします。
  3. インスタンスをクリックして、その詳細を表示します。
  4. 「リソース」で、「アタッチされたVNIC」をクリックします。

    インスタンスにアタッチされているプライマリVNICおよびすべてのセカンダリVNICが表示されます。

  5. 関心のあるVNICをクリックします。
  6. 「リソース」で、「IPアドレス」をクリックします。

    VNICのプライマリ・プライベートIPおよびすべてのセカンダリ・プライベートIPが表示されます。

  7. 目的のプライベートIPについて、「アクション」アイコン(3つのドット)をクリックし、「タグの表示」をクリックします。その場所で、既存のタグの表示、それらの編集、および新しいタグの適用を行うことができます。

詳細は、リソース・タグを参照してください。

APIの使用

APIの使用およびリクエストの署名の詳細は、REST APIおよびセキュリティ資格証明を参照してください。SDKの詳細は、ソフトウェア開発キットとコマンドライン・インタフェースを参照してください。

VNICのプライベートIPを管理するには、次の操作を使用します:

  • GetPrivateIp: OCIDを指定して単一のprivateIpオブジェクトを取得する場合に使用します。
  • ListPrivateIps: プライベートIPアドレス(例: 10.0.3.3)とサブネットのOCIDを指定することで、単一のprivateIpオブジェクトを取得する場合に使用します。また、特定のサブネット内のすべてのprivateIpオブジェクト、または特定のVNICに割り当てられているオブジェクトのみをリストできます。
  • CreatePrivateIp: VNICに新しいセカンダリ・プライベートIPを割り当てる場合に使用します。
  • UpdatePrivateIp: セカンダリ・プライベートIPを同じサブネット内の別のVNICに再割当てしたり、セカンダリ・プライベートIPのホスト名または表示名を更新する場合に使用します。
  • DeletePrivateIp: VNICからセカンダリ・プライベートIPを削除する場合に使用します。プライベートIPアドレスは、サブネットで使用可能なアドレスのプールに返されます。

Linux: セカンダリIPアドレスの詳細

セカンダリ・プライベートIPをVNICに割り当てた後、それを使用するようにOSを構成する必要があります。

基本コマンド(再起動後は維持されない)

インスタンスで、次のコマンドを実行します。ベア・メタル・インスタンスとVMインスタンスの両方について、Linuxのすべてのバリアントで動作します:
ip addr add <address>/<subnet_prefix_len> dev <phys_dev> label <phys_dev>:<addr_seq_num>
説明:
  • <address>: セカンダリ・プライベートIPアドレス。
  • <subnet_prefix_len>: サブネットの接頭辞の長さ。たとえば、サブネットが192.168.20.0/24の場合、サブネット接頭辞の長さは24です。
  • <phys_dev>: アドレスを追加するインタフェース(例: ens2f0)。
  • <addr_seq_num>: デバイス上のアドレス・スタックの連続した番号(例: 0)。
例:
ip addr add 192.168.20.50/24 dev ens2f0 label ens2f0:0

後でアドレスを削除する場合は、次を使用できます:

ip addr del 192.168.20.50/24 dev ens2f0:0 

VNICからもセカンダリIPを削除してください。これは、前述のコマンドを実行してOS構成からアドレスを削除する前または後に行うことができます。

ノート

セカンダリVNICにセカンダリIPを割り当てており、セカンダリVNICでポリシーベースのルーティングを使用している場合は、同じルート表でセカンダリIPアドレスを検索するようにルート・ルールを構成してください。

構成ファイル(再起動後も維持される)

再起動後も構成を維持するには、構成ファイルに情報を追加します。

Oracle LinuxおよびCentOSの場合

/etc/sysconfig/network-scripts/ifcfg-<phys_dev>:<addr_seq_num>という名前のifcfgファイルを作成します。前述の例を続行する場合、ファイル名は/etc/sysconfig/network-scripts/ifcfg-ens2f0:0になり、内容は次のようになります:

DEVICE="ens2f0:0"
BOOTPROTO=static
IPADDR=192.168.0.50
NETMASK=255.255.255.0
ONBOOT=yes
ノート

セカンダリVNICにセカンダリIPを割り当てており、セカンダリVNICでポリシーベースのルーティングを使用している場合は、同じルート表でセカンダリIPアドレスを検索するようにルート・ルールを構成してください。

Ubuntuの場合
auto <phys_dev>:<addr_seq_num>
iface <phys_dev>:<addr_seq_num> inet static
	address <address>
	netmask <address_netmask>

ここで、netmaskは接頭辞ではなく、255.255.x.x.アドレスです。

前述の例を続行する場合:

auto ens2f0:0
iface ens2f0:0 inet static
	address 192.168.0.50
	netmask 255.255.255.0
ノート

セカンダリVNICにセカンダリIPを割り当てており、セカンダリVNICでポリシーベースのルーティングを使用している場合は、同じルート表でセカンダリIPアドレスを検索するようにルート・ルールを構成してください。

Windows: セカンダリIPアドレスの詳細

セカンダリ・プライベートIPをVNICに割り当てた後、それを使用するようにOSを構成する必要があります。PowerShellスクリプトまたはネットワークと共有センターのUIを使用する手順を次に示します。
PowerShellスクリプトの使用

PowerShellを管理者として実行する必要があります。スクリプトにより、インスタンスの静的IPアドレス指定とセカンダリ・プライベートIPの2つの要素が構成されます。構成は、インスタンスの再起動後も維持されます。

  1. ブラウザでコンソールに移動し、インスタンスで構成するセカンダリ・プライベートIPアドレスをメモします。
  2. インスタンスに接続し、コマンド・プロンプトで次のコマンドを実行します:

    ipconfig /all
  3. 次のステップでスクリプトに入力できるように、次の項目の値をメモします:

    • Default Gateway
    • DNS Servers
  4. 次のPowerShellスクリプトの変数を独自の値に置き換えます:

    $netadapter = Get-Netadapter -Name "Ethernet 2"
    $netadapter | Set-NetIPInterface -DHCP Disabled
    $netadapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress <secondary_IP_address> -PrefixLength <subnet_prefix_length> -Type Unicast -DefaultGateway <default_gateway>
    Set-DnsClientServerAddress -InterfaceAlias "Ethernet 2" -ServerAddresses <DNS_server>
    

    例:

    $netadapter = Get-Netadapter -Name "Ethernet 2"
    $netadapter | Set-NetIPInterface -DHCP Disabled
    $netadapter | New-NetIPAddress -AddressFamily IPv4 -IPAddress 192.168.0.14 -PrefixLength 24 -Type Unicast -DefaultGateway 192.168.0.1
    Set-DnsClientServerAddress -InterfaceAlias "Ethernet 2" -ServerAddresses 203.0.113.254
    
  5. 任意の名前と.ps1拡張子を付けてスクリプトを保存し、インスタンスで実行します。

    この図は、セカンダリ・プライベートIPアドレスを構成するためのPowerShellスクリプトを示しています。

    ipconfig /allを再度実行すると、DHCPが無効化され、セカンダリ・プライベートIPアドレスがIPアドレスのリストに含まれていることがわかります。

後でアドレスを削除する場合は、次のコマンドを使用できます:

Remove-NetIPAddress -IPAddress 192.168.11.14 -InterfaceAlias Ethernet

VNICからもセカンダリIPを削除してください。これは、前述のコマンドを実行してOS構成からアドレスを削除する前または後に行うことができます。

ネットワークと共有センターのUIの使用

次の手順により、インスタンスの静的IPアドレス指定とセカンダリ・プライベートIPの2つの要素が構成されます。構成は、インスタンスの再起動後も維持されます。

  1. ブラウザでコンソールに移動し、インスタンスで構成するセカンダリ・プライベートIPアドレスをメモします。
  2. インスタンスに接続し、コマンド・プロンプトで次のコマンドを実行します:

    ipconfig /all

    この図は、ipconfig /allコマンドの結果を示しています。

  3. 後のステップで入力できるように、次の項目の値をメモします:

    • IPv4 Address
    • Subnet Mask
    • Default Gateway
    • DNS Servers
  4. インスタンスの「コントロール・パネル」で、「ネットワークと共有センター」を開きます(後続のステップで表示される一連のダイアログ・ボックスは、次の図を参照してください)。
  5. アクティブなネットワークの場合は、接続(Ethernet)をクリックします。
  6. 「プロパティ」をクリックします。
  7. 「Internet Protocol Version 4 (TCP /IPv4)」をクリックし、「プロパティ」をクリックします。
  8. 「次のIPアドレスを使用」のラジオ・ボタンを選択し、前にメモしたIPアドレス、サブネット・マスク、デフォルト・ゲートウェイおよびDNSサーバーの値を入力します。

    この図は、表示される一連のダイアログ・ボックスを示しています。

  9. 「詳細」をクリックします。
  10. 「IPアドレス」で、「追加」をクリックします。
  11. セカンダリ・プライベートIPアドレスおよび前に使用したサブネット・マスクを入力し、「追加」をクリックします。

    この図は、セカンダリ・プライベートIPアドレスを追加するためのダイアログ・ボックスを示しています。

  12. 「ネットワークと共有センター」が閉じられるまで、「OK」をクリックします。
  13. コマンド・プロンプトに戻り、ipconfig /allを実行して変更を確認します。

    これで、DHCPが無効になり(静的IPアドレス指定が有効になり)、セカンダリ・プライベートIPアドレスがアドレスのリストに表示されます。インスタンスでアドレスが構成され、使用できるようになります。

    この図は、セカンダリ・プライベートIPアドレスを追加した後のipconfig /allコマンドの結果を示しています。

    ノート

    ネットワークと共有センターのUIでインターネット・プロトコル・バージョン4 (TCP/IPv4)のプロパティを再度表示した場合、プライマリ・プライベートIPアドレスが表示されないことがあります。変更を確認する最善の方法は、コマンドラインでipconfig /allを使用することです。