Azure Portal を使用して仮想マシンに複数の IP アドレスを割り当てる

Azure 仮想マシン (VM) には、1 つ以上のネットワーク インターフェイス (NIC) がアタッチされています。 NIC には、1 つ以上の静的または動的パブリックおよびプライベート IP アドレスを割り当てることができます。 VM に複数の IP アドレスを割り当てると、次のことが可能になります。

  • 異なる IP アドレスと SSL 証明書を持つ複数のウェブサイトやサービスを、1つのサーバーでホストする。
  • ファイアウォールやロード バランサーのような、ネットワーク仮想アプライアンスとして機能する。
  • 複数の NIC いずれかの複数のプライベート IP アドレスいずれかを Azure Load Balancer のバックエンド プールに追加する。 以前は、プライマリ NIC のプライマリ IP アドレスのみをバックエンド プールに追加できました。 複数の IP 構成の負荷分散方法の詳細については、複数の IP 構成の負荷分散に関する記事を参照してください。

VM に接続された各 NIC には、1 つ以上の IP 構成が関連付けられています。 各構成には、1 つの静的または動的プライベート IP アドレスが割り当てられています。 また、1 つのパブリック IP アドレス リソースが関連付けられている場合もあります。 パブリック IP アドレス リソースには、動的または静的なパブリック IP アドレスが割り当てられています。 Azure における IP アドレスの詳細については、「Azure 内の IP アドレス」を参照してください。

NIC に割り当てることができるプライベート IP アドレスの数には上限があります。 また、Azure サブスクリプションで使用できるパブリック IP アドレスの数にも上限があります。 詳細については、Azure の制限に関する記事を参照してください。

この記事では、Azure ポータルを使用して Azure Resource Manager デプロイ モデルで仮想マシン (VM) を作成する方法について説明します。 クラシック デプロイ モデルで作成されたリソースには、複数の IP アドレスを割り当てることはできません。 Azure のデプロイ モデルの詳細については、デプロイ モデルの概要に関する記事をご覧ください。

シナリオ

1 つの NIC が接続された VM を作成し、仮想ネットワークに接続します。 VM には、3 つの "プライベート" IP アドレスと 2 つの "パブリック" IP アドレスが必要です。 各 IP アドレスを次の IP 構成に割り当てます。

  • IPConfig-1: "静的" プライベート IP アドレスと "静的" パブリック IP アドレスを割り当てます。

  • IPConfig-2: "静的" プライベート IP アドレスと "静的" パブリック IP アドレスを割り当てます。

  • IPConfig-3: "静的" プライベート IP アドレスを割り当てます。パブリック IP アドレスは割り当てません。

    複数の IP アドレス

NIC の作成時に IP 構成を NIC に関連付け、VM の作成時に NIC を VM に接続します。 シナリオで使用する IP アドレスの種類は、わかりやすく説明するためのものです。 必要な IP アドレスの種類と割り当ての種類を使用できます。

注意

この記事の手順では、すべての IP 構成を 1 つの NIC に割り当てていますが、複数の IP 構成を複数の NIC を持つ VM の任意の NIC に割り当てることもできます。 複数の NIC が接続された VM の作成方法については、複数の NIC が接続された VM の作成に関する記事をご覧ください。

複数の IP アドレスを持つ VM を作成する

複数の IP アドレスまたは静的プライベート IP アドレスを持つ VM を作成する場合は、PowerShell または Azure CLI を使用して VM を作成する必要があります。 その方法については、この記事の上部にある PowerShell または CLI オプションをクリックしてください。 単一の動的プライベート IP アドレスと (必要に応じて) 単一のパブリック IP アドレスを持つ VM を作成できます。 Windows VM の作成または Linux VM の作成に関する記事の手順に従ってポータルを使用してください。 VM を作成したら、この記事の「VM に IP アドレスを追加する」セクションの手順に従ってポータルを使用することにより、IP アドレス タイプを動的から静的に変更して、別の IP アドレスを追加できます。

VM に IP アドレスを追加する

プライベート IP アドレスとパブリック IP アドレスを Azure ネットワーク インターフェイスに追加するには、次の手順を実行します。 次のセクションの例では、シナリオで説明している 3 つの IP 構成を使用した VM を既に所有していることを前提としていますが、必須ではありません。

主な手順

  1. 必要に応じて、 https://portal.azure.com で Azure Portal を開き、サインインします。

  2. そのポータルで、 [その他のサービス] をクリックし、フィルター ボックスに「virtual machines」と入力して、 [Virtual Machines] をクリックします。

  3. [Virtual Machines] ウィンドウで、IP アドレスを追加する VM をクリックします。 [ネットワーク] タブに移動します。このページで [ネットワーク インターフェイス] をクリックします。 次の図に示すようになります。

    VM に対するパブリック IP アドレスの追加

  4. [ネットワーク インターフェイス] ウィンドウで、 [IP 構成] をクリックします。

  5. 選択した NIC について表示されるウィンドウで、 [IP 構成] をクリックします。 [追加] をクリックし、追加する IP アドレスのタイプに基づいて、以下のセクションのいずれかの手順を完了してから、 [OK] をクリックします。

プライベート IP アドレスを追加する

新しいプライベート IP アドレスを追加するには、次の手順を完了します。

  1. この記事の「コア ステップ」セクションの手順を完了し、VM ネットワーク インターフェイスの [IP 構成] セクションにいることを確認します。 既定として表示されているサブネット (10.0.0.0/24 など) を確認します。

  2. [追加] をクリックします。 表示された [IP 構成の追加] ウィンドウで、「IPConfig-4」という名前の IP 構成を作成し、最終オクテットに新しい数値を選ぶことによって新しい 静的 プライベート IP アドレスを指定し、 [OK] をクリックします。 (10.0.0.0/24 のサブネットの場合、IP の例は 10.0.0.7 です。)

    注意

    静的 IP アドレスを追加するときは、NIC が接続されているサブネット上に未使用の有効なアドレスを指定する必要があります。 選択したアドレスが利用できない場合はポータルで IP アドレスに X が表示され、別のアドレスを選択する必要があります。

  3. [OK] をクリックするとウィンドウが閉じ、新しい IP 構成が表示されます。 [OK] をクリックして、 [IP 構成の追加] ウィンドウを閉じます。

  4. [追加] をクリックすると、別の IP 構成を追加できます。または、開いているすべてのブレードを閉じて IP アドレスの追加を完了できます。

  5. この記事の「VM オペレーティング システムに IP アドレスを追加する」に記載された手順に従って、プライベート IP アドレスを VM オペレーティング システムに追加します。

パブリック IP アドレスを追加する

パブリック IP アドレスを追加するには、新しい IP 構成または既存の IP 構成にパブリック IP アドレス リソースを関連付けます。

注意

パブリック IP アドレスには、わずかな費用がかかります。 IP アドレスの料金の詳細については、「 IP アドレスの料金 」ページをご覧ください。 サブスクリプション内で使用できるパブリック IP アドレスの数には制限があります。 制限の詳細については、Azure の制限に関する記事をご覧ください。

パブリック IP アドレス リソースの作成

パブリック IP アドレスは、パブリック IP アドレス リソースの設定の 1 つです。 IP 構成に関連付ける予定で、まだ IP 構成に関連付けられていないパブリック IP アドレス リソースがある場合は、次の手順を省略して、必要に応じてそれに続く手順の 1 つを実行します。 利用できるパブリック IP アドレス リソースがない場合は、次の手順を実行して 1 つ作成します。

  1. 必要に応じて、 https://portal.azure.com で Azure Portal を開き、サインインします。

  2. ポータルで、 [リソースの作成] > [ネットワーク] > [パブリック IP アドレス] の順に選択します。

  3. 次の図に示すように、表示される [パブリック IP アドレスの作成] ウィンドウで [名前] を入力し、 [IP アドレスの割り当て] のタイプ、 [サブスクリプション][リソース グループ][場所] を選択してから、 [作成] をクリックします。

    パブリック IP アドレス リソースの作成

  4. パブリック IP アドレス リソースを、IP 構成に関連付けるには、次のいずれかの手順を実行します。

パブリック IP アドレス リソースを新しい IP 構成に関連付ける

  1. この記事の「主な手順」で述べた手順を完了します。

  2. [追加] をクリックします。 表示される [IP 構成の追加] ウィンドウで、「IPConfig-4」という名前の IP 構成を作成します。 [パブリック IP アドレス] を有効にして、表示された [パブリック IP アドレスの選択] ウィンドウから利用できる既存のパブリック IP アドレス リソースを選択します。

    パブリック IP アドレス リソースを選択したら、 [OK] をクリックするとウィンドウが閉じます。 既存のパブリック IP アドレスがない場合は、この記事の「パブリック IP アドレス リソースの作成」セクションの手順を実行して、パブリック IP アドレスを作成できます。

  3. 新しい IP 構成を確認します。 プライベート IP アドレスが明示的に割り当てられていないとしても、すべての IP 設定にはプライベート IP アドレスが必要であるため、IP 設定にはプライベート IP アドレスが自動的に割り当てられています。

  4. [追加] をクリックすると、別の IP 構成を追加できます。または、開いているすべてのブレードを閉じて IP アドレスの追加を完了できます。

  5. この記事の「VM オペレーティング システムに IP アドレスを追加する」に記載された、お使いのオペレーティング システム用の手順に従って、プライベート IP アドレスを VM オペレーティング システムに追加します。 オペレーティング システムにパブリック IP アドレスは追加しないでください。

パブリック IP アドレス リソースを既存の IP 構成に関連付ける

  1. この記事の「主な手順」で述べた手順を完了します。
  2. パブリック IP アドレス リソースを追加する IP 構成をクリックします。
  3. 表示される [IP 構成] ウィンドウで、 [IP アドレス] をクリックします。
  4. [パブリック IP アドレスの選択] ウィンドウで、パブリック IP アドレスを選択します。
  5. [保存] をクリックしてウィンドウを閉じます。 既存のパブリック IP アドレスがない場合は、この記事の「パブリック IP アドレス リソースの作成」セクションの手順を実行して、パブリック IP アドレスを作成できます。
  6. 新しい IP 構成を確認します。
  7. [追加] をクリックすると、別の IP 構成を追加できます。または、開いているすべてのブレードを閉じて IP アドレスの追加を完了できます。 オペレーティング システムにパブリック IP アドレスは追加しないでください。

注意

IP アドレス構成を変更した後は、VM を再起動して VM で変更を有効にする必要があります。

VM オペレーティング システムに IP アドレスを追加する

複数のプライベート IP アドレスを構成して作成した VM に接続し、サインインします。 VM に追加したプライベート IP アドレスは、プライマリも含め、すべて手動で追加する必要があります。 お使いの VM オペレーティング システムに応じて手順を実行します。

Windows Server

expand
  1. コマンド プロンプトで、「 ipconfig /all」と入力します。 プライマリ の IP アドレス (DHCP 経由) のみを表示できます。

  2. コマンド プロンプトで「ncpa.cpl」と入力して、 [ネットワーク接続] ウィンドウを開きます。

  3. 適切なアダプターのプロパティを開きます: イーサネット

  4. インターネット プロトコル バージョン 4 (IPv4) をダブルクリックします。

  5. [次の IP アドレスを使う] を選択して、次の値を入力します。

    • IP アドレス: "プライマリ" のプライベート IP アドレスを入力します

    • [サブネット マスク] : 自分のサブネットに基づいて設定します。 たとえば、たとえば、サブネットが/24 サブネットであれば、サブネット マスクは 255.255.255.0 になります。

    • [デフォルト ゲートウェイ] : サブネット内の最初の IP アドレスです。 サブネットが 10.0.0.0/24 の場合、ゲートウェイの IP アドレスは 10.0.0.1 になります。

    • [次の DNS サーバーのアドレスを使う] を選択して、次の値を入力します。

      • [優先 DNS サーバー] : 独自の DNS サーバーを使用していない場合は、「168.63.129.16」と入力します。 独自の DNS サーバーを使用している場合は、そのサーバーの IP アドレスを入力します。 (代替 DNS サーバーの場合、任意の無料パブリック DNS サーバー アドレスを選択できます)
    • [詳細] ボタンを選択して、他の IP アドレスを追加します。 前の手順で Azure ネットワーク インターフェイスに追加した、各セカンダリ プライベート IP アドレスを、Azure ネットワーク インターフェイスに割り当てられたプライマリ IP アドレスが割り当てられている Windows ネットワーク インターフェイスに追加します。

      仮想マシンのオペレーティング システム内で Azure の仮想マシンに割り当てられているパブリック IP アドレスを手動で割り当てないでください。 オペレーティング システム内で IP アドレスを手動で設定する場合は、Azure ネットワーク インターフェイスに割り当てられているプライベート IP アドレスと同じアドレスであることを確認してください。そうしないと、仮想マシンへの接続が失われる可能性があります。 詳細については、プライベート IP アドレス設定に関するページを参照してください。 オペレーティング システム内で Azure パブリック IP アドレスを割り当てないでください。

    • [OK] をクリックして TCP/IP 設定を閉じ、もう一度 [OK] をクリックしてアダプター設定を閉じます。 これで RDP 接続が再確立されます。

  6. コマンド プロンプトで、「 ipconfig /all」と入力します。 追加したすべての IP アドレスが表示されており、DHCP がオフになっていることを確認します。

  7. Azure のプライマリ IP 構成のプライベート IP アドレスが、Windows 用プライマリ IP アドレスとして使用されるように Windows を構成します。 詳細については、「No Internet access from Azure Windows VM that has multiple IP addresses (複数の IP アドレスを持つ Azure Windows VM からインターネット アクセスできない)」を参照してください。

検証 (Windows Server)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、上記の手順を使用してパブリック IP を正しく追加した後で、次のコマンドを使用します (10.0.0.7 をセカンダリ プライベート IP アドレスに変更します)。

ping -S 10.0.0.7 outlook.com

注意

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux (Ubuntu 14/16)

expand Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。
  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 ルート ユーザーでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. ネットワーク インターフェイスの構成ファイルを更新します (‘eth0’ と仮定)。

    • DHCP の既存の行アイテムを保持します。 プライマリ IP アドレスが以前と同じ構成のまま維持されます。

    • 次のコマンドを使用して、追加の静的 IP アドレスの構成を追加します。

      cd /etc/network/interfaces.d/
      ls
      

      .cfg ファイルが表示されます。

  4. ファイル を開きます。 ファイルの末尾に次の行が表示されます。

    auto eth0
    iface eth0 inet dhcp
    
  5. このファイルの行の最後に、次の行を追加します。

    iface eth0 inet static
    address <your private IP address here>
    netmask <your subnet mask>
    
  6. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  7. 次のコマンドを使用して、ネットワーク インターフェイスをリセットします。

    sudo ifdown eth0 && sudo ifup eth0
    

    重要

    リモート接続を使用する場合は、同じ行で ifdown と ifup の両方を実行します。

  8. 次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。

    ip addr list eth0
    

    追加した IP アドレスが、リストの一部として表示されます。

検証 (Ubuntu 14/16)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.0.0.5 outlook.com

注意

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 これを行うには多くの方法があります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom

  • 必ず以下の置き換えを行ってください。
    • 10.0.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに
    • 10.0.0.1 をデフォルト ゲートウェイに
    • eth2 をセカンダリ NIC の名前に

Linux (Ubuntu 18.04+)

expand OS ネットワーク管理のために、Ubuntu 18.04 以降が `netplan` に変更されました。 Linux ディストリビューションの最新ドキュメントを調べることをお勧めします。
  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 ルート ユーザーでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. 2 番目のインターフェイス用のファイルを作成し、テキスト エディターでファイルを開きます。

    vi /etc/netplan/60-static.yaml
    
  4. 次の行をファイルに追加し、10.0.0.6/24 を実際の IP/ネットマスクに置き換えます。

    network:
        version: 2
        ethernets:
            eth0:
                addresses:
                    - 10.0.0.6/24
    
  5. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  6. netplan try を使用して変更をテストし、構文を確認します。

    netplan try
    

注意

netplan try は変更を一時的に適用し、120 秒後に変更をロールバックします。 接続が切断された場合は、120 秒待ってから再接続してください。 その時点で、変更はロールバックされています。

  1. netplan try に問題がないと仮定し、構成変更を適用します。

    netplan apply
    
  2. 次のコマンドを使用して、IP アドレスがネットワーク インターフェイスに追加されたことを確認します。

    ip addr list eth0
    

    追加した IP アドレスが、リストの一部として表示されます。 例:

    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
        valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host
        valid_lft forever preferred_lft forever
    2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:0d:3a:8c:14:a5 brd ff:ff:ff:ff:ff:ff
        inet 10.0.0.6/24 brd 10.0.0.255 scope global eth0
        valid_lft forever preferred_lft forever
        inet 10.0.0.4/24 brd 10.0.0.255 scope global secondary eth0
        valid_lft forever preferred_lft forever
        inet6 fe80::20d:3aff:fe8c:14a5/64 scope link
        valid_lft forever preferred_lft forever
    

検証 (Ubuntu 18.04+)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.0.0.5 outlook.com

注意

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 これを行うには多くの方法があります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom

  • 必ず以下の置き換えを行ってください。
    • 10.0.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに
    • 10.0.0.1 をデフォルト ゲートウェイに
    • eth2 をセカンダリ NIC の名前に

Linux (Red Hat、CentOS、その他)

expand
  1. ターミナル ウィンドウを開きます。

  2. 自身がルート ユーザーになっていることを確認します。 ルート ユーザーでない場合は、次のコマンドを入力します。

    sudo -i
    
  3. パスワードを入力し、画面の指示に従います。 ルート ユーザーになったら、次のコマンドを使用して、ネットワーク スクリプト フォルダーに移動します。

    cd /etc/sysconfig/network-scripts
    
  4. 次のコマンドを使用して、関連する ifcfg ファイルをリストアップします。

    ls ifcfg-*
    

    ファイルのうちの 1 つに ifcfg-eth0 があります。

  5. IP アドレスを追加するには、次のように構成ファイルを作成します。 IP 構成ごとに 1 つのファイルを作成する必要があることに注意してください。

    touch ifcfg-eth0:0
    
  6. 次のコマンドを使って、ifcfg-eth0:0 ファイルを開きます。

    vi ifcfg-eth0:0
    
  7. 次のコマンドを使って、ファイルに内容 (ここでは eth0:0) を追加します。 目的の IP アドレスに基づいて情報を更新してください。

    DEVICE=eth0:0
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=192.168.101.101
    NETMASK=255.255.255.0
    
  8. 次のコマンドを使用して、ファイルの内容を保存します。

    :wq
    
  9. ネットワーク サービスを再起動し、次のコマンドを実行して、変更が成功したかどうかを確認します。

    /etc/init.d/network restart
    ifconfig
    

    返されるリストに、追加した IP アドレス「 eth0:0」が表示されることを確認します。

検証 (Red Hat、CentOS、その他)

関連付けたパブリック IP を使用してセカンダリ IP 構成からインターネットに接続できることを確認するには、次のコマンドを使用します。

ping -I 10.0.0.5 outlook.com

注意

セカンダリ IP 構成でインターネットに ping を実行できるのは、その構成にパブリック IP アドレスが関連付けられている場合だけです。 プライマリ IP 構成では、インターネットに ping を実行するためにパブリック IP アドレスは必要ありません。

Linux VM の場合、セカンダリ NIC からの送信接続を検証しようとしたときに、適切なルートの追加が必要になることがあります。 これを行うには多くの方法があります。 Linux ディストリビューションに応じて適切なドキュメントを参照してください。 これを行う方法の 1 つを以下に示します。

echo 150 custom >> /etc/iproute2/rt_tables 

ip rule add from 10.0.0.5 lookup custom
ip route add default via 10.0.0.1 dev eth2 table custom

  • 必ず以下の置き換えを行ってください。
    • 10.0.0.5 を、パブリック IP アドレスが関連付けられているプライベート IP アドレスに
    • 10.0.0.1 をデフォルト ゲートウェイに
    • eth2 をセカンダリ NIC の名前に