Métodos de roteamento do Gerenciador de Tráfego

O Gerenciador de Tráfego do Azure dá suporte a seis métodos de roteamento de tráfego para determinar como rotear o tráfego de rede aos vários pontos de extremidade de serviço. O Gerenciador de Tráfego aplica o método de roteamento de tráfego associado a cada perfil para cada consulta DNS recebida. O método de roteamento de tráfego determina qual ponto de extremidade é retornado na resposta DNS.

Os seguintes métodos de roteamento de tráfego estão disponíveis no Gerenciador de Tráfego:

  • Prioridade: selecione roteamento de Prioridade quando desejar ter um ponto de extremidade de serviço primário para todo o tráfego. É possível fornecer vários pontos de extremidade de backup caso o primário ou um dos pontos de extremidade de backup não estejam disponíveis.
  • Ponderado: selecione roteamento Ponderado quando desejar distribuir o tráfego entre um conjunto de pontos de extremidade com base em seu peso. Defina o peso a ser distribuído uniformemente entre todos os pontos de extremidade.
  • Desempenho: selecione roteamento de Desempenho quando tiver pontos de extremidade em diferentes regiões e quiser que os usuários finais usem o ponto de extremidade “mais próximo” para menor latência de rede.
  • Geográfico: selecione roteamento Geográfico para direcionar os usuários a pontos de extremidade específicos (Azure, externo ou aninhado) com base no local onde suas consultas DNS são originadas geograficamente. Com esse método de roteamento, ele permite que você esteja em conformidade com cenários como mandatos da soberania de dados, localização de conteúdo & experiência do usuário e medição do tráfego de diferentes regiões.
  • Vários valores: selecione MultiValue para os perfis do Gerenciador de Tráfego que podem ter apenas endereços IPv4/IPv6 como pontos de extremidade. Quando uma consulta for recebida para este perfil, todos os pontos de extremidade íntegros serão retornados.
  • Sub-rede: selecione o método de roteamento de tráfego da sub-rede para mapear conjuntos de intervalos de endereços IP do usuário final para um ponto de extremidade específico. Quando uma solicitação for recebida, o ponto de extremidade retornado será o mapeado para o endereço IP de origem da solicitação. 

Todos os perfis do Gerenciador de Tráfego têm monitoramento de integridade e failover automático de pontos de extremidade. Para obter mais informações, consulte Monitoramento do Ponto de Extremidade do Gerenciador de Tráfego. Em um perfil do Gerenciador de Tráfego, só é possível configurar um método de roteamento de tráfego por vez. Você pode selecionar um método de roteamento de tráfego diferente para o seu perfil a qualquer momento. Suas alterações serão aplicadas em um minuto sem nenhum tempo de inatividade. É possível combinar métodos de roteamento de tráfego usando perfis aninhados do Gerenciador de Tráfego. O aninhamento de perfis permite configurações sofisticadas de roteamento de tráfego para atender às necessidades de aplicativos maiores e complexos. Para obter mais informações, consulte perfis aninhados do Gerenciador de Tráfego.

Método de roteamento de tráfego por prioridade

Geralmente, uma organização deseja fornecer confiabilidade para seus serviços. Para fazer isso, eles implantam um ou mais serviços de backup caso seu primário fique inativo. O método de roteamento de tráfego por “Prioridade” permite que os clientes do Azure implementem esse padrão de failover com facilidade.

Azure Traffic Manager 'Priority' traffic-routing method

O perfil do Gerenciador de Tráfego contém uma lista priorizada de pontos de extremidade de serviço. Por padrão, o Gerenciador de Tráfego envia todo o tráfego para o ponto de extremidade primário (prioridade mais alta). Se o ponto de extremidade primário não estiver disponível, o Gerenciador de Tráfego roteará o tráfego para o segundo ponto de extremidade. Se os pontos de extremidade primário e secundário não estiverem disponíveis, o tráfego vai para o terceiro e assim por diante. A disponibilidade do ponto de extremidade é baseada no status configurado (habilitado ou desabilitado) e no monitoramento contínuo do ponto de extremidade.

Configurando pontos de extremidade

Com o Azure Resource Manager, você configura a prioridade do ponto de extremidade usando explicitamente a propriedade “priority” para cada ponto de extremidade. Essa propriedade é um valor entre 1 e 1000. Um valor mais baixo representa uma prioridade mais alta. Pontos de extremidade não podem compartilhar valores de prioridade. A configuração da propriedade é opcional. Quando é omitida, uma prioridade padrão baseada na ordem do ponto de extremidade é usada.

Método de roteamento de tráfego ponderado

O método de roteamento de tráfego “Ponderado” permite que você distribua o tráfego de maneira uniforme ou use uma ponderação predefinida.

Azure Traffic Manager 'Weighted' traffic-routing method

No método de roteamento de tráfego Ponderado, você atribui um peso a cada ponto de extremidade na configuração do perfil do Gerenciador de Tráfego. Cada peso é um inteiro de 1 a 1000. Esse parâmetro é opcional. Se ele for omitido, os Gerenciadores de Tráfego usarão um peso padrão de “1”. Quanto maior o peso, maior a prioridade.

Para cada consulta DNS recebida, o Gerenciador de Tráfego escolhe aleatoriamente um ponto de extremidade disponível. A probabilidade de escolher um ponto de extremidade baseia-se nos pesos atribuídos a todos os pontos de extremidade disponíveis. Usar o mesmo peso em todos os pontos de extremidade resulta em uma distribuição uniforme do tráfego. Usar pesos maiores ou menores em pontos de extremidade específicos faz com que esses pontos de extremidade sejam retornados com maior ou menor frequência nas respostas DNS.

O método ponderado permite alguns cenários úteis:

  • Atualização gradual de aplicativo: dê um percentual do tráfego para roteá-lo para um novo ponto de extremidade e aumentar gradualmente o tráfego até que ele chegue a 100%.
  • Migração de aplicativos para o Azure: crie um perfil com pontos de extremidade externos e do Azure. Ajuste o peso dos pontos de extremidade para dar preferência aos novos pontos de extremidade.
  • Estouro de nuvem para maior capacidade: expanda rapidamente uma implantação local na nuvem colocando-a atrás de um perfil do Gerenciador de Tráfego. Quando precisar de capacidade extra na nuvem, você poderá adicionar ou habilitar mais pontos de extremidade e especificar qual parte do tráfego vai para cada ponto de extremidade.

É possível configurar pesos usando o portal do Azure, o Azure PowerShell, a CLI ou as APIs REST.

Um ponto a ser lembrado é que as respostas DNS são armazenadas em cache pelos clientes. Elas também são armazenados em cache pelos servidores DNS que os clientes usam para resolver nomes DNS. Esse cache pode ter um impacto nas distribuições de tráfego ponderado. Quando o número de clientes e de servidores DNS recursivo é grande, a distribuição de tráfego funciona conforme esperado. No entanto, quando o número de clientes ou de servidores DNS recursivo é pequeno, o cache pode distorcer consideravelmente a distribuição de tráfego.

Os casos de uso comuns incluem:

  • Ambientes de desenvolvimento e teste
  • Comunicações de aplicativo para aplicativo
  • Aplicativos voltados para uma base de usuários estreita que compartilha uma infraestrutura comum de DNS recursivo (por exemplo, funcionários de uma empresa que se conectam por meio de um proxy)

Esses efeitos do caching de DNS são comuns a todos os sistemas de roteamento de tráfego baseados em DNS, e não específicos ao Gerenciador de Tráfego do Azure. Em alguns casos, limpar explicitamente o cache DNS pode fornecer uma solução alternativa. Se isso não funcionar, um método alternativo de roteamento de tráfego pode ser mais apropriado.

Método de roteamento de tráfego por desempenho

A implantação de pontos de extremidade em duas ou mais localizações do mundo pode melhorar a capacidade de resposta dos seus aplicativos. Com o método de roteamento de tráfego de “Desempenho”, é possível rotear o tráfego para o local mais “próximo” a você.

Azure Traffic Manager 'Performance' traffic-routing method

O ponto de extremidade “mais próximo” não é necessariamente o mais próximo em termos de distância geográfica. Em vez disso, o método de roteamento de tráfego por “Desempenho” determina o ponto de extremidade mais próximo medindo a latência de rede. O Gerenciador de Tráfego mantém uma Tabela de Latência da Internet para controlar o tempo da viagem de ida e volta entre intervalos de endereços IP e em cada data center do Azure.

O Gerenciador de Tráfego pesquisa o endereço IP de origem da solicitação DNS de entrada na Tabela de Latência da Internet. O Gerenciador de Tráfego escolhe um ponto de extremidade disponível no datacenter do Azure que tem a latência mais baixa para esse intervalo de endereços IP. Em seguida, o Gerenciador de Tráfego retorna esse ponto de extremidade na resposta DNS.

Como explicamos em Como funciona o Gerenciador de Tráfego, o Gerenciador de Tráfego não recebe consultas DNS diretamente de clientes. Em vez disso, as consultas DNS são recebidas do serviço DNS recursivo que os clientes são configurados para usar. Como tal, o endereço IP usado para determinar o ponto de extremidade “mais próximo” não é o endereço IP do cliente, mas o endereço IP do serviço DNS recursivo. Esse endereço IP é um bom proxy para o cliente.

Regularmente, o Gerenciador de Tráfego atualiza a Tabela de Latência da Internet para verificar se há alterações na Internet global e em novas regiões do Azure. No entanto, o desempenho do aplicativo varia de acordo com as variações em tempo real na carga pela Internet. O roteamento de tráfego por desempenho não monitora a carga em um ponto de extremidade de serviço específico. Se um ponto de extremidade ficar indisponível, o Gerenciador de Tráfego não incluirá isso nas respostas a consultas DNS.

Pontos a serem observados:

  • Se seu perfil contiver vários pontos de extremidade na mesma região do Azure, o Gerenciador de Tráfego distribuirá o tráfego de maneira uniforme pelos pontos de extremidade disponíveis nessa região. Se preferir uma distribuição de tráfego diferente em uma região, use os perfis aninhados do Gerenciador de Tráfego.
  • Se todos os pontos de extremidade habilitados na região do Azure mais próximo estiverem degradados, o Gerenciador de Tráfego moverá o tráfego para os pontos de extremidade na próxima região do Azure mais próxima. Se desejar definir uma sequência de failover preferencial, use os perfis aninhados do Gerenciador de Tráfego.
  • Ao usar o método de roteamento de tráfego por Desempenho com pontos de extremidade externos ou aninhados, você precisará especificar a localização desses pontos de extremidade. Escolha a região do Azure mais próxima de sua implantação. Essas localizações são os valores com suporte na Tabela de Latência da Internet.
  • O algoritmo que escolhe o ponto de extremidade é determinístico. Consultas DNS repetidas do mesmo cliente são direcionadas ao mesmo ponto de extremidade. Normalmente, os clientes usam servidores DNS recursivo diferentes quando estão viajando. O cliente pode ser encaminhado para outro ponto de extremidade. O roteamento também pode ser afetado pelas atualizações à Tabela de Latência da Internet. É por isso que o método de roteamento de tráfego por Desempenho não garante que um cliente sempre seja encaminhado para o mesmo ponto de extremidade.
  • Quando a Tabela de Latência da Internet é alterada, você pode observar que alguns clientes foram direcionados para um ponto de extremidade diferente. Essa alteração de roteamento é mais precisa com base nos dados de latência atuais. Essas atualizações são essenciais para manter a precisão do roteamento de tráfego por Desempenho à medida que a Internet evolui continuamente.

Método de roteamento de tráfego geográfico

Os perfis do Gerenciador de Tráfego podem ser configurados para usar o método de roteamento geográfico de modo que os usuários sejam direcionados para pontos de extremidade específicos: Azure, Externo ou Aninhado. A correspondência é baseada na localização geográfica da qual a consulta DNS tem origem. Com esse método de roteamento, ele permite que você esteja em conformidade com mandatos da soberania de dados, localização de conteúdo & experiência do usuário e medição do tráfego de diferentes regiões. Quando um perfil é configurado para roteamento geográfico, cada ponto de extremidade associado a esse perfil precisa ter um conjunto de regiões geográficas atribuído a ele. Uma região geográfica pode estar nos seguintes níveis de granularidade

  • Mundo – qualquer região
  • Agrupamento Regional – por exemplo, África, Oriente Médio, Austrália/Pacífico etc.
  • País/região – por exemplo, Irlanda, Peru, RAE de Hong Kong etc.
  • Estado/Província – por exemplo, EUA-Califórnia, Austrália-Queensland, Canadá-Alberta etc. (observação: esse nível de granularidade conta com suporte apenas nos estados/províncias da Austrália, do Canadá e dos EUA).

Quando uma região ou um conjunto de regiões é atribuído a um ponto de extremidade, todas as solicitações dessas regiões são roteadas apenas para esse ponto de extremidade. O Gerenciador de Tráfego usa o endereço IP de origem da consulta DNS para determinar a região da qual o usuário está fazendo a consulta. Geralmente encontrado como o endereço IP do resolvedor DNS local que faz a consulta para o usuário.

Azure Traffic Manager 'Geographic' traffic-routing method

O Gerenciador de Tráfego lê o endereço IP de origem da consulta DNS e decide de qual região geográfica ela se origina. Ele então verifica se há um ponto de extremidade com essa região geográfica mapeada para ele. Essa pesquisa começa no nível mais baixo de granularidade (primeiro no Estado/Província em que tem suporte, depois no nível de País/Região) e percorre todo o caminho até o nível mais alto, que é Mundo. A primeira correspondência encontrada que usa essa passagem será escolhida como o ponto de extremidade para retorno na resposta da consulta. Quando uma pesquisa corresponder a um ponto de extremidade do tipo Aninhado, um ponto de extremidade nesse perfil filho será retornado, com base em seu método de roteamento. Os seguintes pontos se aplicam a esse comportamento:

  • Uma região geográfica poderá ser mapeada apenas para um ponto de extremidade em um perfil do Gerenciador de Tráfego quando o tipo de roteamento for Roteamento Geográfico. Essa restrição garante que o roteamento dos usuários seja determinístico e que os clientes possam habilitar cenários que exijam limites geográficos inequívocos.

  • Se a região do usuário estiver listada em dois mapeamentos geográficos de pontos de extremidade, o Gerenciador de Tráfego selecionará o ponto de extremidade com menor granularidade. O Gerenciador de Tráfego não considerará as solicitações de roteamento dessa região para o outro ponto de extremidade. Por exemplo, considere um perfil de tipo de Roteamento Geográfico com dois pontos de extremidade: Ponto de Extremidade 1 e Ponto de Extremidade 2. O Ponto de Extremidade 1 está configurado para receber tráfego da Irlanda e o Ponto de Extremidade 2 está configurado para receber tráfego da Europa. Se uma solicitação for originada da Irlanda, ela sempre será roteada para o Ponto de Extremidade 1.

  • Uma vez que uma região pode ser mapeada apenas para um ponto de extremidade, o Gerenciador de Tráfego retorna uma resposta se o ponto de extremidade está íntegro ou não.

    Importante

    É enfaticamente recomendado que os clientes que usem o método de roteamento geográfico o associem aos pontos de extremidade do tipo Aninhado com perfis filho contendo pelo menos dois pontos de extremidade cada.

  • Se for encontrada uma correspondência de ponto de extremidade e esse ponto de extremidade estiver no estado Parado o Gerenciador de Tráfego retornará uma resposta NODATA. Nesse caso, nenhuma outra pesquisa será feita acima na hierarquia da região geográfica. Esse comportamento também vale para tipos de ponto de extremidade aninhados quando o perfil filho está no estado Parado ou Desabilitado.

  • Se um ponto de extremidade exibir o status Desabilitado, ele não será incluído no processo de correspondência de região. Esse comportamento também vale para tipos de ponto de ponto de extremidade aninhados quando o ponto de extremidade está no estado Desabilitado.

  • Se uma consulta estiver vindo proveniente de uma região geográfica que não tenha mapeamento no perfil, o Gerenciador de Tráfego retornará uma resposta NODATA. É por isso que é altamente recomendável usar o roteamento geográfico com um ponto de extremidade. O ideal é o tipo aninhado com, pelo menos, dois pontos de extremidade dentro do perfil filho, com a região Mundo atribuída a ele. Essa configuração também garante que os endereços IP que não são mapeados para uma região sejam manipulados.

Como explicamos em Como funciona o Gerenciador de Tráfego, o Gerenciador de Tráfego não recebe consultas DNS diretamente de clientes. As consultas DNS são recebidas do serviço DNS recursivo que os clientes são configurados para usar. É por isso que o endereço IP usado para determinar a região não é o endereço IP do cliente, mas, em vez disso, o endereço IP do serviço DNS recursivo. Esse endereço IP é um bom proxy para o cliente.

Perguntas frequentes

Método de roteamento de tráfego de vários valores

O método de roteamento de tráfego de vários valores permite que você obtenha vários pontos de extremidade íntegros em uma única resposta de consulta DNS. Essa configuração permite que o chamador faça novas tentativas do lado do cliente com outros pontos de extremidade no caso de um ponto de extremidade retornado ficar sem dar resposta. Esse padrão pode aumentar a disponibilidade de um serviço e reduzir a latência associada a uma nova consulta DNS para obter um ponto de extremidade íntegro. O método de roteamento MultiValue funcionará apenas se todos os pontos de extremidade forem do tipo 'Externo' e especificados como endereços IPv4 ou IPv6. Quando uma consulta for recebida para este perfil, todos os pontos de extremidade íntegros serão retornados e estarão sujeitos a uma contagem de retorno máxima configurável.

Perguntas frequentes

Método de roteamento de tráfego de sub-rede

O método de roteamento de tráfego de Sub-rede permite o mapeamento de um conjunto de intervalos de endereços IP do usuário final para pontos de extremidade específicos em um perfil. Se o Gerenciador de Tráfego receber uma consulta DNS para esse perfil, ele inspecionará o endereço IP de origem dessa solicitação. Em seguida, ele determinará a qual ponto de extremidade ele está mapeado e retornará esse ponto de extremidade na resposta da consulta. Na maioria dos casos, o endereço IP de origem é o resolvedor de DNS usado pelo chamador.

O endereço IP a ser mapeado para um ponto de extremidade pode ser especificado como intervalos de CIDR (por exemplo, 1.2.3.0/24) ou como um intervalo de endereços (por exemplo, 1.2.3.4-5.6.7.8). Os intervalos de IP associados a um ponto de extremidade precisam ser exclusivos dentro desse perfil. O intervalo de endereços não pode ter uma sobreposição com o conjunto de endereços IP de um ponto de extremidade diferente no mesmo perfil. Se você definir um terminal sem intervalo de endereços, ele vai funcionar como um fallback e obter tráfego de qualquer sub-rede restante. Se nenhum ponto de extremidade de fallback for incluído, o Gerenciador de Tráfego enviará uma resposta NODATA para qualquer intervalo indefinido. É altamente recomendável definir um ponto de extremidade de fallback para garantir que todos os intervalos IP possíveis sejam especificados em seus pontos de extremidades.

O roteamento de sub-rede pode ser usado para fornecer uma experiência diferente aos usuários que se conectam de um espaço IP específico. Por exemplo, é possível fazer com que todas as solicitações de seu escritório corporativo sejam roteadas para um ponto de extremidade diferente. Esse método de roteamento é especialmente útil caso esteja tentando testar uma versão somente interna do seu aplicativo. Outro cenário é se você deseja fornecer uma experiência diferente aos usuários conectando-se de um ISP específico (por exemplo, bloquear usuários de um determinado ISP).

Perguntas frequentes

Próximas etapas

Aprenda a desenvolver aplicativos de alta disponibilidade usando o monitoramento de ponto de extremidade do Gerenciador de Tráfego