Como funciona o Gerenciador de tráfego
O Gerenciador de Tráfego do Azure permite que você controle a distribuição do tráfego entre os pontos de extremidade do aplicativo. Um ponto de extremidade é qualquer serviço para a Internet hospedado dentro ou fora do Azure.
O Gerenciador de Tráfego oferece dois benefícios principais:
- Distribuição do tráfego de acordo com um dos vários métodos de roteamento de tráfego
- Monitoramento contínuo de integridade do ponto de extremidade e failover automático quando os pontos de extremidade falharem
Quando um cliente tenta se conectar a um serviço, ele primeiro deve resolver o nome DNS do serviço para um endereço IP. O cliente se conecta a esse endereço IP para acessar o serviço.
O ponto mais importante a entender é que o Gerenciador de Tráfego funciona no nível do DNS que está na camada de Aplicativo (Camada 7). O Gerenciador de Tráfego usa o DNS para direcionar clientes para pontos de extremidade de serviço específicos com base nas regras do método de roteamento de tráfego. Os clientes se conectam diretamente ao ponto de extremidade selecionado. O Gerenciador de Tráfego não é um proxy nem um gateway. O Gerenciador de Tráfego não vê o tráfego que passa entre o cliente e o serviço.
O Gerenciador de Tráfego utiliza perfis para controlar o tráfego para seus serviços de nuvem ou pontos de extremidade do site. Para obter mais informações sobre perfis, confira Gerenciar um perfil do Gerenciador de Tráfego do Azure.
Exemplo de Gerenciador de Tráfego
A Contoso Corp desenvolveu um novo portal de parceiros. A URL para este portal é https://partners.contoso.com/login.aspx
. O aplicativo é hospedado em três regiões do Azure. Para melhorar a disponibilidade e maximizar o desempenho global, elas usam o Gerenciador de Tráfego para distribuir o tráfego do cliente para o ponto de extremidade mais próximo disponível.
Para alcançar essa configuração, eles concluem as etapas a seguir:
- Implantam três instâncias de seu serviço. Os nomes DNS dessas implantações são “contoso-us.cloudapp.net”, “contoso-eu.cloudapp.net” e “contoso-asia.cloudapp.net”.
- Criam um perfil do Gerenciador de Tráfego chamado “contoso.trafficmanager.net” e configuram-no para usar o método de roteamento de tráfego por “Desempenho” nos três pontos de extremidade.
- Configuram seu nome de domínio intuitivo “partners.contoso.com” para apontar para “contoso.trafficmanager.net” usando um registro DNS CNAME.
Importante
Somente uma [ID do locatário] do Azure pode ser o proprietário de determinado nome DNS do gerenciador de tráfego raiz. Tentar usar um nome que já está em uso exibirá um erro. No exemplo a seguir, o nome DNS raiz é contoso. Além disso, se um perfil for criado usando um nome separado por ponto, como partners.contoso.trafficmanager.net, contoso.trafficmanager.net será automaticamente reservado.
Observação
Ao usar um domínio personalizado com o Gerenciador de Tráfego do Azure, você deve usar um CNAME para indicar seu nome de domínio intuitivo para seu nome de domínio do Gerenciador de Tráfego. Os padrões de DNS não permitem que você crie um CNAME no "ápice" (ou raiz) de um domínio. Portanto, não é possível criar um CNAME para “contoso.com” (às vezes chamado de domínio raiz). Você só pode criar um CNAME para um domínio em “contoso.com”, como “www.contoso.com”. Para contornar essa limitação, é recomendável hospedar o domínio DNS na DNS do Azure e o usar Registros de alias para apontar para seu perfil do gerenciador de tráfego. Outra opção é usar um simples HTTP para redirecionar as solicitações diretas de “contoso.com” para um nome alternativo como "www.contoso.com".
Como os clientes se conectam usando o Gerenciador de Tráfego
Continuando do exemplo anterior, quando um cliente solicita a página https://partners.contoso.com/login.aspx
, o cliente executa as seguintes etapas para resolver o nome DNS e estabelecer uma conexão:
O cliente envia uma consulta DNS para seu serviço DNS recursivo configurado para resolver o nome “partners.contoso.com”. Um serviço DNS recursivo, às vezes chamado de serviço “DNS local”, não hospeda domínios DNS diretamente. Em vez disso, o cliente descarrega o trabalho de entrar em contato com os diversos serviços DNS autoritativos pela Internet necessários para resolver um nome DNS.
Para resolver o nome DNS, o serviço DNS recursivo localiza os servidores de nomes para o domínio “contoso.com”. Ele então entra em contato com os servidores de nomes para solicitar o registro DNS de “partners.contoso.com”. Os servidores DNS de contoso.com retornam o registro CNAME que aponta para contoso.trafficmanager.net.
Em seguida, o serviço DNS recursivo localiza os servidores de nomes para o domínio “trafficmanager.net”, que são fornecidos pelo serviço do Gerenciador de Tráfego do Azure. Em seguida, ele envia uma solicitação para o registro DNS de “contoso.trafficmanager.net” para os servidores DNS.
Os servidores de nomes do Gerenciador de Tráfego recebem a solicitação. Eles escolhem um ponto de extremidade que se baseia:
- No estado configurado de cada ponto de extremidade (pontos de extremidade desabilitados não são retornados)
- A integridade atual de cada ponto de extremidade, conforme determinado pela integridade Gerenciador de Tráfego. Para obter mais informações, consulte Monitoramento do Ponto de Extremidade do Gerenciador de Tráfego.
- O método de roteamento de tráfego escolhido. Para obter mais informações, consulte Métodos de roteamento de tráfego do Gerenciador de Tráfego.
O ponto de extremidade escolhido é retornado como outro registro DNS CNAME. Nesse caso, vamos supor que contoso-eu.cloudapp.net seja retornado.
Em seguida, o serviço DNS recursivo localiza os servidores de nomes para o domínio “cloudapp.net”. Ele entra em contato com os servidores de nomes para solicitar o registro DNS de “contoso-eu.cloudapp.net”. Um registro DNS “A” que contém o endereço IP do ponto de extremidade de serviço da Europa é retornado.
O serviço DNS recursivo consolida os resultados e retorna uma única resposta DNS para o cliente.
O cliente recebe os resultados DNS e conecta-se ao endereço IP fornecido. O cliente se conecta ao ponto de extremidade de serviço do aplicativo diretamente, não pelo Gerenciador de Tráfego. Como é um ponto de extremidade HTTPS, o cliente executa o handshake SSL/TLS necessário e faz uma solicitação HTTP GET para a página “/login.aspx”.
Gerenciador de Tráfego e cache DNS
O serviço DNS recursivo armazena em cache as respostas DNS recebidas. O resolvedor DNS no dispositivo do cliente também armazena em cache o resultado. O cache permite que as próximas consultas DNS sejam respondidas mais rapidamente usando dados do cache em vez de consultar outros servidores de nomes. A duração do cache é determinada pela propriedade TTL (“vida útil”) de cada registro DNS. Valores menores resultam na expiração de cache mais rápida e, portanto, mais viagens de ida e volta para os servidores de nomes do Gerenciador de Tráfego. Valores maiores significam que pode levar mais tempo para direcionar o tráfego para fora de um ponto de extremidade com falha. O Gerenciador de Tráfego permite configurar o TTL usado em respostas de DNS do Gerenciador de Tráfego para serem de apenas 0 segundo e de até 2.147.483.647 segundos (o intervalo máximo em conformidade com RFC-1035), habilitando-o a escolher o valor que melhor equilibre as necessidades do seu aplicativo.
Perguntas frequentes
Que tipos de tráfego podem ser roteados usando Gerenciador de Tráfego?
O Gerenciador de Tráfego dá suporte a sessões “temporárias”?
Por que vejo um erro de HTTP ao usar o Gerenciador de Tráfego?
Como posso resolver um problema 500 (Erro do Servidor Interno) ao usar o Gerenciador de Tráfego?
Qual é o impacto no desempenho de usar o Gerenciador de Tráfego?
Quais protocolos de aplicativo posso usar com o Gerenciador de Tráfego?
Posso usar o Gerenciador de Tráfego com um nome de domínio “naked”?
O Gerenciador de Tráfego considera o endereço de sub-rede do cliente ao manipular consultas DNS?
Como posso definir o nível (alto ou baixo) do TTL para respostas do Gerenciador de Tráfego?
Como faço para entender o volume de consultas que chega ao meu perfil?
Próximas etapas
Saiba mais sobre o failover automático e monitoramento do ponto de extremidadedo Gerenciador de Tráfego.
Saiba mais sobre os métodos de roteamento de tráfegodo Gerenciador de Tráfego.