Compartilhar via


Roteamento de Anycast com o Servidor de Rota do Azure

O roteamento anycast permite que você anuncie o mesmo endereço IP de várias regiões do Azure, fornecendo melhor disponibilidade, desempenho e resiliência do aplicativo. Com o Servidor de Rota do Azure, você pode implementar o roteamento anycast para direcionar automaticamente o tráfego para a instância de aplicativo mais próxima ou ideal com base nas métricas de roteamento.

Este artigo explica como implementar o roteamento anycast com o Servidor de Rota do Azure para implantações de aplicativos de várias regiões em redes privadas.

O que é o roteamento anycast?

O roteamento anycast é uma metodologia de endereçamento e roteamento de rede em que o mesmo endereço IP é atribuído a vários servidores ou instâncias de aplicativo em locais diferentes. Quando um cliente envia uma solicitação para um endereço IP anycast, a infraestrutura de rede roteia automaticamente o tráfego para o servidor mais próximo ou ideal com base em protocolos e métricas de roteamento.

Benefícios do roteamento anycast

O roteamento anycast oferece várias vantagens para implantações de várias regiões:

  • Melhor desempenho: o tráfego é roteado automaticamente para a instância de aplicativo mais próxima, reduzindo a latência
  • Disponibilidade aprimorada: se uma região ficar indisponível, o tráfego fará failover automaticamente para outras regiões
  • Distribuição de carga: o tráfego pode ser distribuído em várias regiões com base nas métricas de roteamento
  • Configuração simplificada do cliente: os clientes se conectam a um único endereço IP, independentemente do local real do servidor
  • Suporte à rede privada: ao contrário das soluções baseadas em DNS, o anycast funciona com endereços IP privados e redes

Abordagens de anycast versus outras abordagens de multi-região

Embora o Azure ofereça vários serviços para implantações de várias regiões, como o Gerenciador de Tráfego do Azure, o Azure Front Door e o Azure Load Balancer entre regiões, esses serviços são projetados para tráfego público de Internet e endereçamento IP público.

O roteamento anycast com o Servidor de Rota do Azure foi projetado para:

  • Cenários de rede privada: aplicativos que exigem endereçamento IP privado
  • Conectividade híbrida: cenários envolvendo conexões ExpressRoute ou VPN com redes locais
  • Gerenciamento de tráfego baseado em roteamento: em que o cache de DNS ou o comportamento do cliente podem interferir em soluções baseadas em DNS

Implementação do Anycast com o Servidor de Rota do Azure

O Servidor de Rota do Azure habilita o roteamento anycast facilitando o anúncio de rotas idênticas de várias regiões do Azure para redes locais por meio de conexões ExpressRoute ou VPN.

Visão geral da arquitetura

A implementação anycast usa os seguintes componentes:

  • Várias regiões do Azure: cada região hospeda uma instância do aplicativo
  • Servidor de Rota do Azure: implantado em cada região para gerenciar anúncios de rota
  • NVAs (dispositivos virtuais de rede): anuncie o endereço IP anycast em cada região
  • Topologia hub-and-spoke: fornece conectividade entre a NVA e instâncias de aplicativo
  • ExpressRoute ou VPN: conecta regiões do Azure a redes locais

Topologia de implementação

O diagrama a seguir mostra uma implementação típica de anycast com duas regiões do Azure. Cada região contém:

  • Uma rede virtual de hub com um NVA e um Azure Route Server
  • Uma rede virtual spoke que hospeda a instância do aplicativo
  • Conectividade do ExpressRoute com redes locais

Diagrama mostrando a implementação de roteamento anycast com o Servidor de Rota do Azure em duas regiões, demonstrando como o mesmo endereço IP é anunciado de vários locais.

Como o roteamento anycast funciona

  1. Anúncio de rota: NVAs em cada região anunciam o mesmo prefixo de endereço IP (por exemplo, a.b.c.d/32) para o Servidor de Rota do Azure local
  2. Propagação de Rotas: o Servidor de Rota do Azure propaga essas rotas para redes locais por meio de conexões ExpressRoute ou VPN
  3. Seleção de rota: os protocolos de roteamento local selecionam o melhor caminho para alcançar o endereço IP anycast com base nas métricas de roteamento
  4. Distribuição de tráfego: o tráfego do cliente é roteado automaticamente para a região ideal com base no caminho selecionado

Seleção de rota e balanceamento de carga

A seleção de qual região recebe tráfego depende de atributos de roteamento:

  • Multi-Caminhos de Custo Igual (ECMP): quando as rotas de várias regiões têm métricas idênticas, o tráfego é distribuído uniformemente em todos os caminhos disponíveis
  • Preferências de caminho BGP: você pode influenciar as decisões de roteamento ajustando atributos BGP, como comprimento do caminho AS, preferência local ou valores MED
  • Preenchimento de caminho AS: aumenta artificialmente o comprimento do caminho AS para rotas específicas, tornando-as menos preferidas e criando um cenário de primário/backup

Importante

As NVAs devem implementar mecanismos de verificação de integridade para interromper as rotas de publicidade quando a instância do aplicativo local ficar indisponível. Isso impede que o tráfego seja roteado para instâncias com falha (blackholing).

Considerações sobre tráfego de retorno

A manipulação adequada do tráfego de retorno é crucial para implementações de anycast bem-sucedidas. O método depende de como a NVA processa o tráfego de entrada.

Métodos de processamento de tráfego

  • O modo proxy reverso fornece o fluxo de tráfego mais previsível quando a NVA opera como um proxy reverso. Nessa configuração, a NVA encerra a conexão original do cliente e estabelece uma nova conexão com a instância do aplicativo. O tráfego de retorno naturalmente flui de volta pela mesma NVA porque a NVA gerencia ambos os lados da conexão.

  • O modo NAT (Conversão de Endereços de Rede) requer considerações diferentes quando a NVA executa a Conversão de Endereços de Rede de Destino (DNAT). A NVA converte o endereço IP de destino do IP anycast para o endereço IP real do aplicativo. Se a NVA também executar NAT de origem (SNAT), os fluxos de tráfego retornarão pela mesma NVA. No entanto, se nenhum SNAT for executado, a configuração extra será necessária para garantir o roteamento de tráfego de retorno adequado.

Roteamento de retorno do tráfego

Quando o aplicativo recebe tráfego com o endereço IP do cliente original (sem SNAT), você deve garantir o retorno dos fluxos de tráfego por meio da NVA correta. UDRs (rotas definidas pelo usuário) podem ser configuradas na sub-rede do aplicativo para direcionar o tráfego de volta para a NVA. Essas UDRs devem abranger os intervalos de endereços IP locais e funcionar bem para implantações de NVA simples.

Para implantações com várias instâncias de NVA por região, considerações de tráfego assimétrico tornam-se importantes. As NVAs sem estado podem lidar com o tráfego assimétrico em que os fluxos de entrada e saída passam por instâncias diferentes. No entanto, NVAs com estado exigem fluxo de tráfego simétrico para manter o estado da conexão. As soluções para NVAs com estado incluem o uso de mecanismos de afinidade de conexão, a implementação do compartilhamento de sessão entre instâncias de NVA ou a configuração de balanceadores de carga com persistência de sessão.

Práticas recomendadas para o fluxo de tráfego

O monitoramento de integridade deve implementar verificações de integridade robustas para detectar falhas de aplicações e NVA rapidamente. O tempo de failover requer a configuração de temporizadores BGP apropriados para equilibrar a rapidez do failover e a estabilidade. A engenharia de tráfego pode usar comunidades BGP ou outros atributos para implementar políticas de tráfego. O monitoramento e os alertas abrangentes devem acompanhar anúncios de rota e padrões de tráfego entre regiões para garantir o desempenho ideal e a detecção rápida de problemas.

Considerações sobre implementação

Pré-requisitos e requisitos

Antes de implementar o roteamento anycast com o Servidor de Rota do Azure, você deve planejar cuidadosamente sua alocação de endereço IP para garantir que o endereço IP anycast não entre em conflito com redes locais ou do Azure existentes. Uma compreensão sólida das políticas de roteamento bgp e seu efeito na distribuição de tráfego é essencial para a implantação bem-sucedida. Sua arquitetura de aplicativo deve ser projetada para lidar com o tráfego de várias regiões com eficiência e você precisa implementar o monitoramento de integridade abrangente para aplicativos e dispositivos virtuais de rede para garantir uma operação confiável.

Melhores práticas de implantação

Ao implantar o roteamento anycast, recomendamos começar com uma implantação simples de duas regiões antes de expandir para outras regiões. O teste regular de cenários de failover ajuda a garantir que o sistema atenda aos seus requisitos de disponibilidade e se comporte conforme o esperado durante interrupções. Monitorar métricas de desempenho, como latência e taxa de transferência de diferentes locais, fornece insights valiosos sobre a eficácia da configuração de roteamento. Manter uma documentação clara das políticas do BGP e seus efeitos pretendidos é crucial para o gerenciamento contínuo e a solução de problemas.

Limitações e considerações

Vários fatores devem ser considerados ao implementar o roteamento anycast com o Servidor de Rota do Azure. Os tempos de convergência BGP podem introduzir atrasos durante eventos de failover, potencialmente afetando os objetivos de tempo de recuperação. A complexidade adicional do roteamento de camada de rede em comparação com soluções baseadas em DNS requer mais conhecimento e planejamento cuidadoso. Solucionar problemas de roteamento de camada de rede pode ser mais desafiador do que diagnosticar problemas de camada de aplicativo, exigindo conhecimento especializado e ferramentas. Além disso, os custos de infraestrutura aumentam devido à necessidade de mais appliances virtuais de rede e instâncias de Servidores de Roteamento em várias regiões.

Próximas etapas