O Azure Traffic Manager é um load balancer baseado em DNS que permite distribuir o tráfego de maneira ideal para serviços nas regiões globais do Azure, oferecendo alta disponibilidade e capacidade de resposta.
O Traffic Manager usa o DNS para direcionar solicitações de clientes ao ponto de extremidade de serviço mais apropriado, com base em um método de roteamento de tráfego e na integridade dos pontos de extremidade. Um ponto de extremidade é qualquer serviço voltado para a Internet hospedado dentro ou fora do Azure. O Traffic Manager fornece uma variedade de métodos de roteamento de tráfego e opções de monitoramento de terminal para atender a diferentes necessidades de aplicativos e modelos de failover automático. O Traffic Manager é resiliente a falhas, incluindo a falha de uma região inteira do Azure.
O Azure Traffic Manager distribui o tráfego com base no método de balanceamento de carga abaixo:
- Priority – que encaminha todo o tráfego será roteado para o ponto final primário, a menos que ele falhe.
- Performance – que direciona o tráfego para o terminal medindo menor latência da rede.
- Weighted – que distribui o tráfego com base no peso. Quanto maior o peso, maior o tráfego roteado até o ponto final.
- Geographic – os usuários são direcionados para pontos de extremidade específicos com base em sua localização geográfica de onde a consulta DNS se origina.
Cenário
- Duas instancias de aplicativo Web chamados AppServiceTM01 e AppServiceTM02
- Gerente de tráfego
- Vamos criar duas instancias de aplicativo Web em duas regiões diferentes do Azure.
O Script abaixo cria dois aplicativos web chamados AppServiceTM01 e AppServiceTM02 localizados no WestUS e
EastUS.
Vamos executar o script utilizando o Azure Cloud Shell.
## Criar um Resource Group ##
# Variaveis
$Location1=”WestUS”
# Criar um grupo de recursos
New-AzResourceGroup -Name RG-trafficManager -Location $ Location1
Observe na imagem abaixo a execução dos comandos.
## Criar planos do Serviço de Aplicativo da Web ##
# Variáveis
$ App1Name = “AppServiceT01 $Random”
$ App2Name = “AppServiceT22 $Random”
$ Location1 = “WestUS”
$ Location2 = “EastUS”
# Criar um plano de serviço do aplicativo
New-AzAppservicePlan -Name “$App1Name-Plan” -ResourceGroupName RG-trafficManager -Location $Location1 -Tier Standard
New-AzAppservicePlan -Name “$App2Name-Plan” -ResourceGroupName RG-trafficManager -Location $Location2 -Tier Standard
Observe na imagem abaixo a execução dos comandos.
## Crie um aplicativo da Web no serviço de aplicativo ##
$ App1ResourceId = (New-AzWebApp -Name $ App1Name -ResourceGroupName RG-trafficManager -Location $ Location1 -AppServicePlan “$ App1Name-Plan”). Id
$ App2ResourceId = ( New-AzWebApp -Name $ App2Name -ResourceGroupName RG-trafficManager -Location $ Location2 -AppServicePlan “$ App2Name-Plan”). Id
2 . Clique em Resource group –> RG-trafficManager e observe que nossos aplicativos web e planos foram criados com sucesso.
3. Clique em AppServiceT01 copie a URL https://appservicet01.azurewebsites.net e cole em seu navegador, de preferencia utilizar o modo anonimo do navegador.
Observe que o aplicativo tem uma página padrão, vamos alterar o nome dessa página.
Vamos alterar o nome da página de exibição do AppServiceT01
3. Clique em AppServiceT01, Deployment Tools e clique em App Service Editor (Previw).
04. Na tela App Service Editor (Preview) clique em Go.
05. A tela App Service Editor será aberta, remova a frase Hey App Service developers!, e adicione um nome de sua preferência em nosso exemplo vamos alterar o nome para AppServiceT01. O arquivo sera salvo automaticamente.
06 . Cole a URL https://appservicet01.azurewebsites.net do AppServiceT01 em seu navegador e observe se o nome AppServiceT01 foi adicionado a página.
O próximo passo será alterar o nome da página de exibição do AppServiceT02.
07. Clique em AppServiceT22, Deployment Tools e clique em App Service Editor (Previw).
08. Na tela App Service Editor (Preview) clique em Go.
09. A tela App Service Editor será aberta, remova a frase Hey App Service developers!, e adicione um nome de sua preferência em nosso exemplo vamos alterar o nome para AppServiceT02. O arquivo sera salvo automaticamente.
10. Selecione um URL do AppServiceT02.
11. Cole a URL https://appservicet22.azurewebsites.net do AppServiceT02 em seu navegador e observe se o nome AppServiceT02 foi adicionado a página.
Agora vamos configurar o Traffic Manager para distribuir as requisições na porta 80 com base na performance dos nossos aplicativos web.
O Script abaixo configura o Traffic Manager.
# Variáveis
$trafficmanager = “tmAppService”
$Resourcegroup = “RG-trafficManager”
$App1Name = “AppServiceT01”
$Location1 = “WestUS”
$App2Name = “AppServiceT22”
$Location2 = “East US”
$NameEndpoint01 = “APP-01”
$NameEndpoint02 = “APP-02”
# Criar o Traffic Manager
New-AzTrafficManagerProfile -Name $ trafficmanager -ResourceGroupName $ Resourcegroup -TrafficRoutingMethod Performance -MonitorPath ‘/’ -MonitorProtocol HTTP -RelativeDnsName $ trafficmanager -Ttl 30 -MonitorPort 80 -Verbose
Podemos observar na imagem abaixo a execução dos comandos:
Como podemos observar na imagem abaixo o Traffic Manager Profile foi criado.
Agora vamos adicionar o AppServiceT01 e AppServiceT02 ao Traffic Manager.
O Script abaixo adiciona o AppServiceT01 e AppServiceT02 ao Traffic Manager.
# Add Traffic Manager endpoints
New-AzTrafficManagerEndpoint -Name $NameEndpoint01 -ResourceGroupName $Resourcegroup -ProfileName tmAppService -Type AzureEndpoints -TargetResourceId $App1ResourceId -EndpointStatus Enabled -EndpointLocation $Location1 -Verbose
New-AzTrafficManagerEndpoint -Name $NameEndpoint02 -ResourceGroupName $Resourcegroup -ProfileName tmAppService -Type AzureEndpoints -TargetResourceId $App2ResourceId -EndpointStatus Enabled -EndpointLocation $Location2 -Verbose
Observe na imagem abaixo a execução dos comando.
Observe na imagem abaixo que AppServiceT01 e AppServiceT02 foram adicionados como Endpoints e Monitor status está Online.
As requisições para AppServiceT01 e AppServiceT02 serão feitas utilizando o DNS name do traffic manager.
20. Clique em Configuration, observe que o traffic manager está monitorando nossas aplicações na porta 80, podemos observar outras opções como número de falhas, etc.
O próximo passo é testar o acesso aos aplicativos web utilizando o DNS name do Traffic Manager.
21. Clique em Overview e copie o DNS name
22. Cole o DNS name http://tmappservice.trafficmanager.net em seu navegador.
Observe que as requisições estão sendo direcionadas para o AppServiceT02 vamos para-ló e verificar se as requisições serão direcionadas para o AppServiceT01
Execute o seguinte comando para desabilitar o AppServiceT02.
Disable-AzTrafficManagerEndpoint -Name $NameEndpoint02 -Type AzureEndpoints -ProfileName $trafficmanager -ResourceGroupName $Resourcegroup -Force
Observe na imagem abaixo a execução do comando.
Observe na imagem abaixo que o APP-02 foi desabilitado, o trafego agora tem que ser direcionado para o APP-01
24 . Atualize a página do navegador que está aberta com o endereço dns do traffic manager
Observe que as requisições agora foram direcionadas para o AppServiceT01.
Espero que este conteúdo tenha contribuído com o enriquecimento do conhecimento de vocês em Azure.
Tem alguma sugestão ou observação, comente.
Forte abraço, obrigado e até o próximo post. 🙂

Carreira desenvolvida na área de tecnologia da informação, com ampla experiência em Cloud Computing, com foco em Microsoft Azure.
Fui nomeado Microsoft MVP na categoria Microsoft Azure.
Faço parte da Ong MTAC, sou MCT Microsoft, tenho algumas certificações como AZ-303 Microsoft Azure Architect Technologies, AZ-104 Azure Administrator, MCSE Core Infrastructure e MCSA Windows Server 2012.
Também participo como palestrante em eventos online da comunidade de TI, sou administrador e escritor no blog https://jadsonalves.com.br cujo principal objetivo é compartilhar conhecimento com a comunidade de TI e também escrevo artigos técnicos no portal https://cooperati.com.br