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:

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:

  1. 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”.
  2. 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.
  3. 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.

Configuração DNS do Gerenciador de Tráfego

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:

Estabelecimento de conexão usando o Gerenciador de Tráfego

  1. 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.

  2. 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.

  3. 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.

  4. Os servidores de nomes do Gerenciador de Tráfego recebem a solicitação. Eles escolhem um ponto de extremidade que se baseia:

  5. O ponto de extremidade escolhido é retornado como outro registro DNS CNAME. Nesse caso, vamos supor que contoso-eu.cloudapp.net seja retornado.

  6. 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.

  7. O serviço DNS recursivo consolida os resultados e retorna uma única resposta DNS para o cliente.

  8. 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

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.