42.從非托管磁盤創建虛擬機
接著我需要利用這個非托管磁盤的系統盤創建一個虛擬機
首選選中這個LinuxWeb02OSDisk文件,復制它的URL
在這裏又要使用Microsoft Azure Storage Explorer工具了,登陸您的Azure帳號查看到您的存儲資源
因為基於該文件創建虛擬機默認這塊按照我之前的文章來操作的話是沒有添加.vhd後綴的,但創建的腳本時必須是帶.vhd後綴的,否則會創建虛擬機失敗,因此需要在這個工具下重命名這些文件,添加.vhd後綴,全部改成如下,並且檢查是不是Page Blob,因為虛擬機文件必須存放格式為Page blob
接下來還是利用Azure Powershell登陸到自己的帳戶
接著定義一些變量
定義一些變量,為我們下面腳本創建虛擬機
#選擇您的訂閱ID
Select-AzureRmSubscription -SubscriptionID "e126eea7-****-****-****-464612ef552d"
#指定虛擬機名稱
$vmName = "LinuxWeb02"
#指定資源組名稱
$rgName = "ServersResourceGroup"
#查看子網ID
$vnet = Get-AzureRmVirtualNetwork -Name "Servers-vNet" -ResourceGroupName $rgName
$subnet01 = Get-AzureRmVirtualNetworkSubnetConfig -Name "Servers10.0.2.0" -VirtualNetwork $vnet
#創建一個公網IP地址
$publicIP = New-AzureRmPublicIpAddress -Name "Linuxweb02-PublishIP" -ResourceGroupName $rgName -Location "eastasia" -AllocationMethod Dynamic -IpAddressVersion IPv4 -Force
#創建網卡
$NIC = New-AzureRmNetworkInterface -Name "Linuxweb02-NIC
#配置要使用的存儲賬號以及系統盤名稱
$OSDiskName = $vmname + "_OSDisk"
$OSDiskUrl = "https://serverdisk01.blob.core.windows.net/vhds/LinuxWeb02OSDisk.vhd"
#生成虛擬機的配置
$vmconfig = New-AzureRmVMConfig -VMName $vmname -VMSize Standard_A1 | Set-AzureRmVMOSDisk –Name $OSDiskName -VhdUri $OSDiskUrl -CreateOption attach -Linux | Add-AzureRmVMNetworkInterface -Id $NIC.Id -Primary
#創建虛擬機
New-AzureRmVM -ResourceGroupName $rgName -Location "eastasia" -VM $vmconfig
等一會後,在Azure管理門戶中就可以看到虛擬機已經正在創建了
創建完成以後如果需要添加數據磁盤可以在磁盤處添加
選擇現有Blob
確定,然後點擊保存
如果要添加診斷磁盤在這裏選擇就OK了
默認這樣創建出來的虛擬機是沒有NSG的,沒有NSG等於沒有防火墻,屬於全端口開放,如果需要控制端口訪問就需要為該虛擬機添加一個NSG再定義訪問端口策略就可以了
接下來為了虛擬機的安全訪問,我需要添加NSG實現端口訪問控制,在所有服務裏選擇“網絡安全組”
添加命名一個NSG
接下來選擇虛擬機的這張網卡
選擇網絡安全組——編輯
選擇之前創建好的NSG保存
這下該虛擬機有NSG了,可以添加端口了,比如必要的SSH端口訪問
接下來是HTTP
OK,測試下訪問,沒問題了
42.從非托管磁盤創建虛擬機