Visão geral do NÍVEL de Instância IP (Classic)
Um IP público de nível de instância (ILPIP) é um endereço IP público que pode atribuir diretamente a uma instância de função VM ou Cloud Services, em vez de ao serviço de cloud em que o seu VM ou instância de função residem. Um ILPIP não toma o lugar do IP virtual (VIP) que é atribuído ao seu serviço na nuvem. Em vez disso, é um endereço IP adicional que pode usar para ligar diretamente ao seu VM ou instância de função.
Importante
O Azure tem dois modelos de implementação para criar e trabalhar com recursos: Resource Manager e Clássico. Este artigo cobre a utilização do modelo de implementação clássica. A Microsoft recomenda a criação de VMs através de Resource Manager. Certifique-se de que compreende como os endereços IP funcionam em Azure.
Como mostrado na Figura 1, o serviço de nuvem é acedido através de um VIP, enquanto os VMs individuais são normalmente acedidos usando o número> VIP:<porta. Ao atribuir um ILPIP a um VM específico, esse VM pode ser acedido diretamente através desse endereço IP.
Quando cria um serviço de nuvem em Azure, os registos DNS A correspondentes são criados automaticamente para permitir o acesso ao serviço através de um nome de domínio totalmente qualificado (FQDN), em vez de utilizar o VIP real. O mesmo processo acontece para um ILPIP, permitindo o acesso ao VM ou instância de função por FQDN em vez do ILPIP. Por exemplo, se criar um serviço de nuvem chamado contosoadservice, e configurar uma função web chamada contosoweb com duas instâncias, e em .cscfg domainNameLabel
está definido para WebPublicIP, Azure regista os seguintes registos A para os casos:
- WebPublicIP.0.contosoadservice.cloudapp.net
- WebPublicIP.1.contosoadservice.cloudapp.net
- ...
Nota
Pode atribuir apenas um ILPIP para cada VM ou instância de função. Pode utilizar até 5 ILPIPs por subscrição. Os ILPIPs não são suportados para VMs multi-NIC.
Por que pediria um ILPIP?
Se pretender ligar-se ao seu VM ou à sua instância de função através de um endereço IP que lhe seja atribuído diretamente, em vez de utilizar o serviço de nuvem VIP:<port number>, solicite um ILPIP para o seu VM ou a sua instância de função.
- FTP ativo - Ao atribuir um ILPIP a um VM, pode receber tráfego em qualquer porta. Não são necessários pontos finais para que o VM receba tráfego. Consulte a visão geral do protocolo FTP para obter mais informações sobre o protocolo FTP.
- IP de saída - O tráfego de saída originário do VM é mapeado para o ILPIP como a fonte e o ILPIP identifica exclusivamente o VM para entidades externas.
Nota
No passado, um endereço ILPIP era referido como um endereço de IP público (PIP).
Gerir um ILPIP para um VM
As seguintes tarefas permitem-lhe criar, atribuir e remover ILPIPs de VMs:
Como solicitar um ILPIP durante a criação de VM usando o PowerShell
O seguinte script PowerShell cria um serviço de nuvem chamado FTPService, recupera uma imagem do Azure, cria um VM chamado FTPInstance usando a imagem recuperada, define o VM para usar um ILPIP, e adiciona o 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 quiser especificar outra conta de armazenamento como a localização do novo disco VM, pode utilizar 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 um VM
Para ver as informações do ILPIP para o VM criado com o script anterior, executar o seguinte comando PowerShell e observar os valores para 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 um VM
Para remover o ILPIP adicionado ao VM no script anterior, execute o seguinte comando PowerShell:
Get-AzureVM -ServiceName FTPService -Name FTPInstance | Remove-AzurePublicIP | Update-AzureVM
Como adicionar um ILPIP a um VM existente
Para adicionar um ILPIP ao VM criado usando o script anterior, executar o seguinte comando:
Get-AzureVM -ServiceName FTPService -Name FTPInstance | Set-AzurePublicIP -PublicIPName ftpip2 | Update-AzureVM
Gerir um ILPIP para uma instância de função de Cloud Services
Para adicionar um ILPIP a uma instância de função cloud Services, complete os seguintes passos:
Descarregue o ficheiro .cscfg para o serviço na nuvem, completando os passos no artigo Como Configurar os Serviços cloud.
Atualize o ficheiro .cscfg adicionando o
InstanceAddress
elemento. A amostra seguinte adiciona um ILPIP chamado MyPublicIP a uma instância de papel 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>
Faça o upload do ficheiro .cscfg para o serviço na nuvem, preenchendo os passos no artigo Como Configurar os Serviços de Nuvem.
Como recuperar informações do ILPIP para um Serviço de Cloud
Para visualizar a informação do ILPIP por instância de função, executar o seguinte comando PowerShell e observar os valores para 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
Também pode utilizar nslookup
para consultar o registo A do sub-domínio:
nslookup WebPublicIP.0.<Cloud Service Name>.cloudapp.net
Passos seguintes
- Entenda como a abordagem IP funciona na versão clássica modelo.
- Saiba mais sobre os IPs Reservados.