こんにちは、Azureサポートチームの三國です。
今回は、単数NICの仮想マシンを複数NICにする方法についてご案内します。
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
はじめに
NICとは、ネットワークインターフェイスカードの略です。Azure Portalから仮想マシンを作成するときは単数NICがついている仮想マシンしか作成できないのですが、Azure PowerShellなどを使うことにより最初から複数のNICを持った仮想マシンを作成することができます。
最初から複数NICを持った仮想マシンを作成する方法は、下記のドキュメントをご覧ください。
今回のテーマは、「後からNICの数を複数にしたい!」というケースです。
実は、2つのNICを持つ仮想マシンにもう1つNICを加えることは難しくありません。
本ブログにおいてこのケースは直接的には取り上げませんので、以下のドキュメントをご参照ください。
(なお、本ブログを読んでも方法については理解できるようになります)
(なお、本ブログを読んでも方法については理解できるようになります)
それでは、早速中身に入りましょう。
単数NICの仮想マシンを複数NICにする
以下のPowerShellを用いてください。解説は後述します。
注意!!このスクリプトにより仮想マシンが停止(割り当て解除)されます。
注意!!このスクリプトでは新しいNICにNSGを割り当てません。割り当てたい場合はスクリプトをカスタマイズするか、NIC追加後にポータルより行ってください。
###################################################################### ### ログインとサブスクリプション指定 ###################################################################### Login-AzureRmAccount $mySub = Get-AzureRmSubscription | Out-GridView -Title "Select an Azure Subscription ..." -PassThru Select-AzureRmSubscription -SubscriptionId $mySub.Id ###################################################################### ###基本情報を設定する ###なお、パブリックIPアドレスの割り当ては任意です ###################################################################### $resourceGroup = "リソースグループ名" $location = "場所" $vmName = "仮想マシン名" $PublicIpAddressName = "パブリックIPアドレス名" $dnsNameforPublicIp = "パブリックIPアドレスに紐づくDNS名" $vNetName = "仮想マシンの所属するVnet名" $newNicName = "新しいNIC名" $vm = Get-AzureRmVM -name $vmName -ResourceGroupName $resourceGroup ###################################################################### ###仮想マシンを停止する ###################################################################### stop-azurermvm -name $vmName -ResourceGroupName $resourceGroup ###################################################################### ###パブリックIPアドレスを作成する ###パブリックIPアドレスが不要であればコメントアウトください。 ###################################################################### $pip = New-AzureRmPublicIpAddress -AllocationMethod Dynamic ` -ResourceGroupName $resourceGroup -DomainNameLabel $dnsNameforPublicIp ` -IpAddressVersion IPv4 -Location $location -Name $PublicIpAddressName ###################################################################### ###新NICを作成する ###パブリックIPアドレスの割り当ては任意です。不要であれば、 ###-PublicIpAddressIdオプションをコメントアウトしてください。 ###################################################################### $myVnet = Get-AzureRmVirtualNetwork -Name $vNetName -ResourceGroupName $resourceGroup $mySubnet = Get-AzureRmVirtualNetworkSubnetConfig -VirtualNetwork $myVnet ` |Out-GridView -Title "Select an Azure Subnet ..." -PassThru $newNic = New-AzureRmNetworkInterface -Location $location ` -Name $newNicName -ResourceGroupName $resourceGroup ` -SubnetId $mySubnet.Id -PublicIpAddressId $pip.id ###################################################################### ###新NICを追加する ###################################################################### Add-AzureRmVMNetworkInterface -VM $vm -Id $newNic.Id ###################################################################### ###プライマリNICを指定する ###本手順では既存のNICをプライマリにしていますが、新NICをプライマリに ###したい場合は以下のようにしてください ###vm.NetworkProfile.NetworkInterfaces[1].Primary=$true ###################################################################### vm.NetworkProfile.NetworkInterfaces[0].Primary=$true ###################################################################### ###仮想マシン情報を更新する ###################################################################### Update-AzureRmVm -ResourceGroupName $resourceGroup -VM $vm ###################################################################### ###仮想マシンを起動する ###################################################################### start-azurermvm -name $vmName -ResourceGroupName $resourceGroup
解説
NICを単数から複数にするうえで重要なのは、"プライマリNIC"を指定するということです。
NICが単数の時はNICのパラメータに"プライマリ"という概念はありませんが、複数NICになると必要になります。
NICが単数の時はNICのパラメータに"プライマリ"という概念はありませんが、複数NICになると必要になります。
下記コマンドを単数NICの際と複数NICの際とでそれぞれ試してみるとご理解頂けるかと存じます。
(Get-AzureRmVM -name [仮想マシン名] -ResourceGroupName [リソースグループ名]).NetworkProfile.NetworkInterfaces
そのため、ただNICを追加するだけでなく、プライマリを指定してあげる必要があるのです。
最初から複数NICを持っている仮想マシンにNICを加えるときは、すでにプライマリNICが定められているため、NICの追加だけで十分です。
以上になります。
ご質問などありましたら、ぜひコメント欄へお願いします!
(その他、この記事を見に来た方に役立つかもしれないブログ)