Compartilhar via


Visão geral do IP público no nível da instância (Clássico)

Um IP público de nível de instância (ILPIP) é um endereço IP público que você pode atribuir diretamente a uma instância de função de VM ou Serviços de Nuvem, em vez de ao serviço de nuvem no qual reside sua VM ou instância de função. Um ILPIP não assume o lugar do VIP (IP virtual) atribuído ao seu serviço de nuvem. Em vez disso, é um endereço IP adicional que você pode usar para se conectar diretamente à sua VM ou instância de função.

Importante

O Azure tem dois modelos de implantação diferentes para criar e trabalhar com recursos: Resource Manager e clássico. Este artigo aborda o uso do modelo de implantação clássica. A Microsoft recomenda a criação de VMs por meio do Resource Manager. Certifique-se de entender como os endereços IP funcionam no Azure.

Diferença entre ILPIP e VIP

Conforme mostrado na Figura 1, o serviço de nuvem é acessado usando um VIP, enquanto as VMs individuais normalmente são acessadas usando o VIP:<número da porta>. Ao atribuir um ILPIP a uma VM específica, essa VM pode ser acessada diretamente usando esse endereço IP.

Quando você cria um serviço de nuvem no Azure, os 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. O mesmo processo ocorre para um ILPIP, permitindo o acesso à VM ou à instância de função pelo FQDN em vez do 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 em .cscfg domainNameLabel estiver definido como WebPublicIP, o Azure registrará os seguintes registros A para as instâncias:

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

Observação

Você pode atribuir apenas um ILPIP para cada VM ou instância de função. Você pode usar até 5 ILPIPs por assinatura. ILPIPs não são suportados para VMs com várias NICs.

Por que eu solicitaria um ILPIP?

Se você quiser ser capaz de se conectar à 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< VIP:>port do serviço de nuvem, solicite um ILPIP para sua VM ou sua instância de função.

  • FTP ativo – ao atribuir um ILPIP a uma VM, ele pode receber tráfego em qualquer porta. Os endpoints não são necessários para a VM receber tráfego. Confira a visão geral do protocolo FTP para obter detalhes sobre o protocolo FTP.
  • IP de saída – o tráfego de saída proveniente da VM é mapeado para o ILPIP como a origem e o ILPIP identifica exclusivamente a VM para entidades externas.

Observação

No passado, um endereço ILPIP era conhecido como um endereço IP público (PIP).

Gerenciar um ILPIP para uma VM

As tarefas a seguir permitem que você crie, atribua e remova ILPIPs de VMs:

Como solicitar um ILPIP durante a criação da VM usando o PowerShell

O script do PowerShell a seguir 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:

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 de VM, poderá usar o 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"

Como recuperar informações do ILPIP para uma 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:

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

Como remover um ILPIP de uma VM

Para remover o ILPIP adicionado à VM no script anterior, execute o seguinte comando do PowerShell:

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

Como adicionar um ILPIP a uma VM existente

Para adicionar um ILPIP à VM criada usando o script anterior, execute o seguinte comando:

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

Gerenciar um ILPIP para uma instância de função dos Serviços de Nuvem

Para adicionar um ILPIP a uma instância de função dos Serviços de Nuvem, conclua as seguintes etapas:

  1. Baixe o arquivo .cscfg para o serviço de nuvem concluindo as etapas no artigo How to Configure Cloud Services .

  2. Atualize o arquivo .cscfg adicionando o InstanceAddress elemento. O exemplo a seguir adiciona um ILPIP chamado MyPublicIP a uma instância de função chamada 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. Carregue o arquivo .cscfg para o serviço de nuvem concluindo as etapas no artigo How to Configure Cloud Services .

Como recuperar informações do ILPIP para um serviço de nuvem

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

Você também pode usar nslookup para consultar o registro A do subdomínio:

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

Próximas etapas

  • Entenda como o endereçamento IP funciona no modelo de implantação clássico.
  • Saiba mais sobre IPs Reservados.