Share via


Introducción a las direcciones IP públicas a nivel de instancia (clásica)

Una IP pública de nivel de instancia (ILPIP) es una dirección IP pública que se puede asignar directamente a la máquina virtual o a la instancia de rol de Cloud Services, en lugar de a un servicio en la nube en el que reside la máquina virtual o la instancia de rol. Un ILPIP no reemplaza a la dirección IP virtual (VIP) que está asignada al servicio en la nube. Es más bien una dirección IP adicional que puede usar para conectarse directamente a la máquina virtual o instancia de rol.

Importante

Azure tiene dos modelos de implementación diferentes para crear recursos y trabajar con ellos: Resource Manager y el 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 que comprende cómo funcionan las direcciones IP en Azure.

Difference between ILPIP and 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>. Al asignar una ILPIP a una máquina virtual específica, se puede tener acceso directamente a esa máquina virtual mediante esa dirección IP.

Cuando se crea un servicio en la nube en Azure, los registros de DNS A correspondientes se crean automáticamente para permitir el acceso al servicio mediante un nombre de dominio completo (FQDN) en lugar de usar la VIP real. Se produce el mismo proceso para la ILPIP, lo que permite el acceso a la máquina virtual o instancia de rol mediante el FQDN en lugar de la 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 D para las instancias:

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

Nota

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

¿Por qué debo solicitar una ILPIP?

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

  • FTP activo: mediante la asignación de una 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 la información general sobre el protocolo FTP para obtener más información sobre el protocolo FTP.
  • IP de salida: el tráfico de salida procedente de la máquina virtual se asigna a la ILPIP como origen y, de esta forma, esta última identifica de forma exclusiva la máquina virtual ante entidades externas.

Nota

Antes, a la dirección ILPIP se le conocía como dirección IP pública (PIP).

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

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

Solicitud de una ILPIP durante la creación de máquinas virtuales mediante PowerShell

El script de PowerShell siguiente crea un servicio en la nube denominado FTPService, recupera una imagen de Azure, crea una máquina virtual denominada FTPInstance usando la imagen recuperada, establece la máquina virtual para que use una 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 la 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 para 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

Supresión de una ILPIP de una máquina virtual

Para quitar la ILPIP agregada 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

Agregación de una ILPIP a una máquina virtual existente

Para agregar una 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

Administración de una ILPIP para una instancia de rol de Cloud Services

Para agregar una 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 sobre cómo configurar Cloud Services.

  2. Actualice el archivo .cscfg y agregue el elemento InstanceAddress. El ejemplo siguiente agrega una ILPIP denominada 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 siguiendo los pasos descritos en el artículo sobre cómo configurar Cloud Services.

Procedimiento de recuperación de información de ILPIP para un servicio en la nube

Para ver la información de ILPIP para cada 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 D del subdominio:

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

Pasos siguientes