Condividi tramite


Panoramica dell'indirizzo IP pubblico a livello di istanza (versione classica)

Un indirizzo IP pubblico a livello di istanza (ILPIP) è un indirizzo IP pubblico che è possibile assegnare direttamente a una macchina virtuale o a un'istanza del ruolo servizi cloud, anziché al servizio cloud in cui risiede la macchina virtuale o l'istanza del ruolo. Un ILPIP non ha il posto dell'IP virtuale (VIP) assegnato al servizio cloud. Si tratta invece di un indirizzo IP aggiuntivo che è possibile usare per connettersi direttamente alla macchina virtuale o all'istanza del ruolo.

Importante

Azure offre due modelli di distribuzione per creare e usare le risorse: Gestione risorse e la distribuzione classica. Questo articolo illustra l'uso del modello di distribuzione classica. Microsoft consiglia di creare macchine virtuali tramite Resource Manager. Assicurarsi di comprendere il funzionamento degli indirizzi IP in Azure.

Differenza tra ILPIP e VIP

Come illustrato nella figura 1, viene eseguito l'accesso al servizio cloud usando un VIP, mentre le singole macchine virtuali sono normalmente accessibili tramite VIP:<numero> di porta. Assegnando un ILPIP a una macchina virtuale specifica, è possibile accedere direttamente alla macchina virtuale usando tale indirizzo IP.

Quando si crea un servizio cloud in Azure, i record DNS A corrispondenti vengono creati automaticamente per consentire l'accesso al servizio tramite un nome di dominio completo (FQDN), anziché usare l'indirizzo VIP effettivo. Lo stesso processo avviene per un ILPIP, consentendo l'accesso alla macchina virtuale o all'istanza del ruolo tramite FQDN invece di ILPIP. Ad esempio, se si crea un servizio cloud denominato contosoadservice e si configura un ruolo Web denominato contosoweb con due istanze e in .cscfg domainNameLabel è impostato su WebPublicIP, Azure registra i record A seguenti per le istanze:

  • WebPublicIP.0.contosoadservice.cloudapp.net
  • WebPublicIP.1.contosoadservice.cloudapp.net
  • ...

Annotazioni

È possibile assegnare un solo ILPIP per ogni macchina virtuale o istanza del ruolo. È possibile usare fino a 5 ILPIP per ogni sottoscrizione. Gli ILPIPs non sono supportati per le VM con multi-NIC.

Perché richiedere un ILPIP?

Se si vuole essere in grado di connettersi alla macchina virtuale o all'istanza del ruolo da un indirizzo IP assegnato direttamente, anziché usare il numero vip:<porta> del servizio cloud, richiedere un ILPIP per la macchina virtuale o l'istanza del ruolo.

  • FTP attivo : assegnando un ILPIP a una macchina virtuale, può ricevere traffico su qualsiasi porta. Gli endpoint non sono necessari per la ricezione del traffico della macchina virtuale. Per informazioni dettagliate sul protocollo FTP, vedere Panoramica del protocollo FTP.
  • IP in uscita : il traffico in uscita proveniente dalla macchina virtuale viene mappato all'ILPIP come origine e ILPIP identifica in modo univoco la macchina virtuale a entità esterne.

Annotazioni

In passato, un indirizzo ILPIP è stato definito indirizzo IP pubblico (PIP).

Gestire un ILPIP per una macchina virtuale

Le attività seguenti consentono di creare, assegnare e rimuovere ILPIP dalle macchine virtuali:

Come richiedere un ILPIP durante la creazione di macchine virtuali tramite PowerShell

Lo script di PowerShell seguente crea un servizio cloud denominato FTPService, recupera un'immagine da Azure, crea una macchina virtuale denominata FTPInstance usando l'immagine recuperata, imposta la macchina virtuale per l'uso di un ILPIP e aggiunge la macchina virtuale al nuovo servizio:

New-AzureService -ServiceName FTPService -Location "Central US"

$image = Get-AzureVMImage|?{$_.ImageName -like "*RightImage-Windows-2012R2-x64*"}

#Set "current" storage account for the subscription. It will be used as the location of new VM disk

Set-AzureSubscription -SubscriptionName <SubName> -CurrentStorageAccountName <StorageAccountName>

#Create a new VM configuration object

New-AzureVMConfig -Name FTPInstance -InstanceSize Small -ImageName $image.ImageName `
| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
| Set-AzurePublicIP -PublicIPName ftpip | New-AzureVM -ServiceName FTPService -Location "Central US"

Se si vuole specificare un altro account di archiviazione come posizione del nuovo disco della macchina virtuale, è possibile usare il parametro MediaLocation :

	New-AzureVMConfig -Name FTPInstance -InstanceSize Small -ImageName $image.ImageName `
	 -MediaLocation https://management.core.windows.net/<SubscriptionID>/services/storageservices/<StorageAccountName> `
	| Add-AzureProvisioningConfig -Windows -AdminUsername adminuser -Password MyP@ssw0rd!! `
	| Set-AzurePublicIP -PublicIPName ftpip | New-AzureVM -ServiceName FTPService -Location "Central US"

Come recuperare informazioni ILPIP per una macchina virtuale

Per visualizzare le informazioni SULPIP per la macchina virtuale creata con lo script precedente, eseguire il comando di PowerShell seguente e osservare i valori per PublicIPAddress e PublicIPName:

Get-AzureVM -Name FTPInstance -ServiceName FTPService

Output previsto:

DeploymentName              : FTPService
Name                        : FTPInstance
Label                       : 
VM                          : Microsoft.WindowsAzure.Commands.ServiceManagement.Model.PersistentVM
InstanceStatus              : ReadyRole
IpAddress                   : 100.74.118.91
InstanceStateDetails        : 
PowerState                  : Started
InstanceErrorCode           : 
InstanceFaultDomain         : 0
InstanceName                : FTPInstance
InstanceUpgradeDomain       : 0
InstanceSize                : Small
HostName                    : FTPInstance
AvailabilitySetName         : 
DNSName                     : http://ftpservice888.cloudapp.net/
Status                      : ReadyRole
GuestAgentStatus            : 	Microsoft.WindowsAzure.Commands.ServiceManagement.Model.GuestAgentStatus
ResourceExtensionStatusList : {Microsoft.Compute.BGInfo}
PublicIPAddress             : 104.43.142.188
PublicIPName                : ftpip
NetworkInterfaces           : {}
ServiceName                 : FTPService
OperationDescription        : Get-AzureVM
OperationId                 : 568d88d2be7c98f4bbb875e4d823718e
OperationStatus             : OK

Come rimuovere un ILPIP da una macchina virtuale

Per rimuovere il ILPIP aggiunto alla macchina virtuale nello script precedente, eseguire il comando di PowerShell seguente:

Get-AzureVM -ServiceName FTPService -Name FTPInstance | Remove-AzurePublicIP | Update-AzureVM

Come aggiungere un ILPIP a una macchina virtuale esistente

Per aggiungere un ILPIP alla macchina virtuale creata usando lo script precedente, eseguire il comando seguente:

Get-AzureVM -ServiceName FTPService -Name FTPInstance | Set-AzurePublicIP -PublicIPName ftpip2 | Update-AzureVM

Gestire un ILPIP per un'istanza del ruolo Cloud Services

Per aggiungere un ILPIP a un'istanza del ruolo Servizi cloud, seguire questa procedura:

  1. Scaricare il file con estensione cscfg per il servizio cloud completando i passaggi descritti nell'articolo Come configurare i servizi cloud .

  2. Aggiornare il file .cscfg aggiungendo l'elemento InstanceAddress. L'esempio seguente aggiunge un ILPIP denominato MyPublicIP a un'istanza del ruolo denominata WebRole1:

     <?xml version="1.0" encoding="utf-8"?>
     <ServiceConfiguration serviceName="ILPIPSample" xmlns="https://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="4" osVersion="*" schemaVersion="2014-01.2.3">
       <Role name="WebRole1">
         <Instances count="1" />
           <ConfigurationSettings>
     	<Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
           </ConfigurationSettings>
       </Role>
       <NetworkConfiguration>
         <AddressAssignments>
           <InstanceAddress roleName="WebRole1">
     	<PublicIPs>
     	  <PublicIP name="MyPublicIP" domainNameLabel="WebPublicIP" />
             </PublicIPs>
           </InstanceAddress>
         </AddressAssignments>
       </NetworkConfiguration>
     </ServiceConfiguration>
    
  3. Caricare il file con estensione cscfg per il servizio cloud completando i passaggi descritti nell'articolo Come configurare i servizi cloud .

Come recuperare le informazioni ILPIP per un servizio cloud

Per visualizzare le informazioni ILPIP per ogni istanza del ruolo, eseguire il comando di PowerShell seguente e osservare i valori per PublicIPAddress, PublicIPName, PublicIPDomainNameLabel e PublicIPFqdns:

Add-AzureAccount

$roles = Get-AzureRole -ServiceName <Cloud Service Name> -Slot Production -RoleName WebRole1 -InstanceDetails

$roles[0].PublicIPAddress
$roles[1].PublicIPAddress

È anche possibile usare nslookup per eseguire una query sul record A del sottodominio:

nslookup WebPublicIP.0.<Cloud Service Name>.cloudapp.net

Passaggi successivi