Introducción a las direcciones IP públicas a nivel de instancia (clásica)Instance level public IP (Classic) overview

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.An instance level public IP (ILPIP) is a public IP address that you can assign directly to a VM or Cloud Services role instance, rather than to the cloud service that your VM or role instance reside in. Un ILPIP no reemplaza a la dirección IP virtual (VIP) que está asignada al servicio en la nube.An ILPIP doesn’t take the place of the virtual IP (VIP) that is assigned to your cloud service. Es más bien una dirección IP adicional que puede usar para conectarse directamente a la máquina virtual o instancia de rol.Rather, it’s an additional IP address that you can use to connect directly to your VM or role instance.

Importante

Azure tiene dos modelos de implementación diferentes para crear recursos y trabajar con ellos: Resource Manager y el clásico.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. Este artículo trata del modelo de implementación clásico.This article covers using the classic deployment model. Microsoft recomienda crear máquinas virtuales a través de Resource Manager.Microsoft recommends creating VMs through Resource Manager. Asegúrese de que comprende cómo funcionan las direcciones IP en Azure.Make sure you understand how IP addresses work in 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>.As shown in Figure 1, the cloud service is accessed using a VIP, while the individual VMs are normally accessed using VIP:<port number>. 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.By assigning an ILPIP to a specific VM, that VM can be accessed directly using that IP address.

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.When you create a cloud service in Azure, corresponding DNS A records are created automatically to allow access to the service through a fully qualified domain name (FQDN), instead of using the actual VIP. 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.The same process happens for an ILPIP, allowing access to the VM or role instance by FQDN instead of the 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:For instance, if you create a cloud service named contosoadservice, and you configure a web role named contosoweb with two instances, and in .cscfg domainNameLabel is set to WebPublicIP, Azure registers the following A records for the instances:

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

Nota

Solo puede asignar una ILPIP para cada máquina virtual o instancia de rol.You can assign only one ILPIP for each VM or role instance. Puede usar hasta 5 ILPIP por suscripción.You can use up to 5 ILPIPs per subscription. Las ILPIP no se admiten para las máquinas virtuales de varias NIC.ILPIPs are not supported for multi-NIC VMs.

¿Por qué debo solicitar una ILPIP?Why would I request an 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.If you want to be able to connect to your VM or role instance by an IP address assigned directly to it, rather than using the cloud service VIP:<port number>, request an ILPIP for your VM or your role instance.

  • FTP activo: mediante la asignación de una ILPIP a una máquina virtual, puede recibir tráfico en cualquier puerto.Active FTP - By assigning an ILPIP to a VM, it can receive traffic on any port. Los puntos de conexión no son necesarios para que la máquina virtual reciba tráfico.Endpoints are not required for the VM to receive traffic. Consulte la información general sobre el protocolo FTP para obtener más información sobre el protocolo FTP.See FTP Protocol Overview for details on the FTP protocol.
  • 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.Outbound IP - Outbound traffic originating from the VM is mapped to the ILPIP as the source and the ILPIP uniquely identifies the VM to external entities.

Nota

Antes, a la dirección ILPIP se le conocía como dirección IP pública (PIP).In the past, an ILPIP address was referred to as a public IP (PIP) address.

Administración de una ILPIP para una máquina virtualManage an ILPIP for a VM

Las tareas siguientes le permiten crear, asignar y quitar ILPIP de máquinas virtuales:The following tasks enable you to create, assign, and remove ILPIPs from VMs:

Solicitud de una ILPIP durante la creación de máquinas virtuales mediante PowerShellHow to request an ILPIP during VM creation using 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:The following PowerShell script creates a cloud service named FTPService, retrieves an image from Azure, creates a VM named FTPInstance using the retrieved image, sets the VM to use an ILPIP, and adds the VM to the new service:

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:If you want to specify another storage account as the location of new VM disk, you can use MediaLocation parameter:

    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 virtualHow to retrieve ILPIP information for a VM

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:To view the ILPIP information for the VM created with the previous script, run the following PowerShell command and observe the values for PublicIPAddress and PublicIPName:

Get-AzureVM -Name FTPInstance -ServiceName FTPService

Resultado esperado:Expected output:

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 virtualHow to remove an ILPIP from a VM

Para quitar la ILPIP agregada a la máquina virtual en el script anterior, ejecute el siguiente comando de PowerShell:To remove the ILPIP added to the VM in the previous script, run the following PowerShell command:

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

Agregación de una ILPIP a una máquina virtual existenteHow to add an ILPIP to an existing VM

Para agregar una ILPIP a la máquina virtual creada con el script anterior, ejecute el siguiente comando:To add an ILPIP to the VM created using the script previous, run the following command:

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

Administración de una ILPIP para una instancia de rol de Cloud ServicesManage an ILPIP for a Cloud Services role instance

Para agregar una ILPIP a una instancia de rol de Cloud Services, complete los pasos siguientes:To add an ILPIP to a Cloud Services role instance, complete the following steps:

  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.Download the .cscfg file for the cloud service by completing the steps in the How to Configure Cloud Services article.

  2. Actualice el archivo .cscfg y agregue el elemento InstanceAddress.Update the .cscfg file by adding the InstanceAddress element. El ejemplo siguiente agrega una ILPIP denominada MyPublicIP a una instancia de rol denominada WebRole1:The following sample adds an ILPIP named MyPublicIP to a role instance named WebRole1:

    <?xml version="1.0" encoding="utf-8"?>
    <ServiceConfiguration serviceName="ILPIPSample" xmlns="http://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.Upload the .cscfg file for the cloud service by completing the steps in the How to Configure Cloud Services article.

Procedimiento de recuperación de información de ILPIP para un servicio en la nubeHow to retrieve ILPIP information for a Cloud Service

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:To view the ILPIP information per role instance, run the following PowerShell command and observe the values for PublicIPAddress, PublicIPName, PublicIPDomainNameLabel and 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:You may also use nslookup to query the sub-domain's A record:

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

Pasos siguientesNext steps