Configurar vários VIPs para um serviço de nuvem
Importante
O Azure Load Balancer oferece suporte a dois tipos diferentes: Basic e Standard. Este artigo discute o Load Balancer Basic. Para obter mais informações sobre o Load Balancer Standard, veja Visão geral do Load Balancer Standard.
Você pode acessar os serviços de nuvem do Azure pela Internet pública usando um endereço IP fornecido pelo Azure. Este endereço IP público é conhecido como um VIP (IP virtual), uma vez que está vinculado ao Azure Load Balancer, e não às instâncias VM (máquina virtual) no serviço de nuvem. Você pode acessar qualquer instância VM dentro de um serviço de nuvem usando um único VIP.
No entanto, há situações em que você terá mais de um VIP como ponto de entrada para o mesmo serviço de nuvem. Por exemplo, seu serviço de nuvem pode hospedar vários sites que exigem conectividade SSL usando a porta padrão de 443, uma vez que cada site é hospedado para um cliente, ou locatário, diferente. Nesse caso, é necessário ter outro endereço IP público para cada site. O diagrama a seguir ilustra uma hospedagem multilocatário típica na Web, com a necessidade de vários certificados SSL na mesma porta pública.
No exemplo acima, todos os VIPs usam a mesma porta pública (443) e o tráfego é redirecionado para um ou VMs com balanceamento de carga em uma porta privada exclusiva para o endereço IP interno do serviço de nuvem que hospeda todos os sites.
Observação
Outra situação que exige o uso de vários VIPs é a hospedagem de vários ouvintes do Grupo de Disponibilidade do SQL AlwaysOn no mesmo conjunto de máquinas virtuais.
VIPs são dinâmicos por padrão, o que significa que o endereço IP real atribuído ao serviço de nuvem pode mudar ao longo do tempo. Para evitar isso, você pode reservar um VIP para o serviço. Para saber mais sobre VIPs reservados, consulte IP público reservado.
Observação
Consulte Preços de endereço IP para obter informações sobre preços em VIPs e IPs reservados.
Você pode usar o PowerShell para verificar os VIPs usados por seus serviços de nuvem, bem como adicionar e remover VIPs, associar um VIP para um ponto de extremidade e configurar o balanceamento de carga em um VIP específico.
Limitações
Nesse momento, a funcionalidade Multi VIP está limitada aos seguintes cenários:
- IaaS apenas. Só é possível habilitar o Multi VIP para serviços de nuvem que contêm VMs. Não é possível usar o Multi VIP em cenários de PaaS com instâncias de função.
- PowerShell apenas. Só é possível gerenciar o Multi VIP usando o PowerShell.
Essas limitações são temporárias e podem ser alteradas a qualquer momento. Certifique-se de visitar novamente esta página para verificar as alterações futuras.
Como adicionar um VIP a um serviço de nuvem
Para adicionar um VIP ao seu serviço, execute o seguinte comando do PowerShell:
Add-AzureVirtualIP -VirtualIPName Vip3 -ServiceName myService
Esse comando exibe um resultado semelhante ao seguinte exemplo:
OperationDescription OperationId OperationStatus
-------------------- ----------- ---------------
Add-AzureVirtualIP 4bd7b638-d2e7-216f-ba38-5221233d70ce Succeeded
Como remover um VIP de um serviço de nuvem
Para remover o VIP adicionado ao serviço no exemplo acima, execute o seguinte comando PowerShell:
Remove-AzureVirtualIP -VirtualIPName Vip3 -ServiceName myService
Importante
Você só pode remover um VIP, se ele não tiver pontos de extremidade associados a ele.
Como recuperar informações de VIP de um serviço de nuvem
Para recuperar VIPs associados a um serviço de nuvem, execute o seguinte script do PowerShell:
$deployment = Get-AzureDeployment -ServiceName myService
$deployment.VirtualIPs
Esse script exibe um resultado semelhante ao seguinte exemplo:
Address : 191.238.74.148
IsDnsProgrammed : True
Name : Vip1
ReservedIPName :
ExtensionData :
Address :
IsDnsProgrammed :
Name : Vip2
ReservedIPName :
ExtensionData :
Address :
IsDnsProgrammed :
Name : Vip3
ReservedIPName :
ExtensionData :
Neste exemplo, o serviço de nuvem tem 3 VIPs:
- Vip1 é o VIP padrão e você sabe disso porque o valor IsDnsProgrammedName está definido como verdadeiro.
- Vip2 e Vip3 não são usados porque não têm endereços IP. Eles só serão usados se você associar um ponto de extremidade ao VIP.
Observação
Sua assinatura só será cobrada por VIPs extras quando eles estiverem associados a um ponto de extremidade. Para obter mais informações sobre preços, consulte Preços de endereço IP.
Como associar um VIP a um ponto de extremidade
Para associar um VIP em um serviço de nuvem a um ponto de extremidade, execute o seguinte comando do PowerShell:
Get-AzureVM -ServiceName myService -Name myVM1 |
Add-AzureEndpoint -Name myEndpoint -Protocol tcp -LocalPort 8080 -PublicPort 80 -VirtualIPName Vip2 |
Update-AzureVM
O comando cria um ponto de extremidade vinculado ao VIP denominado Vip2 na porta 80 e o vincula à VM denominada myVM1 em um serviço de nuvem denominado myService usando TCP na porta 8080.
Para verificar a configuração, execute o seguinte comando PowerShell:
$deployment = Get-AzureDeployment -ServiceName myService
$deployment.VirtualIPs
A saída deve ser semelhante ao seguinte exemplo:
Address : 191.238.74.148
IsDnsProgrammed : True
Name : Vip1
ReservedIPName :
ExtensionData :
Address : 191.238.74.13
IsDnsProgrammed :
Name : Vip2
ReservedIPName :
ExtensionData :
Address :
IsDnsProgrammed :
Name : Vip3
ReservedIPName :
ExtensionData :
Como habilitar balanceamento de carga em um VIP específico
Você pode associar um único VIP com várias máquinas virtuais para fins de balanceamento de carga. Por exemplo, você tem um serviço de nuvem chamado myService e duas máquinas virtuais chamadas myVM1 e myVM2. E o serviço de nuvem tem vários VIPs, um deles chamado Vip2. Se você quiser garantir que todo o tráfego para a porta 81 no Vip2 seja equilibrado entre myVM1 e myVM2 na porta 8181, execute o seguinte script do PowerShell:
Get-AzureVM -ServiceName myService -Name myVM1 |
Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet -Protocol tcp -LocalPort 8181 -PublicPort 81 -VirtualIPName Vip2 -DefaultProbe |
Update-AzureVM
Get-AzureVM -ServiceName myService -Name myVM2 |
Add-AzureEndpoint -Name myEndpoint -LoadBalancedEndpointSetName myLBSet -Protocol tcp -LocalPort 8181 -PublicPort 81 -VirtualIPName Vip2 -DefaultProbe |
Update-AzureVM
Você também pode atualizar o balanceador de carga para usar um VIP diferente. Por exemplo, se você executar o comando PowerShell a seguir, alterará o conjunto de balanceamento de carga para usar um VIP denominado Vip1:
Set-AzureLoadBalancedEndpoint -ServiceName myService -LBSetName myLBSet -VirtualIPName Vip1
Próximas etapas
Logs do Azure Monitor para o Azure Load Balance
Visão geral do balanceador de carga para a Internet