Compartilhar via


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 que determinam como rotear o tráfego de rede para pontos de extremidade de serviço, ajudando você a otimizar o fluxo de tráfego e melhorar a disponibilidade do aplicativo. Cada perfil do Gerenciador de Tráfego aplica um método de roteamento a consultas DNS: Prioridade, Ponderada, Desempenho, Geográfica, Multivalor ou Sub-rede. O método de roteamento determina qual endpoint retornar 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 quiser usar um ponto de extremidade de serviço primário para todo o tráfego. Você pode fornecer vários pontos de extremidade de backup caso o ponto de extremidade primário ou um dos pontos de extremidade de backup não esteja disponível.
  • Ponderado: selecione roteamento Ponderado quando desejar distribuir o tráfego entre um conjunto de pontos de extremidade com base em seu peso. Defina o mesmo peso para distribuir uniformemente em todos os pontos de extremidade.
  • Desempenho: selecione o roteamento de desempenho quando você tiver pontos de extremidade em diferentes localizações geográficas e quiser que os usuários usem o ponto de extremidade mais próximo para a menor latência de rede.
  • Geográfico: Selecione o roteamento geográfico para direcionar os usuários para pontos de extremidade específicos (Azure, Externo ou Aninhado) com base na localização geográfica de suas consultas DNS. Esse método de roteamento ajuda você a cumprir cenários como mandatos de soberania de dados, localização de conteúdo e experiência do usuário e medição do tráfego de regiões diferentes.
  • Multivalor: Selecione Multivalor para os perfis do Gerenciador de Tráfego que podem ter apenas endereços IPv4/IPv6 como pontos de extremidade. Quando esse perfil recebe uma consulta, ele retorna todos os endereços de rede íntegros.
  • 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 o "Traffic Manager" recebe uma solicitação, ele retorna o endpoint mapeado para o endereço IP de origem dessa solicitação.

Todos os perfis do Gerenciador de Tráfego incluem 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, você pode configurar apenas 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 são aplicadas em um minuto sem 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 que atendem à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

As organizações geralmente desejam fornecer confiabilidade para seus serviços implantando um ou mais serviços de backup caso o serviço principal falhe. O método de roteamento de tráfego de prioridade permite que os clientes do Azure implementem facilmente esse padrão de failover.

Captura de tela do diagrama do método de roteamento de tráfego de prioridade do Gerenciador de Tráfego do Azure.

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 irá para o terceiro ponto de extremidade 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 explicitamente a prioridade do ponto de extremidade usando a propriedade de prioridade 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 você omite essa propriedade, o Gerenciador de Tráfego usa uma prioridade padrão com base na ordem dos endpoints.

Método de roteamento de tráfego ponderado

O método de roteamento de tráfego ponderado permite que você distribua o tráfego uniformemente ou use uma ponderação predefinida.

Captura de tela do diagrama de método de roteamento de tráfego ponderado do Gerenciador de Tráfego do Azure.

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 for omitido, o Gerenciador de Tráfego usará 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 do aplicativo: Aloque uma porcentagem do fluxo de tráfego para rotear para um novo endpoint e aumente gradualmente o tráfego progressivamente até 100%.
  • Migração de aplicativo para o Azure: Crie um perfil com tanto o Azure quanto pontos de extremidade externos. 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.

Os clientes e os servidores DNS recursivos que os clientes usam para resolver os nomes DNS armazenam respostas DNS em cache. Esse cache pode afetar as distribuições de tráfego ponderadas. 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 DNS recursiva comum (por exemplo, funcionários de uma empresa se conectando 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 de roteamento de tráfego alternativo poderá 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, você pode rotear o tráfego para o local mais próximo de você.

Captura de tela do diagrama do método de roteamento de tráfego de desempenho do Gerenciador de Tráfego do Azure.

O ponto de extremidade mais próximo não é necessariamente mais próximo pela distância geográfica. Em vez disso, o método de roteamento de tráfego de 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. Em seguida, o Gerenciador de Tráfego escolhe um ponto de extremidade disponível no datacenter do Azure que tem a menor latência para esse intervalo de endereços IP e 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 vêm do serviço DNS recursivo que os clientes usam. O Gerenciador de Tráfego usa o endereço IP do serviço DNS recursivo para determinar o ponto de extremidade mais próximo, não o endereço IP do cliente. Esse endereço IP serve como 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 o incluirá nas respostas de consulta 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 diferentes servidores DNS recursivos ao viajar, portanto, o cliente pode ser roteado para um ponto de extremidade diferente. As atualizações na Tabela de Latência da Internet afetam o roteamento. O método de roteamento de tráfego baseado em desempenho não garante que um cliente seja sempre roteado para o mesmo ponto de extremidade.
  • Quando a Tabela de Latência da Internet for alterada, você poderá observar que alguns clientes são 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 para que os usuários sejam direcionados para pontos de extremidade específicos (Azure, Externo ou Aninhado) com base na localização geográfica de suas consultas DNS. Esse método de roteamento ajuda você a cumprir os mandatos de soberania de dados, a localização do conteúdo e a experiência do usuário e a medir o 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
  • País/Região – por exemplo, Irlanda, Peru, Hong Kong SAR
  • Estado/província – por exemplo, EUA-Califórnia, Austrália-Queensland, Canada-Alberta (esse nível de granularidade é suportado apenas para estados/províncias na Austrália, Canadá e EUA)

Quando você atribui uma região ou um conjunto de regiões a um ponto de extremidade, o Gerenciador de Tráfego roteia todas as solicitações dessas regiões 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 um usuário consulta, que normalmente é o endereço IP do resolvedor DNS local que está fazendo a consulta para o usuário.

Captura de tela do diagrama do método de roteamento de tráfego geográfico do Gerenciador de Tráfego do Azure.

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. Em seguida, ele procura ver se um ponto de extremidade tem essa região geográfica mapeada para ele. Essa pesquisa começa no nível de granularidade mais baixo (estado/província em que há suporte, em seguida, nível país/região) e sobe para o nível mais alto, que é o Mundo. O Gerenciador de Tráfego escolhe a primeira correspondência encontrada usando essa busca como o ponto de extremidade a ser retornado na resposta da consulta. Quando uma consulta corresponde a um ponto de extremidade do tipo Aninhado, o Gerenciador de Tráfego retorna um ponto de extremidade dentro desse perfil filho, 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 de um usuário estiver listada no mapeamento geográfico de dois pontos de extremidade diferentes, o Gerenciador de Tráfego selecionará o ponto de extremidade com a granularidade mais baixa e não considerará o roteamento de solicitações 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 Extremidade1 e Ponto de Extremidade2. 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 originária da Irlanda, ela sempre será roteada para o endpoint1.

  • 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

    Recomendamos enfaticamente que os clientes que utilizam o método de roteamento geográfico o associem a pontos de extremidade do tipo Aninhado que possuam perfis filhos contendo pelo menos dois pontos de extremidade em cada um.

  • Se o Gerenciador de Tráfego encontrar 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, o Gerenciador de Tráfego não faz mais consultas na hierarquia de região geográfica. Esse comportamento também se aplica a tipos de pontos de extremidade aninhados quando o perfil filho está no estado Parado ou Desativado.

  • Se um endpoint exibir um status desabilitado, o Gerenciador de Tráfego não o incluirá no processo de correspondência de região. Esse comportamento também se aplica a tipos de pontos de extremidade aninhados quando o ponto de extremidade está no estado Desativado.

  • Se uma consulta vem de uma região geográfica que não tem nenhum mapeamento nesse perfil, o Gerenciador de Tráfego retorna uma resposta NODATA. Recomendamos enfaticamente que você utilize o roteamento geográfico com um ponto de extremidade, idealmente do tipo Aninhado, com pelo menos dois pontos de extremidade dentro do perfil filho, e com a região Mundo atribuída a ele. Essa configuração também garante que o Gerenciador de Tráfego manipule os endereços IP que não são mapeados para uma região.

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 vêm do serviço DNS recursivo que os clientes usam. O Gerenciador de Tráfego usa o endereço IP do serviço DNS recursivo para determinar a região, não o endereço IP do cliente. Esse endereço IP serve como um bom proxy para o cliente.

Perguntas frequentes

Método de roteamento de tráfego multivalor

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 no lado do cliente com outros pontos de extremidade caso um ponto de extremidade retornado deixe de responder. 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á somente se todos os pontos de extremidade forem do tipo Externo e você os especificar como endereços IPv4 ou IPv6. Quando este perfil recebe uma consulta, o Gerenciador de Tráfego retorna todos os endpoints saudáveis, sujeitos a uma contagem máxima de retorno 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 que você mapeie um conjunto de intervalos de endereços IP de usuários 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, determinará qual ponto de extremidade será mapeado para ele e retornará esse ponto de extremidade na resposta da consulta. Na maioria dos casos, o endereço IP de origem é o resolvedor DNS que o chamador usa.

Você pode especificar o endereço IP a ser mapeado para um ponto de extremidade como intervalos 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 se sobrepor ao conjunto de endereços IP de um endpoint diferente no mesmo perfil.

Se você definir um ponto de extremidade sem intervalo de endereços, ele funcionará como um recurso de fallback e receberá o tráfego de quaisquer sub-redes restantes. 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 que você defina um ponto de extremidade alternativo para garantir que todos os possíveis intervalos de IP sejam especificados nos seus pontos de extremidade.

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, você pode rotear todas as requisições do seu escritório corporativo para um endpoint diferente. Esse método de roteamento é especialmente útil se você estiver tentando testar uma versão somente interna do seu aplicativo. Outro cenário é se você quiser fornecer uma experiência diferente aos usuários que se conectam a partir 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