Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
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
Como funciona o roteamento anycast
-
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 - Propagação de rota: o Servidor de Rotas do Azure propaga essas rotas para redes locais por meio de conexões ExpressRoute ou VPN
- 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
- 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.