Métodos de encaminhamento do Gestor de Tráfego
O Gestor de Tráfego do Azure suporta seis métodos de encaminhamento de tráfego para determinar como encaminhar o tráfego de rede para os vários pontos finais de serviço. Para qualquer perfil, o Gestor de Tráfego aplica o método de encaminhamento de tráfego que lhe está associado a cada consulta DNS que recebe. O método de encaminhamento de tráfego determina qual o ponto final devolvido na resposta DNS.
Os seguintes métodos de roteamento de tráfego estão disponíveis no Gerenciador de Tráfego:
- Prioridade: selecione Roteamento prioritário quando quiser ter um ponto de extremidade de serviço principal para todo o tráfego. Você pode fornecer vários pontos de extremidade de backup caso o principal ou um dos pontos de extremidade de backup não esteja disponível.
- Ponderado: selecione Roteamento ponderado quando quiser distribuir o tráfego por 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 Roteamento de desempenho quando tiver pontos de extremidade em locais geográficos diferentes e quiser que os usuários finais usem o ponto de extremidade "mais próximo" para a menor latência de rede.
- Geográfico: selecione Roteamento geográfico para direcionar os usuários para pontos de extremidade específicos (Azure, Externo ou Aninhado) com base na origem geográfica de suas consultas DNS. Com esse método de roteamento, ele permite que você esteja em conformidade com cenários como mandatos de soberania de dados, localização de conteúdo e experiência do usuário e medição de tráfego de diferentes regiões.
- Multivalor: Selecione MultiValor para perfis do Gerenciador de Tráfego que só podem ter endereços IPv4/IPv6 como pontos de extremidade. Quando uma consulta é recebida para esse perfil, todos os pontos de extremidade íntegros são retornados.
- Sub-rede: selecione Método de roteamento de tráfego de 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 é recebida, o ponto de extremidade retornado será aquele mapeado para o endereço IP de origem dessa solicitação.
Todos os perfis do Traffic Manager têm monitoramento de integridade e failover automático de endpoints. Para obter mais informações, consulte Monitoramento de ponto final do Gerenciador de tráfego. Dentro de um perfil do Gerenciador de Tráfego, você só pode configurar um método de roteamento de tráfego de cada vez. Você pode selecionar um método de roteamento de tráfego diferente para seu perfil a qualquer momento. Suas alterações serão aplicadas dentro de um minuto sem qualquer tempo de inatividade. Você pode combinar métodos de roteamento de tráfego usando perfis aninhados do Gerenciador de Tráfego. O agrupamento 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 prioritário
Muitas vezes, uma organização quer fornecer confiabilidade para seus serviços. Para fazer isso, eles implantam um ou mais serviços de backup caso o principal fique inativo. O método de roteamento de tráfego 'Prioridade' permite que os clientes do Azure implementem facilmente esse padrão de failover.
O perfil do Gestor de Tráfego contém uma lista prioritária de pontos finais de serviço. Por predefinição, o Gestor de Tráfego envia todo o tráfego para o ponto final primário (com a prioridade mais alta). Se o ponto final primário não estiver disponível, o Gestor de Tráfego encaminha o tráfego para o segundo ponto final. Em uma situação em que os pontos de extremidade primários e secundários não estão disponíveis, o tráfego vai para o terceiro e assim por diante. A disponibilidade do ponto final baseia-se no estado configurado (ativado ou desativado) e na monitorização contínua do ponto final.
Configurando pontos de extremidade
Com o Azure Resource Manager, você configura a prioridade do ponto de extremidade explicitamente usando a propriedade 'priority' para cada ponto de extremidade. Esta propriedade é um valor entre 1 e 1000. Um valor mais baixo representa uma prioridade mais elevada. Os pontos de extremidade não podem compartilhar valores de prioridade. A configuração da propriedade é opcional. Quando omitida, uma prioridade padrão com base na ordem do ponto final é usada.
Método ponderado de encaminhamento de tráfego
O método de roteamento de tráfego 'Ponderado' permite distribuir o tráfego uniformemente ou usar uma ponderação predefinida.
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. O peso é um número inteiro entre 1 e 1000. Este parâmetro é opcional. Se omitido, o Gestor de Tráfego utiliza um peso predefinido de «1». Quanto maior o peso, maior a prioridade.
Para cada consulta DNS recebida, o Gestor de Tráfego seleciona aleatoriamente um ponto final disponível. A probabilidade de um ponto final ser selecionado baseia-se nos pesos atribuídos a todos os pontos finais disponíveis. Usar o mesmo peso em todos os pontos finais resulta em uma distribuição de tráfego uniforme. O uso de pesos maiores ou menores em pontos de extremidade específicos faz com que esses pontos de extremidade sejam retornados com mais ou menos frequência nas respostas DNS.
O método ponderado permite alguns cenários úteis:
- Atualização gradual do aplicativo: dada uma porcentagem de tráfego para rotear para um novo ponto de extremidade e aumentar gradualmente o tráfego ao longo do tempo até 100%.
- Migração de aplicativos para o Azure: crie um perfil com o Azure e pontos de extremidade externos. Ajuste o peso dos pontos de extremidade para preferir os novos pontos de extremidade.
- Explosão na nuvem para obter mais 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ê pode adicionar ou habilitar mais pontos de extremidade e especificar qual parte do tráfego vai para cada ponto de extremidade.
Você pode 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. Eles também são armazenados em cache pelos servidores DNS recursivos que os clientes usam para resolver nomes DNS. Esse cache pode ter um efeito nas distribuições de tráfego ponderado. Quando o número de clientes e servidores DNS recursivos é grande, a distribuição de tráfego funciona conforme o esperado. No entanto, quando o número de clientes ou servidores DNS recursivos é pequeno, o cache pode distorcer significativamente a distribuição de tráfego.
Os casos de uso comuns incluem:
- Ambientes de desenvolvimento e teste
- Comunicações entre aplicativos
- Aplicativos destinados a uma base de usuários restrita que compartilham uma infraestrutura DNS recursiva comum (por exemplo, funcionários da empresa se conectando por meio de um proxy)
Esses efeitos de cache de DNS são comuns a todos os sistemas de roteamento de tráfego baseados em DNS, não apenas 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 de desempenho
A implantação de endpoints em dois ou mais locais em todo o mundo pode melhorar a capacidade de resposta de seus aplicativos. Com o método de roteamento de tráfego 'Desempenho', você pode rotear o tráfego para o local que está 'mais próximo' de você.
O ponto final "mais próximo" não é necessariamente mais próximo, medido pela distância geográfica. Em vez disso, o método de roteamento de tráfego 'Desempenho' determina o ponto de extremidade mais próximo medindo a latência da rede. O Gestor de Tráfego mantém uma Tabela de Latência da Internet para controlar o tempo de ida e volta entre intervalos de endereços IP e cada datacenter do Azure.
O Gestor de Tráfego procura o endereço IP de origem do pedido 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. Em seguida, o Gerenciador de Tráfego retorna esse ponto de extremidade na resposta DNS.
Conforme explicado em Como funciona o Gerenciador de Tráfego, o Gerenciador de Tráfego não recebe consultas DNS diretamente dos clientes. Em vez disso, as consultas DNS vêm do serviço DNS recursivo que os clientes estã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. Este endereço IP é um bom proxy para o cliente.
O Gestor de Tráfego atualiza regularmente a Tabela de Latência da Internet para ter em conta as alterações na Internet global e nas novas regiões do Azure. No entanto, o desempenho do aplicativo varia com base em variações de carga em tempo real na Internet. O roteamento de tráfego de desempenho não monitora a carga em um determinado ponto de extremidade de serviço. Se um ponto de extremidade ficar indisponível, o Gerenciador de Tráfego não o incluirá nas respostas de consulta DNS.
Pontos a ter em conta:
- Se o seu perfil contiver vários pontos de extremidade na mesma região do Azure, o Gerenciador de Tráfego distribuirá o tráfego uniformemente pelos pontos de extremidade disponíveis nessa região. Se preferir uma distribuição de tráfego diferente dentro de uma região, você pode usar perfis aninhados do Gerenciador de Tráfego.
- Se todos os pontos de extremidade habilitados na região do Azure mais próxima 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 você quiser definir uma sequência de failover preferencial, use perfis aninhados do Gerenciador de Tráfego.
- Ao usar o método de roteamento de tráfego de desempenho com pontos de extremidade externos ou pontos de extremidade aninhados, você precisa especificar o local desses pontos de extremidade. Escolha a região do Azure mais próxima da sua implantação. Esses locais são os valores suportados pela Tabela de Latência da Internet.
- O algoritmo que escolhe o ponto final é determinístico. Consultas DNS repetidas do mesmo cliente são direcionadas para o mesmo ponto de extremidade. Normalmente, os clientes usam diferentes servidores DNS recursivos quando viajam. O cliente pode ser roteado para um ponto de extremidade diferente. O roteamento também pode ser afetado por atualizações da Tabela de Latência da Internet. É por isso que o método de roteamento de tráfego de desempenho não garante que um cliente seja sempre roteado para o mesmo ponto de extremidade.
- Quando a tabela de latência da Internet é alterada, você pode notar 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 de 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. A correspondência é baseada na localização geográfica da qual a consulta DNS se origina. Com esse método de roteamento, ele permite que você esteja em conformidade com os mandatos de soberania de dados, localização de conteúdo e experiência do usuário e medição de 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ídas a ele. Uma região geográfica pode estar nos seguintes níveis de granularidade
- Mundo – qualquer região
- Agrupamento Regional – por exemplo, África, Médio Oriente, 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. (nota: este nível de granularidade é suportado apenas para estados/províncias na Austrália, Canadá e 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 de onde um usuário está consultando. Comumente encontrado como o endereço IP do resolvedor de DNS local que faz a consulta para o usuário.
O Gestor de Tráfego lê o endereço IP de origem da consulta DNS e decide de que região geográfica é originária. Em seguida, ele procura ver se há um ponto de extremidade que tenha essa região geográfica mapeada para ele. Esta pesquisa começa no nível de granularidade mais baixo (primeiro no Estado/Província onde é suportada, depois no nível de País/Região) e vai até ao nível mais alto, que é Mundial. A primeira correspondência encontrada usando essa travessia é escolhida como o ponto de extremidade a ser retornado na resposta da consulta. Quando uma consulta corresponde a um ponto de extremidade de tipo aninhado, um ponto de extremidade dentro desse perfil filho é retornado, com base em seu método de roteamento. Os seguintes pontos são aplicáveis a esse comportamento:
Uma região geográfica pode ser mapeada apenas para um ponto de extremidade em um perfil do Gerenciador de Tráfego quando o tipo de roteamento é Roteamento Geográfico. Essa restrição garante que o roteamento de 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 menor granularidade. O Gerenciador de Tráfego não considerará o roteamento de solicitações dessa região para o outro ponto de extremidade. Por exemplo, considere um perfil do tipo Roteamento Geográfico com dois pontos de extremidade - Endpoint1 e Endpoint2. O Endpoint1 está configurado para receber tráfego da Irlanda e o Endpoint2 está configurado para receber tráfego da Europa. Se uma solicitação for originada da Irlanda, ela será sempre roteada para o Endpoint1.
Como uma região pode ser mapeada apenas para um ponto de extremidade, o Gerenciador de Tráfego retorna uma resposta independentemente de o ponto de extremidade estar íntegro ou não.
Importante
É altamente recomendável que os clientes que usam o método de roteamento geográfico o associem aos pontos de extremidade do tipo Aninhado que tenham perfis filho contendo pelo menos dois pontos de extremidade em cada um.
Se uma correspondência de ponto de extremidade for encontrada e esse ponto de extremidade estiver no estado Parado, o Gerenciador de Tráfego retornará uma resposta NODATA. Neste caso, nenhuma pesquisa adicional é feita mais acima na hierarquia da região geográfica. Esse comportamento também é aplicável para tipos de ponto de extremidade aninhados quando o perfil filho está no estado Interrompido ou Desabilitado .
Se um ponto de extremidade exibir um status Desabilitado , ele não será incluído no processo de correspondência de região. Esse comportamento também é aplicável para tipos de ponto de extremidade aninhados quando o ponto de extremidade está no estado Desabilitado .
Se uma consulta for proveniente de uma região geográfica que não tenha mapeamento nesse perfil, o Gerenciador de Tráfego retornará uma resposta NODATA. É por isso que recomendamos que você use o roteamento geográfico com um ponto de extremidade. Idealmente do 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 todos os endereços IP que não são mapeados para uma região sejam manipulados.
Conforme explicado em Como funciona o Gerenciador de Tráfego, o Gerenciador de Tráfego não recebe consultas DNS diretamente dos clientes. As consultas DNS vêm do serviço DNS recursivo que os clientes estã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 sim o endereço IP do serviço DNS recursivo. Este endereço IP é um bom proxy para o cliente.
FAQs
Quais são alguns casos de uso em que o roteamento geográfico é útil?
Quais são as regiões suportadas pelo Traffic Manager para roteamento geográfico?
Como o gerenciador de tráfego determina de onde um usuário está consultando?
Há alguma restrição na versão da API que suporta esse tipo de roteamento?
Método de roteamento de tráfego de vários valores
O método de roteamento de tráfego de vários valores permite obter 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, caso um ponto de extremidade retornado não responda. Este 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 final em bom estado de funcionamento. O método de roteamento de vários valores funciona somente se todos os pontos de extremidade do tipo 'Externo' forem especificados como endereços IPv4 ou IPv6. Quando uma consulta é recebida para esse perfil, todos os pontos de extremidade íntegros são retornados e estão sujeitos a uma contagem máxima de retorno configurável.
FAQs
Quais são alguns casos de uso em que o roteamento MultiValue é útil?
Quantos pontos de extremidade são retornados quando o roteamento MultiValue é usado?
Obterei o mesmo conjunto de pontos de extremidade quando o roteamento MultiValue for usado?
Método de roteamento de tráfego de sub-rede
O método de roteamento de tráfego de sub-rede permite mapear 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á para 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 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 ponto de extremidade sem intervalo de endereços, ele funcionará como um fallback e retirará 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 quaisquer intervalos indefinidos. É altamente recomendável que você defina um ponto de extremidade de fallback para garantir que todos os intervalos de IP possíveis sejam especificados em seus endpoints.
O roteamento de sub-rede pode ser usado para oferecer uma experiência diferente para os usuários que se conectam a partir de um espaço IP específico. Por exemplo, você pode fazer com que todas as solicitações do seu escritório corporativo sejam encaminhadas para um ponto de extremidade diferente. Esse método de roteamento é especialmente útil se você estiver tentando testar uma versão interna do seu aplicativo. Outro cenário possível seria se quisesse fornecer uma experiência diferente aos utilizadores que estabelecem ligação a um ISP específico (por exemplo, bloquear utilizadores de um determinado ISP).
FAQs
Quais são alguns casos de uso em que o roteamento de sub-rede é útil?
Como é que o Traffic Manager sabe o endereço IP do utilizador final?
Como posso especificar endereços IP ao usar o roteamento de sub-rede?
Como posso especificar um ponto de extremidade de fallback ao usar o roteamento de sub-rede?
Próximos passos
Saiba como desenvolver aplicativos de alta disponibilidade usando o monitoramento de pontos finais do Gerenciador de Tráfego