Como funciona o Traffic Manager
O Azure Traffic Manager permite controlar a distribuição do tráfego entre os pontos de extremidade do aplicativo. Os pontos finais são serviços com acesso à Internet alojados dentro ou fora do Azure.
O Traffic Manager oferece dois benefícios principais:
- Distribuição do tráfego de acordo com um dos vários métodos de encaminhamento de tráfego
- Monitoramento contínuo da integridade do endpoint e failover automático quando os endpoints falham
Quando um cliente tenta estabelecer ligação a um serviço, primeiro tem de resolver o nome DNS do serviço para um endereço IP. Em seguida, o cliente estabelece ligação a esse endereço IP para aceder ao serviço.
O ponto mais importante a entender é que o Gerenciador de Tráfego funciona no nível 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 Traffic Manager não é um proxy ou um gateway. O Gestor de Tráfego não vê o tráfego que passa entre o cliente e o serviço.
O Gestor de Tráfego utiliza perfis para controlar o tráfego para os seus serviços na nuvem ou terminais de websites. Para obter mais informações sobre perfis, consulte Gerenciar um perfil do Gerenciador de Tráfego do Azure.
A Contoso Corp desenvolveu um novo portal de parceiros. O URL deste portal é https://partners.contoso.com/login.aspx
. O aplicativo está hospedado em três regiões do Azure. Para melhorar a disponibilidade e maximizar o desempenho global, eles usam o Gerenciador de Tráfego para distribuir o tráfego do cliente para o ponto de extremidade disponível mais próximo.
Para obter essa configuração, eles concluem as seguintes etapas:
- Implante 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'.
- Crie um perfil do Gerenciador de Tráfego, chamado 'contoso.trafficmanager.net', e configure-o para usar o método de roteamento de tráfego 'Desempenho' nos três pontos de extremidade.
- Configure seu nome de domínio personalizado, 'partners.contoso.com', para apontar para 'contoso.trafficmanager.net', usando um registro DNS CNAME.
Importante
Apenas um Azure [ID do locatário] pode possuir um determinado nome DNS do gerenciador de tráfego raiz. A tentativa de 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 pontos, como partners.contoso.trafficmanager.net, contoso.trafficmanager.net será reservado automaticamente.
Nota
Ao usar um domínio personalizado com o Gerenciador de Tráfego do Azure, você deve usar um CNAME para apontar seu nome de domínio personalizado para o 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. Assim, você não pode criar um CNAME para 'contoso.com' (às vezes chamado de domínio 'nu'). Você só pode criar um CNAME para um domínio em 'contoso.com', como 'www.contoso.com'. Para contornar essa limitação, recomendamos hospedar seu domínio DNS no DNS do Azure e usar registros Alias para apontar para seu perfil de gerenciador de tráfego. Como alternativa, você pode usar um redirecionamento HTTP simples para direcionar solicitações de 'contoso.com' para um nome alternativo, como 'www.contoso.com'.
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 contatar os vários serviços DNS autorizados na 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'. Em seguida, contacta esses servidores de nomes para solicitar o registo DNS «partners.contoso.com». Os servidores DNS 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 Gerenciador de Tráfego do Azure. Em seguida, envia um pedido para o registo DNS 'contoso.trafficmanager.net' para esses servidores DNS.
Os servidores de nomes do Gerenciador de Tráfego recebem a solicitação. Eles escolhem um ponto de extremidade com base em:
- O estado configurado de cada ponto de extremidade (os pontos de extremidade desabilitados não são retornados)
- A integridade atual de cada ponto de extremidade, conforme determinado pelas verificações de integridade do Gerenciador de Tráfego. Para obter mais informações, consulte Monitoramento de ponto final do Gerenciador de tráfego.
- O método de roteamento de tráfego escolhido. Para obter mais informações, consulte Métodos de roteamento do Gerenciador de Tráfego.
O ponto de extremidade escolhido é retornado como outro registro CNAME DNS. Neste caso, suponhamos que contoso-eu.cloudapp.net é devolvido.
Em seguida, o serviço DNS recursivo localiza os servidores de nomes para o domínio 'cloudapp.net'. Ele entra em contato com esses servidores de nomes para solicitar o registro DNS 'contoso-eu.cloudapp.net'. É devolvido um registo DNS «A» que contém o endereço IP do ponto de extremidade do serviço baseado na UE.
O serviço DNS recursivo consolida os resultados e retorna uma única resposta DNS para o cliente.
O cliente recebe os resultados do DNS e se conecta ao endereço IP fornecido. O cliente se conecta ao ponto de extremidade do serviço de aplicativo diretamente, não por meio do Gerenciador de Tráfego. Como é um ponto de extremidade HTTPS, o cliente executa o handshake SSL/TLS necessário e, em seguida, faz uma solicitação HTTP GET para a página '/login.aspx'.
O serviço DNS recursivo armazena em cache as respostas DNS que recebe. O resolvedor de DNS no dispositivo cliente também armazena o resultado em cache. O cache permite que as consultas DNS subsequentes sejam respondidas mais rapidamente usando dados do cache em vez de consultar outros servidores de nomes. A duração do cache é determinada pela propriedade 'time-to-live' (TTL) de cada registro DNS. Valores mais curtos resultam em uma 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 mais longos significam que pode levar mais tempo para direcionar o tráfego para longe de um ponto de extremidade com falha. O Gerenciador de Tráfego permite que você configure o TTL usado nas respostas DNS do Gerenciador de Tráfego para ser tão baixo quanto 0 segundos e tão alto quanto 2.147.483.647 segundos (o intervalo máximo compatível com RFC-1035), permitindo que você escolha o valor que melhor equilibra as necessidades do seu aplicativo.
Que tipos de tráfego podem ser encaminhados usando o Gerenciador de Tráfego?
Por que estou vendo um erro HTTP ao usar o Gerenciador de Tráfego?
Como posso resolver um problema 500 (Erro Interno do Servidor) ao usar o Gerenciador de Tráfego?
Qual é o impacto no desempenho da utilização do Gestor de Tráfego?
Que protocolos de aplicação posso utilizar com o Gestor de Tráfego?
O Gerenciador de Tráfego considera o endereço de sub-rede do cliente ao lidar com consultas DNS?
Quão alto ou baixo posso definir o TTL para respostas do Traffic Manager?
Como posso entender o volume de consultas que chegam ao meu perfil?
Saiba mais sobre o monitoramento de pontos finais do Gerenciador de Tráfego e o failover automático.
Saiba mais sobre os métodos de roteamento de tráfego do Gerenciador de Tráfego.