警告
本記事は、投稿より時間が経過しており、一部内容が古い可能性があります。
こんにちは、Azure サポートチームの三國です。
今回は、単数 NIC の仮想マシンを複数NICにする方法についてご案内します。
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。
はじめに
NIC とは、ネットワークインターフェイスカードの略です。Azure Portal から仮想マシンを作成するときは単数 NIC がついている仮想マシンしか作成できないのですが、Azure PowerShell などを使うことにより最初から複数の NIC を持った仮想マシンを作成することができます。
最初から複数 NIC を持った仮想マシンを作成する方法は、下記のドキュメントをご覧ください。
複数の NIC を持つ Windows 仮想マシンの作成と管理
今回のテーマは、「後から NIC の数を複数にしたい!」 というケースです。
実は、2つの NIC を持つ仮想マシンにもう1つNICを加えることは難しくありません。
本ブログにおいてこのケースは直接的には取り上げませんので、以下のドキュメントをご参照ください。
(なお、本ブログを読んでも方法については理解できるようになります)
既存の VM への NIC の追加
それでは、早速中身に入りましょう。
単数 NIC の仮想マシンを複数 NIC にする
以下のPowerShellを用いてください。解説は後述します。
注意!! このスクリプトにより仮想マシンが停止(割り当て解除)されます。
注意!! このスクリプトでは新しい NIC に NSG を割り当てません。割り当てたい場合はスクリプトをカスタマイズするか、NIC 追加後にポータルより行ってください。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
Login-AzureRmAccount $mySub = Get-AzureRmSubscription | Out-GridView -Title "Select an Azure Subscription ..." -PassThru Select-AzureRmSubscription -SubscriptionId $mySub.Id
$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
$pip = New-AzureRmPublicIpAddress -AllocationMethod Dynamic ` -ResourceGroupName $resourceGroup -DomainNameLabel $dnsNameforPublicIp ` -IpAddressVersion IPv4 -Location $location -Name $PublicIpAddressName
$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
Add-AzureRmVMNetworkInterface -VM $vm -Id $newNic.Id
$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 の際とでそれぞれ試してみるとご理解頂けるかと存じます。
1
| (Get-AzureRmVM -name [仮想マシン名] -ResourceGroupName [リソースグループ名]).NetworkProfile.NetworkInterfaces
|
そのため、ただ NIC を追加するだけでなく、プライマリを指定してあげる必要があるのです。
最初から複数NICを持っている仮想マシンにNICを加えるときは、すでにプライマリNICが定められているため、NIC の追加だけで十分です。
以上になります。
(その他、この記事を見に来た方に役立つかもしれないブログ)
Azure VM (ARM) の NIC 差し替えについて
※本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。