Azure 仮想ネットワークのサブネットを作成し、Azure 仮想マシンと紐づけている状態で、サブネットの定義(アドレス範囲:CIDR ブロック)を変更しなければならない状況が発生する場合があると思います。
今回は、Azure 仮想マシンと紐づけている仮想ネットワークのサブネットの定義(アドレス範囲:CIDR ブロック)を変更する方法について、自分の整理も兼ねて、まとめてみようと思います。
[構成変更前]
仮想ネットワーク : vn-je-test01
アドレス空間 : 192.168.0.0/24
サブネット : subnet0 (192.168.0.0/27)
仮想マシン : vm01 (vn-je-test01/subnet0)
[構成変更後]
仮想ネットワーク : vn-je-test01
アドレス空間 : 192.168.0.0/24
サブネット : subnet1 (192.168.0.0/28)
サブネット : subnet2 (192.168.0.16/28)
仮想マシン : vm01 (vn-je-test01/subnet1)
Azure 仮想マシンと紐づけている仮想ネットワークのサブネットの定義(アドレス範囲:CIDR ブロック)を変更するためには、Azure 仮想マシンに紐づいている仮想ネットワークのサブネットの割り当て解除を実施する必要があります。
今回は、仮想ネットワーク「vn-je-test01」に 新しいアドレス空間、サブネットを一時的に作成し、Azure 仮想マシンと紐づけるサブネットを新規で作成したサブネットに変更することで、サブネット 「subnet0 (192.168.0.0/27)」を サブネット「subnet1 (192.168.0.0/28)」、「subnet2 (192.168.0.16/28)」として再作成し、「vm01 (vn-je-test01/subnet1) 」としてサブネットを紐づける方法について確認してみます。
サブネット定義(アドレス範囲:CIDR ブロック)変更手順
1) Azure ポータルに接続し、「Virtual Machines」を選択します。
2) 変更対象のサブネットに紐づく仮想マシン(本例では「vm01」) を選択後、「停止」を選択し、仮想マシンを停止します。
3) 「仮想ネットワーク」を選択し、変更対象の仮想ネットワーク(本例では「vn-je-test01」) を選択します。
4) 以下のアドレス空間、サブネットを新規で作成で作成します。
仮想ネットワーク : vn-je-test01
アドレス空間 : 172.16.0.0/24
サブネット : subnet-test (172.16.0.0/27)
5) 変更対象のサブネットに紐づく仮想マシン(本例では「vm01」) -「ネットワーク」-「ネットワーク インターフェース」(本例では「vm01472」) を選択します。
6) 変更対象のサブネットに紐づく仮想マシン(本例では「vm01」) -「ネットワーク」-「ネットワーク インターフェース」(本例では「vm01472」) を選択後、 設定:「IP 構成」のサブネット欄で新規作成したサブネット(本例では「subnet-test」) を選択し、「保存」を選択します。
※ プライベート IP アドレスを「静的」に指定している場合は、一時的に「動的」に変更します。
7) 変更対象の仮想ネットワーク「vn-je-test01」-「サブネット」- 変更対象のサブネット(本例では「subnet0」) -「削除」を選択し、変更対象のサブネットを削除します。
8) 「+サブネット」から以下のサブネットを作成します。
仮想ネットワーク : vn-je-test01
アドレス空間 : 192.168.0.0/24
サブネット : subnet1 (192.168.0.0/28)
サブネット : subnet2 (192.168.0.16/28)
9) 変更対象のサブネットに紐づく仮想マシン(本例では「vm01」) -「ネットワーク」-「ネットワーク インターフェース」(本例では「vm01472」) を選択後、 設定:「IP 構成」のサブネット欄で 8) で作成したサブネット(本例では「subnet1」) を選択し、「保存」を選択します。
※ 必要に応じて、プライベート IP アドレスを「静的」に変更し、明示的に静的プライベート IP アドレスを指定します。
10) 4) で作成したサブネット(本例では「subnet-test」) を削除します。
11) 同様に 4) で作成したアドレス空間 (本例では「172.16.0.0/24」) を「削除」後、「保存」を選択します。
12) 該当の仮想マシン(本例では「vm01」) に紐づいているサブネットが変更(本例では「subnet1」) され、仮想マシンが正常に起動することを確認します。
今回は、変更対象のサブネットに紐づく仮想マシンが1台であったため、それほど手間ではありませんでしたが、仮想マシンの台数が多い場合は、Azure Resource Manager、 Azure CLI、Terraform などにより、コマンドから実行することを検討すると良いかと思います。
また、仮想ネットワークのサブネット定義 (アドレス範囲:CIDR ブロック) を変更することは面倒なので、作成する前にはしっかりと設計することが大事だと思います。