Creare una macchina virtuale Windows in una zona di disponibilità con PowerShellCreate a Windows virtual machine in an availability zone with PowerShell

Questo articolo illustra come usare Azure PowerShell per creare una macchina virtuale di Azure che esegue Windows Server 2016 in una zona di disponibilità di Azure.This article details using Azure PowerShell to create an Azure virtual machine running Windows Server 2016 in an Azure availability zone. Una zona di disponibilità è una zona fisicamente separata in un'area di Azure.An availability zone is a physically separate zone in an Azure region. Usare le zone di disponibilità per proteggere app e dati da un poco probabile errore o perdita di un intero data center.Use availability zones to protect your apps and data from an unlikely failure or loss of an entire datacenter.

Per usare una zona di disponibilità, creare la macchina virtuale in un'area di Azure supportata.To use an availability zone, create your virtual machine in a supported Azure region.

Nota

Questo articolo è stato aggiornato per usare il nuovo modulo Az di Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. È comunque possibile usare il modulo AzureRM, che continuerà a ricevere correzioni di bug almeno fino a dicembre 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Per altre informazioni sul nuovo modulo Az e sulla compatibilità di AzureRM, vedere Introduzione del nuovo modulo Az di Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Per istruzioni sull'installazione del modulo Az, vedere Installare Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Accedi ad AzureSign in to Azure

Accedere alla sottoscrizione di Azure con il comando Connect-AzAccount e seguire le istruzioni visualizzate.Sign in to your Azure subscription with the Connect-AzAccount command and follow the on-screen directions.

Connect-AzAccount

Verificare la disponibilità dello SKU di VMCheck VM SKU availability

La disponibilità delle dimensioni delle macchine virtuali, o SKU, può variare in base all'area e alla zona.The availability of VM sizes, or SKUs, may vary by region and zone. Per semplificare la pianificazione dell'uso delle zone di disponibilità, è possibile elencare gli SKU di VM disponibili per area e zona di Azure.To help you plan for the use of Availability Zones, you can list the available VM SKUs by Azure region and zone. Questa possibilità assicura la scelta di dimensioni adeguate per le macchine virtuali e l'ottenimento della resilienza desiderata tra le aree.This ability makes sure that you choose an appropriate VM size, and obtain the desired resiliency across zones. Per altre informazioni sui tipi e sulle dimensioni delle VM, vedere la panoramica delle dimensioni delle VM.For more information on the different VM types and sizes, see VM Sizes overview.

È possibile visualizzare gli SKU di VM disponibili con il comando Get-AzComputeResourceSku.You can view the available VM SKUs with the Get-AzComputeResourceSku command. L'esempio seguente elenca gli SKU di VM disponibili nell'area eastus2:The following example lists available VM SKUs in the eastus2 region:

Get-AzComputeResourceSku | where {$_.Locations.Contains("eastus2")};

L'output è simile all'esempio sintetico seguente, che mostra le zone di disponibilità nelle quali è disponibile ogni dimensione di VM:The output is similar to the following condensed example, which shows the Availability Zones in which each VM size is available:

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}

Creare un gruppo di risorseCreate resource group

Creare un gruppo di risorse di Azure con New-AzResourceGroup.Create an Azure resource group with New-AzResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite.A resource group is a logical container into which Azure resources are deployed and managed. In questo esempio viene creato un gruppo di risorse denominato myResourceGroup nell'area eastus2.In this example, a resource group named myResourceGroup is created in the eastus2 region.

New-AzResourceGroup -Name myResourceGroup -Location EastUS2

Creare risorse di reteCreate networking resources

Creare una rete virtuale, una subnet e un indirizzo IP pubblicoCreate a virtual network, subnet, and a public IP address

Queste risorse vengono usate per fornire la connettività di rete alla macchina virtuale e connetterla a Internet.These resources are used to provide network connectivity to the virtual machine and connect it to the internet. Creare l'indirizzo IP in una zona di disponibilità, la 2 in questo esempio.Create the IP address in an availability zone, 2 in this example. In un passaggio successivo viene creata la VM nella stessa zona usata per creare l'indirizzo IP.In a later step, you create the VM in the same zone used to create the IP address.

# 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)"

Creare un gruppo di sicurezza di rete e una regola del gruppo di sicurezza di reteCreate a network security group and a network security group rule

Il gruppo di sicurezza di rete protegge la macchina virtuale usando le regole in entrata e in uscita.The network security group secures the virtual machine using inbound and outbound rules. In questo caso viene creata una regola in entrata per la porta 3389 che consente connessioni desktop remoto in ingresso.In this case, an inbound rule is created for port 3389, which allows incoming remote desktop connections. È necessario anche creare una regola in ingresso per la porta 80, che consente il traffico Web in ingresso.We also want to create an inbound rule for port 80, which allows incoming web traffic.

# Create an inbound network security group rule for port 3389
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP  -Protocol Tcp `
    -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
    -DestinationPortRange 3389 -Access Allow

# Create an inbound network security group rule for port 80
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleWWW  -Protocol Tcp `
    -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
    -DestinationPortRange 80 -Access Allow

# Create a network security group
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName myResourceGroup -Location eastus2 `
    -Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP,$nsgRuleWeb

Creare una scheda di rete per la macchina virtualeCreate a network card for the virtual machine

Creare una scheda di rete con New-AzNetworkInterface per la macchina virtuale.Create a network card with New-AzNetworkInterface for the virtual machine. La scheda di rete connette la macchina virtuale a una subnet, a un gruppo di sicurezza di rete e a un indirizzo IP pubblico.The network card connects the virtual machine to a subnet, network security group, and public IP address.

# 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

Crea macchina virtualeCreate virtual machine

Creare una configurazione di macchina virtuale.Create a virtual machine configuration. Questa configurazione include le impostazioni utilizzate quando si distribuisce la macchina virtuale, ad esempio l'immagine della macchina virtuale, la dimensione e la configurazione di autenticazione.This configuration includes the settings that are used when deploying the virtual machine such as a virtual machine image, size, and authentication configuration. La dimensione Standard_DS1_v2 usata in questo esempio è supportata nelle zone di disponibilità.The Standard_DS1_v2 size in this example is supported in availability zones. Questa configurazione specifica anche la zona di disponibilità impostata durante la creazione dell'indirizzo IP.This configuration also specifies the availability zone you set when creating the IP address. Quando si esegue questo passaggio vengono chieste le credenziali.When running this step, you are prompted for credentials. I valori immessi sono configurati come nome utente e password per la macchina virtuale.The values that you enter are configured as the user name and password for the virtual machine.

# 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

Creare la macchina virtuale con New-AzVM.Create the virtual machine with New-AzVM.

New-AzVM -ResourceGroupName myResourceGroup -Location eastus2 -VM $vmConfig

Confermare la zona per il disco gestitoConfirm zone for managed disk

La risorsa indirizzo IP della macchina virtuale è stata creata nella stessa zona disponibilità della macchina virtuale.You created the VM's IP address resource in the same availability zone as the VM. La risorsa disco gestito per la VM viene creata nella stessa zona di disponibilità.The managed disk resource for the VM is created in the same availability zone. È possibile verificarlo con Get-AzDisk:You can verify this with Get-AzDisk:

Get-AzDisk -ResourceGroupName myResourceGroup

L'output indica che il disco gestito si trova nella stessa zona di disponibilità della VM:The output shows that the managed disk is in the same availability zone as the 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               : {}

Passaggi successiviNext steps

In questo articolo è stato illustrato come creare una macchina virtuale in una zona di disponibilità.In this article, you learned how to create a VM in an availability zone. Per altre informazioni, vedere Aree e disponibilità per le VM di Azure.Learn more about regions and availability for Azure VMs.