Creare una route definita dall'utente - PowerShellCreate a user-defined route - PowerShell

Questa esercitazione illustra come creare route definite dall'utente per il routing del traffico tra due subnet della rete virtuale attraverso un'appliance di rete virtuale.In this tutorial, learn how to create user-defined routes to route traffic between two virtual network subnets through a network virtual appliance. Un'appliance di rete virtuale è una macchina virtuale che esegue un'applicazione di rete, ad esempio un firewall.A network virtual appliance is a virtual machine that runs a network application, such as a firewall. Per altre informazioni sulle appliance di rete virtuali preconfigurate distribuibili in una rete virtuale di Azure, vedere Azure Marketplace.To learn more about pre-configured network virtual appliances that you can deploy in an Azure virtual network, see the Azure Marketplace.

Quando si creano subnet in una rete virtuale, Azure crea route di sistema predefinite che consentono le comunicazioni tra le risorse in tutte le subnet, come visualizzato nell'immagine seguente:When you create subnets in a virtual network, Azure creates default system routes that enable resources in all subnets to communicate with each other, as shown in the following picture:

Route predefinite

In questa esercitazione si crea una rete virtuale con una subnet pubblica, una subnet privata e una subnet perimetrale, come illustrato nell'immagine seguente.In this tutorial, you create a virtual network with public, private, and DMZ subnets, as shown in the picture that follows. In genere, i server Web vengono distribuiti in una subnet pubblica e un server di applicazioni o di database viene distribuito in una subnet privata.Typically web servers might be deployed to a public subnet, and an application or database server might be deployed to a private subnet. Si crea una macchina virtuale che svolge la funzione di appliance di rete virtuale nella subnet perimetrale e, facoltativamente, si crea in ogni subnet una macchina virtuale che comunica tramite l'appliance di rete virtuale.You create a virtual machine to act as a network virtual appliance in the DMZ subnet, and optionally, create a virtual machine in each subnet that communicate through the network virtual appliance. Tutto il traffico tra le subnet pubblica e privata viene instradato attraverso l'appliance, come illustrato nell'immagine seguente:All traffic between the public and private subnets is routed through the appliance, as shown in the following picture:

Route definite dall'utente

Questo articolo descrive la procedura per creare una route definita dall'utente tramite il modello di distribuzione Resource Manager, il modello consigliato per la creazione di route definite dall'utente.This article provides steps to create a user-defined route through the Resource Manager deployment model, which is the deployment model we recommend using when creating user-defined routes. Se è necessario creare una route definita dall'utente (distribuzione classica), vedere Create a user-defined route (classic) (Creare una route definita dall'utente - distribuzione classica).If you need to create a user-defined route (classic), see Create a user-defined route (classic). Se non si ha familiarità con i modelli di distribuzione di Azure, vedere l'articolo Informazioni sui modelli di distribuzione di Azure.If you're not familiar with Azure's deployment models, see Understand Azure deployment models. Per altre informazioni sulle route definite dall'utente, vedere Route definite dall'utente.To learn more about user-defined routes, see User-defined routes overview.

Creare route e un'appliance di rete virtualeCreate routes and network virtual appliance

È possibile installare e configurare la versione più recente del modulo AzureRM di PowerShell sul PC oppure fare clic sul pulsante Prova in uno degli script per eseguirli in Azure Cloud Shell,You can either install and configure the latest version of the PowerShell AzureRM module on your PC, or just click the Try it button in any of the scripts to execute the scripts in the Azure Cloud Shell. in cui è installato il modulo AzureRM di PowerShell.The Cloud Shell has the PowerShell AzureRM module installed.

  1. Prerequisito: creare una rete virtuale con due subnet completando la procedura descritta in Crea rete virtuale.Prerequisite: Create a virtual network with two subnets by completing the steps in Create a virtual network.
  2. Se si esegue PowerShell dal computer locale, accedere ad Azure con l'account Azure usando il comando login-azurermaccount.If running PowerShell from your computer, log in to Azure with your Azure account using the login-azurermaccount command. Se si usa Cloud Shell, si viene connessi automaticamente.If using the Cloud Shell, you're automatically logged in. È possibile che sia necessario riavviare Cloud Shell per eseguire la transizione dalla shell Bash usata durante la creazione della rete virtuale obbligatoria.The Cloud Shell may need to restart to change over from the Bash shell used when creating the pre-requisite virtual network.
  3. Impostare alcune variabili che dovranno essere usate in tutti i passaggi:Set a few variables used throughout the steps:

    $rgName="myResourceGroup"
    $location="eastus"
    
  4. Creare una subnet perimetrale nella rete virtuale esistente:Create a DMZ subnet in the exiting virtual network:

    $virtualNetwork = Get-AzureRmVirtualNetwork `
      -Name myVnet `
      -ResourceGroupName $rgName 
    Add-AzureRmVirtualNetworkSubnetConfig `
      -Name 'DMZ' `
      -AddressPrefix "10.0.2.0/24" `
      -VirtualNetwork $virtualNetwork
    $virtualNetwork | Set-AzureRmVirtualNetwork
    
  5. Creare un indirizzo IP pubblico statico per la macchina virtuale dell'appliance di rete virtuale.Create a static public IP address for the network virtual appliance virtual machine.

    $Pip = New-AzureRmPublicIpAddress `
      -AllocationMethod Static `
      -ResourceGroupName $rgName `
      -Location $location `
      -Name myPublicIp-myVm-Nva
    
    
  6. Create a network interface in the DMZ subnet, assign a static private IP address to it, and enable IP forwarding for the network interface. By assigning a static IP address to the network interface, you ensure that it doesn't change for the life of the virtual machine the network interface is attached to. IP forwarding must be enabled for each network interface that receives traffic not addressed to an IP address assigned to it.

    $virtualNetwork = Get-AzureRmVirtualNetwork `
      -Name myVnet `
      -ResourceGroupName $rgName
    $subnet = Get-AzureRmVirtualNetworkSubnetConfig `
      -Name DMZ `
      -VirtualNetwork $virtualNetwork
    $nic = New-AzureRmNetworkInterface `
      -ResourceGroupName $rgName `
      -Location $location `
      -Name 'myNic-Nva' `
      -SubnetId $subnet.Id `
      -PrivateIpAddress 10.0.2.4 `
      -EnableIPForwarding `
      -PublicIpAddressId $Pip.Id 
    
  7. Creare la macchina virtuale dell'appliance di rete virtuale.Create the NVA virtual machine. L'appliance di rete virtuale può essere una macchina virtuale che esegue un sistema operativo Linux o Windows.The NVA can be a virtual machine running the Linux or Windows operating system. Per creare la macchina virtuale, copiare lo script per il sistema operativo in uso e incollarlo nella sessione di PowerShell.To create the virtual machine, copy the script for either operating system and paste it into your PowerShell session. Se si crea una macchina virtuale Windows, incollare lo script in un editor di testo, modificare il "valore" della variabile $cred e quindi incollare il testo modificato nella sessione di PowerShell:If creating a Windows VM, paste the script into a text editor, change the "value" for the $cred variable, then paste the modified text into your PowerShell session:

    LinuxLinux

    # Define the admin user name and a blank password.
    $securePassword = ConvertTo-SecureString ' ' -AsPlainText -Force
    $cred = New-Object System.Management.Automation.PSCredential ("azureuser", $securePassword)
    
    # Define the virtual machine configuration.
    $vmConfig = New-AzureRmVMConfig `
      -VMName 'myVm-Nva' `
      -VMSize Standard_DS2 | `
      Set-AzureRmVMOperatingSystem -Linux `
      -ComputerName 'myVm-Nva' `
      -Credential $cred -DisablePasswordAuthentication| `
      Set-AzureRmVMSourceImage `
      -PublisherName Canonical `
      -Offer UbuntuServer `
      -Skus 14.04.2-LTS `
      -Version latest | `
      Add-AzureRmVMNetworkInterface -Id $nic.Id
    
    # Configure SSH Keys
    $sshPublicKey = Get-Content "$env:USERPROFILE\.ssh\id_rsa.pub"
    Add-AzureRmVMSshPublicKey -VM $vmconfig -KeyData $sshPublicKey -Path "/home/azureuser/.ssh/authorized_keys"    
    
    # Create the virtual machine
    $vm = New-AzureRmVM `
      -ResourceGroupName $rgName `
      -Location $location `
      -VM $vmConfig
    

    WindowsWindows

    # Create user object
    $cred = Get-Credential -Message "Enter a username and password for the virtual machine."
    
    $vmConfig = New-AzureRmVMConfig `
      -VMName 'myVm-Nva' `
      -VMSize Standard_DS2 | `
      Set-AzureRmVMOperatingSystem -Windows `
      -ComputerName 'myVm-Nva' `
      -Credential $cred | `
      Set-AzureRmVMSourceImage `
      -PublisherName MicrosoftWindowsServer `
      -Offer WindowsServer `
      -Skus 2016-Datacenter `
      -Version latest | `
      Add-AzureRmVMNetworkInterface -Id $nic.Id
    
    $vm = New-AzureRmVM `
      -ResourceGroupName $rgName `
      -Location $location `
      -VM $vmConfig
    
  8. Per impostazione predefinita, Azure instrada il traffico tra tutte le subnet di una rete virtuale.By default, Azure routes traffic between all subnets within a virtual network. Creare una route per modificare l'impostazione predefinita di routing di Azure e fare in modo che il traffico dalla subnet Public sia instradato all'appliance di rete virtuale, anziché direttamente alla subnet Private.Create a route to change Azure's default routing so that traffic from the Public subnet is routed to the NVA, instead of directly to the Private subnet.

    $routePrivate = New-AzureRmRouteConfig `
      -Name 'ToPrivateSubnet' `
      -AddressPrefix 10.0.1.0/24 `
      -NextHopType VirtualAppliance `
      -NextHopIpAddress $nic.IpConfigurations[0].PrivateIpAddress
    
  9. Creare una tabella di route per la subnet Public.Create a route table for the Public subnet.

    $routeTablePublic = New-AzureRmRouteTable `
      -Name 'myRouteTable-Public' `
      -ResourceGroupName $rgName `
      -location $location `
      -Route $routePrivate
    
  10. Associare la tabella di route alla subnet Public.Associate the route table to the Public subnet. Se si associa una tabella di route a una subnet, Azure indirizza tutto il traffico in uscita dalla subnet in base alle route presenti nella tabella di route.Associating a route table to a subnet causes Azure to route all outbound traffic from the subnet according to the routes in the route table. Una tabella di route può essere associata a nessuna o a più subnet, mente una subnet può essere associata a nessuna o a una tabella di route.A route table can be associated to zero or multiple subnets, whereas a subnet can have zero, or one route table associated to it.

    Set-AzureRmVirtualNetworkSubnetConfig `
      -VirtualNetwork $virtualNetwork `
      -Name 'Public' `
      -AddressPrefix 10.0.0.0/24 `
      -RouteTable $routeTablePublic | `
    Set-AzureRmVirtualNetwork
    
  11. Creare una route per instradare il traffico dalla subnet Private alla subnet Public attraverso la macchina virtuale dell'appliance di rete virtuale.Create a route for traffic from the Private subnet to the Public subnet through the NVA virtual machine.

    $routePublic = New-AzureRmRouteConfig `
      -Name 'ToPublicSubnet' `
      -AddressPrefix 10.0.0.0/24 `
      -NextHopType VirtualAppliance `
      -NextHopIpAddress $nic.IpConfigurations[0].PrivateIpAddress
    
  12. Creare la tabella di route per la subnet Private.Create the route table for the Private subnet.

    $routeTablePrivate = New-AzureRmRouteTable `
      -Name 'myRouteTable-Private' `
      -ResourceGroupName $rgName `
      -location $location `
      -Route $routePublic
    
  13. Associare la tabella di route alla subnet Private.Associate the route table to the Private subnet.

    Set-AzureRmVirtualNetworkSubnetConfig `
      -VirtualNetwork $virtualNetwork `
      -Name 'Private' `
      -AddressPrefix 10.0.1.0/24 `
      -RouteTable $routeTablePrivate | `
    Set-AzureRmVirtualNetwork
    
  14. Facoltativo: creare una macchina virtuale nelle subnet Public e Private e verificare che le comunicazioni tra le macchine virtuali vengano inoltrate attraverso l'appliance di rete virtuale, completando la procedura descritta in Convalidare il routing.Optional: Create a virtual machine in the Public and Private subnets and validate that communication between the virtual machines is routed through the network virtual appliance by completing the steps in Validate routing.

  15. Facoltativo: per eliminare le risorse create in questa esercitazione, completare la procedura descritta in Eliminare risorse.Optional: To delete the resources that you create in this tutorial, complete the steps in Delete resources.

Convalidare il routingValidate routing

  1. Se non è ancora stato fatto, completare i passaggi in Creare route e un'appliance di rete virtuale.If you haven't already, complete the steps in Create routes and network virtual appliance.
  2. Fare clic sul pulsante Prova nella finestra di dialogo visualizzata per aprire Azure Cloud Shell.Click the Try it button in the box that follows, which opens the Azure Cloud Shell. Se richiesto, accedere ad Azure usando l'account Azure.If prompted, log in to Azure using your Azure account. Se non si ha un account Azure, è possibile iscriversi per ottenere una versione di valutazione gratuita.If you don't have an Azure account, you can sign up for a free trial. Azure Cloud Shell è una shell Bash gratuita con l'interfaccia della riga di comando di Azure preinstallata.The Azure Cloud Shell is a free bash shell with the Azure command-line interface preinstalled.

    Gli script seguenti creano due macchine virtuali, una nella subnet Public e una nella subnet Private.The following scripts create two virtual machines, one in the Public subnet, and one in the Private subnet. Gli script abilitano anche l'inoltro IP per l'interfaccia di rete nel sistema operativo dell'appliance virtuale di rete, per consentire al sistema operativo di inoltrare il traffico attraverso l'interfaccia di rete.The scripts also enable IP forwarding for the network interface within the operating system of the NVA to enable the operating system to route traffic through the network interface. In genere, un'appliance di rete virtuale di produzione ispeziona il traffico prima di inoltrarlo, ma in questa esercitazione l'appliance semplice inoltra il traffico senza ispezionarlo.A production NVA typically inspects the traffic before routing it, but in this tutorial, the simple NVA just routes the traffic without inspecting it.

    Fare clic sul pulsante Copia nello script Linux o Windows che segue e incollare il contenuto dello script in un editor di testo.Click the Copy button in the Linux or Windows scripts that follow and paste the script contents into a text editor. Cambiare la password della variabile adminPassword e quindi incollare lo script in Azure Cloud Shell.Change the password for the adminPassword variable, then paste the script into the Azure Cloud Shell. Eseguire lo script per il sistema operativo selezionato al momento della creazione dell'appliance di rete virtuale nel passaggio 7 di Creare route e un'appliance di rete virtuale.Run the script for the operating system you selected when you created the network virtual appliance in step 7 of Create routes and network virtual appliance.

    LinuxLinux

    #!/bin/bash
    
    #Set variables used in the script.
    rgName="myResourceGroup"
    location="eastus"
    adminPassword=ChangeToYourPassword
    
    # Create a virtual machine in the Public subnet.
    az vm create \
      --resource-group $rgName \
      --name myVm-Public \
      --image UbuntuLTS \
      --vnet-name myVnet \
      --subnet Public \
      --public-ip-address myPublicIp-Public \
      --admin-username azureuser \
      --admin-password $adminPassword
    
    # Create a virtual machine in the Private subnet.
    az vm create \
      --resource-group $rgName \
      --name myVm-Private \
      --image UbuntuLTS \
      --vnet-name myVnet \
      --subnet Private \
      --public-ip-address myPublicIp-Private \
      --admin-username azureuser \
      --admin-password $adminPassword
    
    # Enable IP forwarding for the network interface in the NVA virtual machine's operating system.    
    az vm extension set \
      --resource-group $rgName \
      --vm-name myVm-Nva \
      --name customScript \
      --publisher Microsoft.Azure.Extensions \
      --settings '{"commandToExecute":"sudo sysctl -w net.ipv4.ip_forward=1"}'
    

    WindowsWindows

    
    #!/bin/bash
    #Set variables used in the script.
    rgName="myResourceGroup"
    location="eastus"
    adminPassword=ChangeToYourPassword
    
    # Create a virtual machine in the Public subnet.
    az vm create \
      --resource-group $rgName \
      --name myVm-Public \
      --image win2016datacenter \
      --vnet-name myVnet \
      --subnet Public \
      --public-ip-address myPublicIp-Public \
      --admin-username azureuser \
      --admin-password $adminPassword
    
    # Allow pings through the Windows Firewall.
    az vm extension set \
      --publisher Microsoft.Compute \
      --version 1.9 \
      --name CustomScriptExtension \
      --vm-name myVm-Public \
      --resource-group $rgName \
      --settings '{"commandToExecute":"netsh advfirewall firewall add rule name=Allow-ping protocol=icmpv4 dir=in action=allow"}'
    
    # Create a virtual machine in the Private subnet.
    az vm create \
      --resource-group $rgName \
      --name myVm-Private \
      --image win2016datacenter \
      --vnet-name myVnet \
      --subnet Private \
      --public-ip-address myPublicIp-Private \
      --admin-username azureuser \
      --admin-password $adminPassword
    
    # Allow pings through the Windows Firewall.
    az vm extension set \
      --publisher Microsoft.Compute \
      --version 1.9 \
      --name CustomScriptExtension \
      --vm-name myVm-Private \
      --resource-group $rgName \
      --settings '{"commandToExecute":"netsh advfirewall firewall add rule name=Allow-ping protocol=icmpv4 dir=in action=allow"}'
    
    # Enable IP forwarding for the network interface in the NVA virtual machine's operating system.
    az vm extension set \
      --publisher Microsoft.Compute \
      --version 1.9 \
      --name CustomScriptExtension \
      --vm-name myVm-Nva \
      --resource-group $rgName \
      --settings '{"commandToExecute":"powershell.exe Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters -Name IpEnableRouter -Value 1"}'
    
    # Restart the NVA virtual machine.
    az vm extension set \
      --publisher Microsoft.Compute \
      --version 1.9 \
      --name CustomScriptExtension \
      --vm-name myVm-Nva \
      --resource-group $rgName \
      --settings '{"commandToExecute":"powershell.exe Restart-Computer -ComputerName myVm-Nva -Force"}'
    
  3. Convalidare la comunicazione tra le macchine virtuali nelle subnet Public e Private.Validate communication between the virtual machines in the Public and Private subnets.

    • Aprire una connessione SSH (Linux) o Desktop remoto (Windows) all'indirizzo IP pubblico della macchina virtuale myVm-Public.Open an SSH (Linux) or Remote Desktop (Windows) connection to the public IP address of the myVm-Public virtual machine.
    • Al prompt dei comandi della macchina virtuale myVm-Public immettere ping myVm-Private.From a command prompt on the myVm-Public virtual machine, enter ping myVm-Private. Si ricevono risposte perché l'appliance virtuale di rete inoltra il traffico dalla subnet pubblica alla subnet privata.You receive replies because the NVA routes the traffic from the public to the private subnet.
    • Dalla macchina virtuale myVm-Public eseguire un tracciamento delle route tra le macchine virtuali nelle subnet pubblica e privata.From the myVm-Public virtual machine, run a trace route between the virtual machines in the public and private subnets. Immettere il comando appropriato tra quelli seguenti, a seconda del sistema operativo installato nelle macchine virtuali nelle subnet Public e Private:Enter the appropriate command that follows, depending upon which operating system you installed in the virtual machines in the Public and Private subnets:
      • Windows: al prompt dei comandi eseguire il comando tracert myvm-private.Windows: From a command prompt, run the tracert myvm-private command.
      • Ubuntu: eseguire il comando tracepath myvm-private.Ubuntu: Run the tracepath myvm-private command. Il traffico passa attraverso 10.0.2.4 (l'appliance di rete virtuale) prima di raggiungere 10.0.1.4 (la macchina virtuale nella subnet privata).Traffic passes through 10.0.2.4 (the NVA) before reaching 10.0.1.4 (the virtual machine in the Private subnet).
    • Completare i passaggi precedenti eseguendo il collegamento alla macchina virtuale myVm-Private ed effettuando ping alla macchina virtuale myVm-Public.Complete the previous steps by connecting to the myVm-Private virtual machine and pinging the myVm-Public virtual machine. Il tracciamento route visualizza le comunicazioni che viaggiano attraverso 10.0.2.4 prima di raggiungere 10.0.0.4 (la macchina virtuale nella subnet Public).The trace route shows communication traveling through 10.0.2.4 before reaching 10.0.0.4 (the virtual machine in the Public subnet).

      Nota

      I passaggi precedenti consentono di verificare il routing tra indirizzi IP privati di Azure.The previous steps enable you to confirm routing between Azure private IP addresses. Se si vuole inoltrare il traffico a indirizzi IP pubblici o eseguire la funzione di proxy tramite un'appliance virtuale di rete:If you want to forward, or proxy, traffic to public IP addresses through a network virtual appliance:

      • L'appliance deve offrire funzionalità di conversione degli indirizzi di rete o di proxy.The appliance must provide network address translation or proxy capability. In caso di conversione degli indirizzi di rete, l'appliance deve convertire da sola l'indirizzo IP di origine e quindi inoltrare la richiesta all'indirizzo IP pubblico.If network address translation, the appliance must translate the source IP address to its own, and then forward that request to the public IP address. Sia che l'appliance abbia convertito l'indirizzo di origine o che abbia svolto la funzione di proxy, Azure converte l'indirizzo IP privato dell'appliance virtuale di rete in un indirizzo IP pubblico.Whether the appliance has network address translated the source address, or is proxying, Azure translates the network virtual appliance's private IP address to a public IP address. Per altre informazioni sui diversi metodi usati da Azure per convertire gli indirizzi IP privati in indirizzi IP pubblici, vedere Informazioni sulle connessioni in uscita.For more information about the different methods Azure uses to translate private IP addresses to public IP addresses, see Understanding outbound connections.
      • Una route aggiuntiva nella tabella di route, ad esempio una con prefisso 0.0.0.0/0, tipo hop successivo VirtualAppliance e indirizzo IP hop successivo 10.0.2.4 (nello script di esempio precedente).An additional route in the route table such as prefix: 0.0.0.0/0, next hop type VirtualAppliance, and next hop IP address 10.0.2.4 (in the previous example script).
    • Facoltativo: usare la funzionalità Hop successivo di Network Watcher di Azure per convalidare l'hop successivo tra due macchine virtuali in Azure.Optionally: Use the next hop capability of Azure Network Watcher to validate the next hop between two virtual machines within Azure. Prima di usare Network Watcher è necessario creare un'istanza di Network Watcher di Azure per l'area in cui si intende usarlo.Before using Network Watcher, you must first create an Azure Network Watcher instance for the region you want to use it in. In questa esercitazione viene usata l'area degli Stati Uniti orientali.In this tutorial, the US East region is used. Dopo aver abilitato un'istanza di Network Watcher per l'area, immettere il comando seguente per visualizzare le informazioni sull'hop successivo tra le macchine virtuali nelle subnet Public e Private:Once you've enabled a Network Watcher instance for the region, enter the following command to see the next hop information between the virtual machines in the Public and Private subnets:

      az network watcher show-next-hop --resource-group myResourceGroup --vm myVm-Public --source-ip 10.0.0.4 --dest-ip 10.0.1.4
      

      L'output restituisce 10.0.2.4 come nextHopIpAddress e VirtualAppliance come nextHopType.The output returns 10.0.2.4 as the nextHopIpAddress and VirtualAppliance as the nextHopType.

Nota

Per illustrare i concetti di questa esercitazione, gli indirizzi IP pubblici vengono assegnati alle macchine virtuali nelle subnet Public e Private e tutti gli accessi alle porte di rete sono abilitati in Azure per entrambe le macchine virtuali.To illustrate the concepts in this tutorial, public IP addresses are assigned to the virtual machines in the Public and Private subnets, and all network port access is enabled within Azure for both virtual machines. Quando si creano macchine virtuali per ambienti di produzione, è probabile che non si assegnino indirizzi IP pubblici a tali macchine e che il traffico di rete alla subnet Private venga filtrato implementando un'appliance di rete virtuale all'ingresso della subnet o assegnando un gruppo di sicurezza di rete alle subnet, all'interfaccia di rete o a entrambe.When creating virtual machines for production use, you may not assign public IP addresses to them and may filter network traffic to the Private subnet by deploying a network virtual appliance in front of it, or by assigning a network security group to the subnets, network interface, or both. Per altre informazioni sui gruppi di sicurezza di rete, vedere Gruppi di sicurezza di rete.To learn more about network security groups, see Network security groups.

Crea rete virtualeCreate a virtual network

Per questa esercitazione è necessaria una rete virtuale con due subnet.This tutorial requires an existing virtual network with two subnets. Fare clic sul pulsante Prova nella finestra di dialogo seguente per creare rapidamente una rete virtuale.Click the Try it button in the box that follows, to quickly create a virtual network. Quando si fa clic su Prova viene aperto Azure Cloud Shell.Clicking the Try it button opens the Azure Cloud Shell. Azure Cloud Shell esegue PowerShell o una shell Bash. In questa sezione viene usata la shell Bash per creare la rete virtuale.Though the Cloud Shell runs PowerShell or a Bash shell, in this section, the Bash shell is used to create the virtual network. La shell Bash include l'installazione dell'interfaccia della riga di comando di Azure.The Bash shell has the Azure command-line interface installed. Se richiesto da Cloud Shell, accedere ad Azure usando l'account Azure.If prompted by the Cloud Shell, log in to Azure using your Azure account. Se non si ha un account Azure, è possibile iscriversi per ottenere una versione di valutazione gratuita.If you don't have an Azure account, you can sign up for a free trial. Per creare la rete virtuale usata in questa esercitazione, fare clic sul pulsante Copia nella finestra seguente e quindi incollare lo script in Azure Cloud Shell:To create the virtual network used in this tutorial, click the Copy button in the following box, then paste the script into the Azure Cloud Shell:

#!/bin/bash

#Set variables used in the script.
rgName="myResourceGroup"
location="eastus"

# Create a resource group.
az group create \
  --name $rgName \
  --location $location

# Create a virtual network with one subnet named Public.
az network vnet create \
  --name myVnet \
  --resource-group $rgName \
  --address-prefixes 10.0.0.0/16 \
  --subnet-name Public \
  --subnet-prefix 10.0.0.0/24

# Create an additional subnet named Private in the virtual network.
az network vnet subnet create \
  --name Private \
  --address-prefix 10.0.1.0/24 \
  --vnet-name myVnet \
  --resource-group $rgName

Per altre informazioni su come usare il portale, PowerShell o un modello Azure Resource Manager per creare una rete virtuale, vedere Crea rete virtuale.To learn more about how to use the portal, PowerShell, or an Azure Resource Manager template to create a virtual network, see Create a virtual network.

Eliminare le risorseDelete resources

Al termine di questa esercitazione, è possibile eliminare le risorse che sono state create per non incorrere in costi di utilizzo.When you finish this tutorial, you might want to delete the resources that you created, so that you don't incur usage charges. Se si elimina un gruppo di risorse, vengono eliminate anche tutte le risorse all'interno di esso.Deleting a resource group also deletes all resources that are in the resource group. In PowerShell immettere il comando seguente:In PowerShell, enter the following command:

Remove-AzureRmResourceGroup -Name myResourceGroup -Force

Passaggi successiviNext steps