使用 Azure PowerShell 在可用性區域中建立虛擬機器
適用於:✔️ Windows VM
本文詳細說明在 Azure 可用性區域中,使用 Azure PowerShell 建立 Azure 虛擬機器執行 Windows Server 2016。 可用性區域是指 Azure 區域內實際上分隔的區域。 萬一整個資料中心失敗或遺失,使用可用性區域可保護您的應用程式和資料免於受害。
若要使用可用性區域,請在支援的 Azure 區域中建立虛擬機器。
登入 Azure
使用 Connect-AzAccount
命令登入 Azure 訂用帳戶並遵循畫面上的指示。
Connect-AzAccount
檢查 VM SKU 可用性
VM 大小或 SKU 的可用性可能因地區和區域而有所不同。 為了協助您規劃如何利用可用性區域,您可以依照 Azure 地區和區域列出可用的 VM SKU。 這項功能可確保您選擇適當的 VM 大小,並取得所需的跨區域復原功能。 如需有關不同 VM 類型和大小的詳細資訊,請參閱 VM 大小概觀。
您可以使用 Get-AzComputeResourceSku 命令來檢視可用的 VM SKU。 下列範例會列出 eastus2 地區中可用的 VM SKU:
Get-AzComputeResourceSku | where {$_.Locations.Contains("eastus2")};
其輸出類似下列扼要的範例,會顯示每個 VM 大小適用的可用性區域:
ResourceType Name Location Zones [...]
------------ ---- -------- -----
virtualMachines Standard_DS1_v2 eastus2 {1, 2, 3}
virtualMachines Standard_DS2_v2 eastus2 {1, 2, 3}
[...]
virtualMachines Standard_F1s eastus2 {1, 2, 3}
virtualMachines Standard_F2s eastus2 {1, 2, 3}
[...]
virtualMachines Standard_D2s_v3 eastus2 {1, 2, 3}
virtualMachines Standard_D4s_v3 eastus2 {1, 2, 3}
[...]
virtualMachines Standard_E2_v3 eastus2 {1, 2, 3}
virtualMachines Standard_E4_v3 eastus2 {1, 2, 3}
建立資源群組
使用 New-AzResourceGroup 來建立 Azure 資源群組。 資源群組是在其中部署與管理 Azure 資源的邏輯容器。 在此範例中,會在 eastus2 區域中建立名為 myResourceGroup 的資源群組。
New-AzResourceGroup -Name myResourceGroup -Location EastUS2
建立網路資源
建立虛擬網路、子網路和公用 IP 位址
這些資源用來提供虛擬機器的網路連線能力,並可將它連線到網際網路。 在此範例的 2 中,在 [可用性] 區域中建立 IP 位址。 在稍後步驟中,您會在用於建立 IP 位址的相同區域中建立 VM。
# Create a subnet configuration
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24
# Create a virtual network
$vnet = New-AzVirtualNetwork -ResourceGroupName myResourceGroup -Location eastus2 `
-Name myVNet -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig
# Create a public IP address in an availability zone and specify a DNS name
$pip = New-AzPublicIpAddress -ResourceGroupName myResourceGroup -Location eastus2 -Zone 2 `
-AllocationMethod Static -IdleTimeoutInMinutes 4 -Name "mypublicdns$(Get-Random)" -Sku Standard
建立網路安全性群組和網路安全性群組規則
網路安全性群組可使用輸入和輸出規則來保護虛擬機器。 在此情況下,會建立連接埠 3389 的輸入規則,以允許連入的遠端桌面連線。 我們也會建立連接埠 80 的輸入規則,以允許連入的 Web 流量。
# Create an inbound network security group rule for port 3389 - change -Access to "Allow" if you want to allow RDP access
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP -Protocol Tcp `
-Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Deny
# Create an inbound network security group rule for port 80 - - change -Access to "Allow" if you want to allow TCP traffic over port 80
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW -Protocol Tcp `
-Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 80 -Access Deny
# Create a network security group
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName myResourceGroup -Location eastus2 `
-Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP,$nsgRuleWeb
建立虛擬機器的網路卡
使用 New-AzNetworkInterface 建立虛擬機器的網路卡。 網路卡可讓虛擬機器連線到子網路、網路安全性群組和公用 IP 位址。
# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzNetworkInterface -Name myNic -ResourceGroupName myResourceGroup -Location eastus2 `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
建立虛擬機器
建立虛擬機器組態。 此組態包括部署虛擬機器時所使用的組態,例如虛擬機器映像、大小和驗證組態。 可用性區域支援此範例中的 Standard_DS1_v2 大小。 建立 IP 位址時,此設定也會指定您所設定的可用性區域。 執行此步驟時,系統會提示您輸入認證。 您輸入的值會設定為虛擬機器的使用者名稱和密碼。
# Define a credential object
$cred = Get-Credential
# Create a virtual machine configuration
$vmConfig = New-AzVMConfig -VMName myVM -VMSize Standard_DS1_v2 -Zone 2 | `
Set-AzVMOperatingSystem -Windows -ComputerName myVM -Credential $cred | `
Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer `
-Skus 2016-Datacenter -Version latest | Add-AzVMNetworkInterface -Id $nic.Id
使用 New-AzVM 來建立虛擬機器。
New-AzVM -ResourceGroupName myResourceGroup -Location eastus2 -VM $vmConfig
確認受控磁碟的區域
您已在與 VM 相同的可用性區域中建立了 VM 的 IP 位址資源。 在相同的可用性區域中會建立 VM 的受控磁碟資源。 您可使用 Get-AzDisk 來確認這點:
Get-AzDisk -ResourceGroupName myResourceGroup
輸出會顯示與 VM 相同的可用性區域中的受控磁碟:
ResourceGroupName : myResourceGroup
AccountType : PremiumLRS
OwnerId : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.
Compute/virtualMachines/myVM
ManagedBy : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx//resourceGroups/myResourceGroup/providers/Microsoft.
Compute/virtualMachines/myVM
Sku : Microsoft.Azure.Management.Compute.Models.DiskSku
Zones : {2}
TimeCreated : 9/7/2017 6:57:26 PM
OsType : Windows
CreationData : Microsoft.Azure.Management.Compute.Models.CreationData
DiskSizeGB : 127
EncryptionSettings :
ProvisioningState : Succeeded
Id : /subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.
Compute/disks/myVM_OsDisk_1_bd921920bb0a4650becfc2d830000000
Name : myVM_OsDisk_1_bd921920bb0a4650becfc2d830000000
Type : Microsoft.Compute/disks
Location : eastus2
Tags : {}
下一步
在本文中,您已學到如何在可用性區域中建立 VM。 深入了解 Azure VM 的可用性。