Partilhar via


Roteamento Anycast com o Azure Route Server

O roteamento Anycast permite que você anuncie o mesmo endereço IP de várias regiões do Azure, fornecendo disponibilidade, desempenho e resiliência aprimorados do aplicativo. Com o Azure Route Server, 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 em métricas de roteamento.

Este artigo explica como implementar o roteamento anycast com o Azure Route Server 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 aplicativos 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 mais 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 em várias regiões:

  • Melhor desempenho: o tráfego é roteado automaticamente para a instância do aplicativo mais próxima, reduzindo a latência
  • Disponibilidade aprimorada: se uma região ficar indisponível, o tráfego será automaticamente transferido para outras regiões
  • Distribuição de carga: o tráfego pode ser distribuído em várias regiões com base em 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 de rede privada: Ao contrário das soluções baseadas em DNS, o anycast funciona com endereços IP privados e redes

Anycast vs. outras abordagens multirregionais

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

O roteamento Anycast com o Azure Route Server foi projetado para:

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

Implementação do Anycast com o Azure Route Server

O Azure Route Server 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 seu aplicativo
  • Azure Route Server: implantado em cada região para gerenciar anúncios de rota
  • Dispositivos virtuais de rede (NVAs): anuncie o endereço IP anycast em cada região
  • Topologia Hub-and-spoke: fornece conectividade entre o NVA e as instâncias do aplicativo
  • ExpressRoute ou VPN: conecta regiões do Azure a redes locais

Topologia de implementação

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

  • Uma rede virtual de hub com um NVA e o 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 Azure Route Server em duas regiões, demonstrando como o mesmo endereço IP é anunciado em vários locais.

Como funciona o roteamento anycast

  1. Anúncio de rota: As NVAs em cada região anunciam o mesmo prefixo de endereço IP (por exemplo, a.b.c.d/32) para o seu Servidor de Roteamento Local do Azure
  2. Propagação de rota: o Servidor de Rotas 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 locais 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 é automaticamente roteado para a região ideal com base no caminho selecionado

Seleção de rotas e balanceamento de carga

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

  • ECMP (Equal-cost multi-path): quando 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
  • Caminho AS pendente: alongue artificialmente o caminho AS para rotas específicas para torná-las menos preferidas, criando um cenário principal/de backup

Importante

Os 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 redirecionado para instâncias com falha (fenômeno conhecido como blackholing).

Considerações sobre tráfego de retorno

O tratamento adequado do tráfego de retorno é crucial para implementações bem-sucedidas de anycast. O método depende de como o NVA processa o tráfego de entrada.

Métodos de processamento de tráfego

  • O modo de proxy reverso fornece o fluxo de tráfego mais previsível quando o NVA opera como um proxy reverso. Nessa configuração, o 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 flui naturalmente de volta através do mesmo NVA porque o NVA gerencia ambos os lados da conexão.

  • O modo NAT (Network Address Translation) requer considerações diferentes quando o NVA executa a tradução de endereços de rede de destino (DNAT). O NVA traduz o endereço IP de destino do IP anycast para o endereço IP real do aplicativo. Se o NVA também realizar NAT de origem (SNAT), o tráfego de retorno passará novamente pelo mesmo 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 tráfego de retorno

Quando o aplicativo recebe tráfego com o endereço IP do cliente original (sem SNAT), você deve garantir fluxos de tráfego de retorno através do NVA correto. Rotas definidas pelo usuário (UDRs) podem ser configuradas na sub-rede do aplicativo para direcionar o tráfego de volta para o NVA. Essas UDRs devem cobrir os intervalos de endereços IP locais e funcionar bem para implantações NVA únicas.

Para implantações com várias instâncias NVA por região, as considerações de tráfego assimétrico tornam-se importantes. Os NVAs sem estado podem lidar com tráfego assimétrico em que os fluxos de entrada e saída passam por instâncias diferentes. No entanto, NVAs com monitoração de estado exigem fluxo de tráfego simétrico para manter o estado da conexão. As soluções para NVAs com estado incluem a utilização de mecanismos de afinidade de conexão, a implementação de compartilhamento de sessão entre instâncias 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 detetar falhas de aplicações e NVA rapidamente. O tempo de failover requer a configuração de temporizadores BGP apropriados para equilibrar o failover rápido 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 o alerta abrangentes devem rastrear anúncios de rotas e padrões de tráfego entre regiões para garantir um desempenho ideal e a rápida deteção de problemas.

Considerações de implementação

Pré-requisitos e requisitos

Antes de implementar o roteamento anycast com o Azure Route Server, 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 as redes existentes do Azure ou locais. Uma sólida compreensão das políticas de roteamento BGP e seu efeito na distribuição de tráfego é essencial para uma implantação bem-sucedida. Sua arquitetura de aplicativo deve ser projetada para lidar com o tráfego de várias regiões de forma eficaz, e você precisa implementar um monitoramento de integridade abrangente para aplicativos e dispositivos virtuais de rede para garantir uma operação confiável.

Melhores práticas de implementaçã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. O monitoramento de métricas de desempenho, como latência e taxa de transferência de diferentes locais locais, fornece informações valiosas sobre a eficácia de sua configuração de roteamento. Manter uma documentação clara de suas políticas de 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 Azure Route Server. Os tempos de convergência BGP podem introduzir atrasos durante eventos de failover, afetando potencialmente 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 experiência e planejamento cuidadoso. A solução de problemas de roteamento da camada de rede pode ser mais desafiadora do que diagnosticar problemas da camada de aplicativo, exigindo conhecimento e ferramentas especializadas. Além disso, os custos de infraestrutura aumentam devido à necessidade de mais instâncias de dispositivo virtual de rede e Route Server em várias regiões.

Próximos passos