Compartir a través de


Introducción a la dirección IP pública de nivel de instancia (clásico)

Una dirección IP pública de nivel de instancia (ILPIP) es una dirección IP pública que puede asignar directamente a una máquina virtual o a una instancia de rol de Cloud Services, en lugar del servicio en la nube en el que reside la máquina virtual o la instancia de rol. Un ILPIP no sustituye la dirección IP virtual (VIP) asignada a su servicio en la nube. En su lugar, es una dirección IP adicional que puede usar para conectarse directamente a la máquina virtual o a la instancia de rol.

Importante

Azure tiene dos modelos de implementación diferentes para crear y trabajar con recursos: Resource Manager y clásico. Este artículo trata del modelo de implementación clásico. Microsoft recomienda crear máquinas virtuales a través de Resource Manager. Asegúrese de comprender cómo funcionan las direcciones IP en Azure.

Diferencia entre ILPIP y VIP

Como se muestra en la figura 1, se accede al servicio en la nube mediante una VIP, mientras que normalmente se accede a las máquinas virtuales individuales mediante VIP:<número de puerto>. Mediante la asignación de un ILPIP a una máquina virtual específica, esa máquina virtual se puede acceder directamente mediante esa dirección IP.

Al crear un servicio en la nube en Azure, los registros A de DNS correspondientes se crean automáticamente para permitir el acceso al servicio a través de un nombre de dominio completo (FQDN), en lugar de usar la VIP real. El mismo proceso se produce para un ILPIP, lo que permite el acceso a la máquina virtual o a la instancia de rol por FQDN en lugar del ILPIP. Por ejemplo, si crea un servicio en la nube denominado contosoadservice y configura un rol web denominado contosoweb con dos instancias, y en .cscfg domainNameLabel se establece en WebPublicIP, Azure registra los siguientes registros A para las instancias:

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

Nota:

Solo puede asignar un ILPIP para cada máquina virtual o instancia de rol. Puede usar hasta 5 ILPIPs por suscripción. Los ILPIPs no se admiten para máquinas virtuales de varias NIC.

¿Por qué solicitaría un ILPIP?

Si desea poder conectarse a su máquina virtual o instancia de rol mediante una dirección IP asignada directamente a ella, en lugar de usar el VIP del servicio en la nube:<número de puerto>, solicite un ILPIP para su máquina virtual o instancia de rol.

  • FTP activo : al asignar un ILPIP a una máquina virtual, puede recibir tráfico en cualquier puerto. Los puntos de conexión no son necesarios para que la máquina virtual reciba tráfico. Consulte Introducción al protocolo FTP para obtener más información sobre el protocolo FTP.
  • IP saliente : el tráfico saliente que se origina en la máquina virtual se asigna al ILPIP como origen y el ILPIP identifica de forma única la máquina virtual a entidades externas.

Nota:

En el pasado, se conocía una dirección ILPIP como una dirección IP pública (PIP).

Administración de un ILPIP para una máquina virtual

Las siguientes tareas permiten crear, asignar y quitar ILPIPs de máquinas virtuales:

Cómo solicitar un ILPIP durante la creación de máquinas virtuales mediante PowerShell

El siguiente script de PowerShell crea un servicio en la nube denominado FTPService, recupera una imagen de Azure, crea una máquina virtual denominada FTPInstance mediante la imagen recuperada, establece la máquina virtual para usar un ILPIP y agrega la máquina virtual al nuevo servicio:

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"

Si desea especificar otra cuenta de almacenamiento como ubicación del nuevo disco de máquina virtual, puede usar el parámetro 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"

Recuperación de información de ILPIP para una máquina virtual

Para ver la información de ILPIP de la máquina virtual creada con el script anterior, ejecute el siguiente comando de PowerShell y observe los valores de PublicIPAddress y PublicIPName:

Get-AzureVM -Name FTPInstance -ServiceName FTPService

Resultado esperado:

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

Cómo quitar un ILPIP de una máquina virtual

Para quitar el ILPIP agregado a la máquina virtual en el script anterior, ejecute el siguiente comando de PowerShell:

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

Adición de un ILPIP a una máquina virtual existente

Para agregar un ILPIP a la máquina virtual creada con el script anterior, ejecute el siguiente comando:

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

Gestionar un ILPIP para una instancia de rol de Servicios en la Nube

Para agregar un ILPIP a una instancia de rol de Cloud Services, complete los pasos siguientes:

  1. Descargue el archivo .cscfg para el servicio en la nube siguiendo los pasos descritos en el artículo Configuración de Cloud Services .

  2. Actualice el archivo .cscfg agregando el InstanceAddress elemento . En el ejemplo siguiente se agrega un ILPIP denominado MyPublicIP a una instancia de rol denominada 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. Cargue el archivo .cscfg para el servicio en la nube completando los pasos del artículo Configuración de Cloud Services .

Recuperación de información de ILPIP para un servicio en la nube

Para ver la información de ILPIP por instancia de rol, ejecute el siguiente comando de PowerShell y observe los valores de PublicIPAddress, PublicIPName, PublicIPDomainNameLabel y PublicIPFqdns:

Add-AzureAccount

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

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

También puede usar nslookup para consultar el registro A del subdominio:

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

Pasos siguientes