Compartilhar via


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.

Cenário SSL de vários VIPs

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

Introdução ao balanceador de carga para a Internet

Visão geral da Rede Virtual

APIs REST com IP Reservado