Configurare indirizzi IP privati per una macchina virtuale (classica) mediante PowerShellConfigure private IP addresses for a virtual machine (Classic) using PowerShell

Le macchine virtuali IaaS e le istanze del ruolo PaaS in una rete virtuale ricevono automaticamente un indirizzo IP privato da un intervallo specificato, in base alla subnet a cui sono connessi.Your IaaS virtual machines (VMs) and PaaS role instances in a virtual network automatically receive a private IP address from a range that you specify, based on the subnet they are connected to. Tale indirizzo viene mantenuto per le macchine virtuali e le istanze del ruolo, fino a quando non vengono rimosse.That address is retained by the VMs and role instances, until they are decommissioned. Disabilitare un'istanza di macchina virtuale o un ruolo interrompendolo da PowerShell, CLI Azure o dal portale di Azure.You decommission a VM or role instance by stopping it from PowerShell, the Azure CLI, or the Azure portal. In questi casi, una volta che l'istanza di macchina virtuale o del ruolo viene riavviata, riceverà un indirizzo IP disponibile dall'infrastruttura di Azure, che potrebbe non essere lo stesso che aveva in precedenza.In those cases, once the VM or role instance starts again, it will receive an available IP address from the Azure infrastructure, which might not be the same it previously had. Se si arresta la macchina virtuale o l’istanza del ruolo dal sistema operativo guest, esso mantiene comunque il suo indirizzo IP.If you shut down the VM or role instance from the guest operating system, it retains the IP address it had.

In alcuni casi, si desidera che una macchina virtuale o istanza del ruolo disponga di un indirizzo IP statico, ad esempio, se la macchina virtuale eseguirà DNS o sarà un controller di dominio.In certain cases, you want a VM or role instance to have a static IP address, for example, if your VM is going to run DNS or will be a domain controller. È possibile farlo impostando un indirizzo IP statico privato.You can do so by setting a static private IP address.

Importante

Prima di iniziare a usare le risorse di Azure, è importante comprendere che Azure al momento offre due modelli di distribuzione, la distribuzione classica e Azure Resource Manager.Before you work with Azure resources, it's important to understand that Azure currently has two deployment models: Azure Resource Manager and classic. È importante comprendere i modelli e strumenti di distribuzione prima di lavorare con le risorse di Azure.Make sure you understand deployment models and tools before you work with any Azure resource. È possibile visualizzare la documentazione relativa a diversi strumenti facendo clic sulle schede nella parte superiore di questo articolo.You can view the documentation for different tools by clicking the tabs at the top of this article.

In questo articolo viene illustrato il modello di distribuzione classica.This article covers the classic deployment model. È inoltre possibile gestire un indirizzo IP statico privato nel modello di distribuzione di gestione delle risorse.You can also manage a static private IP address in the Resource Manager deployment model.

ScenarioScenario

Per illustrare meglio come configurare un indirizzo IP statico per una macchina virtuale, in questo documento verrà utilizzato lo scenario seguente.To better illustrate how to configure a static IP address for a VM, this document will use the scenario below.

Scenario di una rete virtuale

In questo scenario si creerà una macchina virtuale denominata DNS01 nella subnet FrontEnd e la si imposterà in modo che usi l'indirizzo IP statico 192.168.1.101.In this scenario you will create a VM named DNS01 in the FrontEnd subnet, and set it to use a static IP address of 192.168.1.101.

I comandi di esempio PowerShell riportati di seguito prevedono un ambiente semplice già creato.The sample PowerShell commands below expect a simple environment already created. Se si desidera eseguire i comandi illustrati in questo documento, creare innanzitutto l'ambiente di prova descritto in creare una rete virtuale.If you want to run the commands as they are displayed in this document, first build the test environment described in Create a VNet.

Come verificare la disponibilità di uno specifico indirizzo IPHow to verify if a specific IP address is available

Per verificare se l'indirizzo IP 192.168.1.101 è disponibile in una rete virtuale denominata TestVNet, eseguire il comando PowerShell seguente e controllare il valore di IsAvailable:To verify if the IP address 192.168.1.101 is available in a VNet named TestVNet, run the following PowerShell command and verify the value for IsAvailable:

Test-AzureStaticVNetIP –VNetName TestVNet –IPAddress 192.168.1.101 

Output previsto:Expected output:

IsAvailable          : True
AvailableAddresses   : {}
OperationDescription : Test-AzureStaticVNetIP
OperationId          : fd3097e1-5f4b-9cac-8afa-bba1e3492609
OperationStatus      : Succeeded

Come specificare un indirizzo IP statico privato durante la creazione di una macchina virtuale.How to specify a static private IP address when creating a VM

Lo script PowerShell seguente crea un nuovo servizio cloud denominato TestService. Recupera quindi un'immagine da Azure, crea una macchina virtuale DNS01 nel nuovo servizio cloud usando l'immagine recuperata, imposta la macchina virtuale in modo che sia posizionata nella subnet FrontEnd e infine imposta 192.168.1.7 come indirizzo IP interno statico per la macchina virtuale:The PowerShell script below creates a new cloud service named TestService, then retrieves an image from Azure, creates a VM named DNS01 in the new cloud service using the retrieved image, sets the VM to be in a subnet named FrontEnd, and sets 192.168.1.7 as a static private IP address for the VM:

New-AzureService -ServiceName TestService -Location "Central US"
$image = Get-AzureVMImage | where {$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}
New-AzureVMConfig -Name DNS01 -InstanceSize Small -ImageName $image.ImageName |
  Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! |
  Set-AzureSubnet –SubnetNames FrontEnd |
  Set-AzureStaticVNetIP -IPAddress 192.168.1.7 |
  New-AzureVM -ServiceName TestService –VNetName TestVNet

Output previsto:Expected output:

WARNING: No deployment found in service: 'TestService'.
OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
New-AzureService     fcf705f1-d902-011c-95c7-b690735e7412 Succeeded      
New-AzureVM          3b99a86d-84f8-04e5-888e-b6fc3c73c4b9 Succeeded  

Come recuperare le informazioni relative all'indirizzo IP privato statico per una macchina virtualeHow to retrieve static private IP address information for a VM

Per visualizzare le informazioni relative all'indirizzo IP interno statico per la macchina virtuale creata con lo script precedente, eseguire il comando PowerShell seguente e osservare i valori per IpAddress:To view the static private IP address information for the VM created with the script above, run the following PowerShell command and observe the values for IpAddress:

Get-AzureVM -Name DNS01 -ServiceName TestService

Output previsto:Expected output:

DeploymentName              : TestService
Name                        : DNS01
Label                       : 
VM                          : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
InstanceStatus              : Provisioning
IpAddress                   : 192.168.1.7
InstanceStateDetails        : Windows is preparing your computer for first use...
PowerState                  : Started
InstanceErrorCode           : 
InstanceFaultDomain         : 0
InstanceName                : DNS01
InstanceUpgradeDomain       : 0
InstanceSize                : Small
HostName                    : rsR2-797
AvailabilitySetName         : 
DNSName                     : http://testservice000.cloudapp.net/
Status                      : Provisioning
GuestAgentStatus            : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.GuestAgentStatus
ResourceExtensionStatusList : {Microsoft.Compute.BGInfo}
PublicIPAddress             : 
PublicIPName                : 
NetworkInterfaces           : {}
ServiceName                 : TestService
OperationDescription        : Get-AzureVM
OperationId                 : 34c1560a62f0901ab75cde4fed8e8bd1
OperationStatus             : OK

Come rimuovere un indirizzo IP statico privato da una macchina virtualeHow to remove a static private IP address from a VM

Per rimuovere l'indirizzo IP privato statico aggiunto alla macchina virtuale nello script precedente, eseguire il comando PowerShell seguente:To remove the static private IP address added to the VM in the script above, run the following PowerShell command:

Get-AzureVM -ServiceName TestService -Name DNS01 |
  Remove-AzureStaticVNetIP |
  Update-AzureVM

Output previsto:Expected output:

OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
Update-AzureVM       052fa6f6-1483-0ede-a7bf-14f91f805483 Succeeded

Come aggiungere un indirizzo IP statico privato a una macchina virtuale esistenteHow to add a static private IP address to an existing VM

Per aggiungere un indirizzo IP privato statico alla macchina virtuale creata usando lo script precedente, eseguire il comando seguente:To add a static private IP address to the VM created using the script above, runt he following command:

Get-AzureVM -ServiceName TestService -Name DNS01 |
  Set-AzureStaticVNetIP -IPAddress 192.168.1.7 |
  Update-AzureVM

Output previsto:Expected output:

OperationDescription OperationId                          OperationStatus
-------------------- -----------                          ---------------
Update-AzureVM       77d8cae2-87e6-0ead-9738-7c7dae9810cb Succeeded 

Passaggi successiviNext steps