Azure VMでPrivate IP Prefix(Preview)を試してみた
はじめに
Azure VM(Virtual Machines)のPrivate IP Prefixを試してみました!
この機能は2025/05現在プレビュー中で、使用するにはこちらのフォームからの申請が必要です。
Azure VMのPrivate IP Prefixとは
Azure VMのNIC(Network Interface)には、プライベートIPアドレスを複数割り当てることが可能です。
新機能のPrivate IP Prefixを使用すると、1つのセカンダリIP構成につき/28のCIDRブロックでプライベートIPアドレス(16個)を割り当てることもできるようになりました。これによりVMに対して最大で従来の16倍のプライベートIPアドレスを割り当てが可能となります。
大量のIPアドレスを使用するワークロード(例えばKubernetesで大量のPodを起動する)であったり、大量の同時アウトバウンド接続があり、エフェメラル(動的)ポートを大量に使用するといった場合に効果を発揮するとのこと。
既存のNICでプライベートIPアドレスが足りなくなりそうになったときに、NIC・VM数を増やさずにIP枯渇を回避することができます。
試してみる
こちらの手順に沿って試してみます。
- IP Prefix on NICの利用申請。
- Azure VMにアタッチされているNICへセカンダリのIP構成を追加。
- Azure VMのOSのネットワーク設定。
- 動作確認。
PoC構成
Azure VMを作成し、ネットワークインターフェイスの設定からセカンダリIP構成をPrivate IP Prefixで追加してみます。
設定
IP Prefix on NICの利用申請
IP Prefix on NIC - Public Preview Sign-Upフォームで利用申請を行います。
申請の承認後にAzure PortalでNICを開くと、IP構成の設定でIP Prefixが指定できるようになります。
Azure VMにアタッチされているNICへセカンダリのIP構成を追加
Azure VMのネットワーク設定設定からアタッチされているNICを開きます。
![]() |
---|
IP構成で追加ボタンを押下し、セカンダリIP構成の追加画面を開きます。
![]() |
---|
[プライベート IP アドレスの種類]でIP アドレス プレフィックス
を選びます。
[割り当て]は動的
もしくは静的
があり、後者の場合はCIDRブロックを指定可能です。
今回は割り当ては静的
を選択してCIDRブロックを192.168.0.16/28
に指定してみます。
![]() |
---|
セカンダリのIP構成を保存した後、Azure PortalでVNetを開き[接続デバイス]を確認してみます。
Azure VMにアタッチされているNICが指定したCIDRブロックでIPアドレスを使用していることが分かります。
![]() |
---|
Azure VMのOSのネットワーク設定
Azure VMにSSH接続し、こちらの手順に沿ってOSのネットワーク設定でもIPアドレスの追加を行います。
ルートユーザーにスイッチします。
sudo -i
追加のIPアドレスを定義するコンフィグファイルをviで作成し、
vi /etc/netplan/60-static.yaml
設定を記述し:wq
でファイルを保存します。
addressにはNICのセカンダリIP構成で設定したのと同じ192.168.0.16/28
を記述します。
network:
version: 2
ethernets:
eth0:
addresses:
- 192.168.0.16/28
作成したコンフィグファイルのパーミッションを設定します。
chmod 600 /etc/netplan/60-static.yaml
netplan try
で設定ファイルの構文チェックを行い、問題なければnetplan apply
で反映します。
netplan try
netplan apply
ipコマンドでNICのIPアドレスを表示すると、192.168.0.16/28
も追加されたことが確認できます。
# ip addr list eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0d:3a:59:ae:78 brd ff:ff:ff:ff:ff:ff
inet 192.168.0.16/28 brd 192.168.0.31 scope global eth0
valid_lft forever preferred_lft forever
inet 192.168.0.4/25 metric 100 brd 192.168.0.127 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::20d:3aff:fe59:ae78/64 scope link
valid_lft forever preferred_lft forever
動作確認
pingコマンドの-I
オプションを使用して、動作確認をしてみます。
-I
オプションは、送信元(interface もしくは IP アドレス)を指定するものです。
送信元IPアドレスを、NICのセカンダリIP構成で指定したCIDRブロックに含まれる192.168.0.16とし、
送信先IPアドレスを、NICのプライマリIP構成で割り当てられている192.168.0.4でPingコマンドを実行すると、その通りに疎通できていることが確認できます。
ping -I 192.168.0.16 192.168.0.4
PING 192.168.0.4 (192.168.0.4) from 192.168.0.16 : 56(84) bytes of data.
64 bytes from 192.168.0.4: icmp_seq=1 ttl=64 time=0.043 ms
64 bytes from 192.168.0.4: icmp_seq=2 ttl=64 time=0.043 ms
最後に
Azure VMでPrivate IP Prefix(Preview)を試してみました。
まだプレビュー版で試すのにも申請が必要で、CIDRブロックも/28しか指定できませんが、
GAする時には他サイズのCIDRブロック指定などにも対応していくかもしれません。今後のアップデートもウォッチしていきたいと思います!
Discussion