Visão geral de IP público em nível de instância (Clássico)Instance level public IP (Classic) overview

Um ILPIP (IP público em nível de instância) é um endereço IP público que pode ser atribuído diretamente a uma VM ou instância de função dos Serviços de Nuvem, em vez de ao serviço de nuvem no qual a VM ou a instância de função reside.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. Ele não substitui o VIP (IP virtual) que é atribuído ao serviço de nuvem.An ILPIP doesn’t take the place of the virtual IP (VIP) that is assigned to your cloud service. Ao contrário, é um endereço IP adicional que você pode usar para se conectar diretamente à sua VM ou instância de função.Rather, it’s an additional IP address that you can use to connect directly to your VM or role instance.

Importante

O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Resource Manager e clássico.Azure has two different deployment models for creating and working with resources: Resource Manager and classic. Este artigo aborda o uso do modelo de implantação clássica.This article covers using the classic deployment model. A Microsoft recomenda a criação de VMs por meio do Resource Manager.Microsoft recommends creating VMs through Resource Manager. Certifique-se de que você entenda como os endereços IP funcionam no Azure.Make sure you understand how IP addresses work in Azure.

Diferença entre ILPIP e VIP

Conforme mostrado na Figura 1, o serviço de nuvem é acessado por meio de um VIP, enquanto as VMs individuais são normalmente acessadas usando VIP:<número da porta>.As shown in Figure 1, the cloud service is accessed using a VIP, while the individual VMs are normally accessed using VIP:<port number>. Ao atribuir um ILPIP a uma VM específica, essa VM pode ser acessada diretamente por meio desse endereço IP.By assigning an ILPIP to a specific VM, that VM can be accessed directly using that IP address.

Quando você cria um serviço de nuvem no Azure, registros DNS A correspondentes são criados automaticamente para permitir o acesso ao serviço por meio de um FQDN (nome de domínio totalmente qualificado) em vez de usar o 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. O mesmo processo ocorre para um ILPIP, permitindo o acesso à VM ou à instância de função pelo FQDN, em vez do ILPIP.The same process happens for an ILPIP, allowing access to the VM or role instance by FQDN instead of the ILPIP. Por exemplo, se você criar um serviço de nuvem chamado contosoadservice e configurar uma função web chamada contosoweb com duas instâncias, e no .cscfg domainNameLabel for definido como WebPublicIP, o Azure registrará os seguintes registros A para as instâncias: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
  • ......

Observação

Você pode atribuir apenas um ILPIP para cada VM ou instância de função.You can assign only one ILPIP for each VM or role instance. É possível usar até 5 ILPIPs por assinatura.You can use up to 5 ILPIPs per subscription. Não há suporte para ILPIPs em VMs com várias NICs.ILPIPs are not supported for multi-NIC VMs.

Por que solicitar um ILPIP?Why would I request an ILPIP?

Se você quiser ser capaz de conectar a sua VM ou instância de função por um endereço IP atribuído diretamente a ela, em vez de usar o <número da porta> do VIP de serviço de nuvem, solicite um ILPIP para sua VM ou instância de função.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 Ativo – com a atribuição de um ILPIP a uma VM, ele pode receber o tráfego em qualquer porta.Active FTP - By assigning an ILPIP to a VM, it can receive traffic on any port. Pontos de extremidade não são necessários para que a VM receba o tráfego.Endpoints are not required for the VM to receive traffic. Veja Visão Geral do Protocolo FTP para detalhes sobre o protocolo FTP.See FTP Protocol Overview for details on the FTP protocol.
  • IP de saída – O tráfego de saída proveniente da VM é mapeado para o ILPIP, conforme a fonte e o ILPIP identificam exclusivamente a VM para 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.

Observação

Anteriormente, um endereço ILPIP era conhecido como um endereço PIP (IP público).In the past, an ILPIP address was referred to as a public IP (PIP) address.

Gerenciar um ILPIP de uma VMManage an ILPIP for a VM

As seguintes tarefas permitem criar, atribuir e remover ILPIPs de VMs:The following tasks enable you to create, assign, and remove ILPIPs from VMs:

Como solicitar um ILPIP durante a criação da VM usando PowerShellHow to request an ILPIP during VM creation using PowerShell

O seguinte script do PowerShell cria um serviço de nuvem chamado FTPService, recupera uma imagem do Azure, cria uma VM chamada FTPInstance usando a imagem recuperada, define a VM para usar um ILPIP e adiciona a VM ao novo serviço: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"

Se você quiser especificar outra conta de armazenamento como o local do novo disco VM, você pode usar o 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"

Como recuperar informações de ILPIP para uma máquina virtualHow to retrieve ILPIP information for a VM

Para exibir as informações do ILPIP para a VM criada com o script anterior, execute o seguinte comando do PowerShell e observe os valores de PublicIPAddress e 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

Saída esperada: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

Como remover um ILPIP de uma máquina virtualHow to remove an ILPIP from a VM

Para remover o ILPIP adicionado à VM no script anterior, execute o seguinte comando do 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

Como adicionar um ILPIP a uma VM existenteHow to add an ILPIP to an existing VM

Para adicionar um ILPIP à VM criada usando o script anterior, execute o seguinte 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

Gerenciar um ILPIP de uma instância de função dos Serviços de NuvemManage an ILPIP for a Cloud Services role instance

Para adicionar um ILPIP a uma instância de função dos Serviços de Nuvem, conclua as seguintes etapas:To add an ILPIP to a Cloud Services role instance, complete the following steps:

  1. Baixe o arquivo .cscfg do serviço de nuvem concluindo as etapas do artigo Como configurar os Serviços de Nuvem.Download the .cscfg file for the cloud service by completing the steps in the How to Configure Cloud Services article.

  2. Atualize o arquivo .cscfg adicionando o elemento InstanceAddress.Update the .cscfg file by adding the InstanceAddress element. A seguinte amostra adiciona um ILPIP chamado MyPublicIP a uma instância de função chamada 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. Carregue o arquivo .cscfg do serviço de nuvem concluindo as etapas do artigo Como configurar os Serviços de Nuvem.Upload the .cscfg file for the cloud service by completing the steps in the How to Configure Cloud Services article.

Como recuperar informações de ILPIP para um Serviço de NuvemHow to retrieve ILPIP information for a Cloud Service

Para exibir as informações de ILPIP da instância de função, execute o seguinte comando do PowerShell e observe os valores de PublicIPAddress, PublicIPName, PublicIPDomainNameLabel e 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

Você também pode usar nslookup para consultar o registro A do subdomínio:You may also use nslookup to query the sub-domain's A record:

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

Próximas etapasNext steps