Duas conexões Site-to-Site VPN terminam num único gateway privado virtual e anunciam o mesmo prefixo de filial. A tabela de rotas da sub-rede tem uma entrada para esse prefixo, apontando para o gateway, e nenhum campo que nomeie um túnel. A preferência entre as conexões acontece, portanto, num local que a consola não rotula como encaminhamento. Saber qual camada detém a decisão é a diferença entre um standby que funciona e uma alteração que não faz nada.

Há duas camadas em jogo: a rota da VPC que diz qual gateway, e a escolha de túnel do próprio gateway. Confundi-las produz edições que parecem corretas na tabela de rotas e nunca movem um pacote.

Duas camadas que parecem uma

A rota de sub-rede responde a uma única pergunta: para este destino, qual anexo? O alvo é o gateway privado virtual, e a métrica compete apenas com outras rotas da mesma tabela. Nada nessa entrada distingue o túnel um do túnel dois, nem a conexão A da conexão B. Um prefixo mais específico é outra correspondência de destino, não uma escolha de caminho mais fina.

O gateway responde à pergunta seguinte: entre os túneis que mantém para esse prefixo, qual transporta tráfego agora. Essa decisão vem da saúde do túnel e dos atributos BGP recebidos do gateway do cliente, e nunca aparece na tabela de rotas da sub-rede.

O que o VGW realmente compara

A saúde vem primeiro. Um túnel em baixo, ou uma sessão BGP que não subiu, perde antes de qualquer atributo ser examinado. Por isso antepor um caminho numa conexão que já falha não muda nada.

Entre os caminhos elegíveis para o mesmo prefixo, o AWS prefere o AS_PATH mais curto. Quando dois caminhos têm o mesmo comprimento, compara o MED, sujeito à condição documentada sobre o primeiro AS do caminho. Leia a ordem publicada e não a versão do folclore, porque o folclore costuma omitir o passo de saúde e a exceção das rotas estáticas. Uma consequência: três anteposições na conexão de reserva tornam a primária estritamente mais curta, e é a forma habitual de expressar a preferência.

Antepor, e quando não faz nada

A anteposição ocorre nos anúncios de saída do gateway do cliente, não dentro do AWS. Você adiciona o seu próprio ASN duas ou três vezes ao prefixo que quer que o AWS evite, e o AWS passa a ver um caminho mais longo para essa conexão. A conexão primária mantém o anúncio sem anteposição. Se as duas conexões anunciam a partir do mesmo ASN com o mesmo número de anteposições, você não expressou nenhuma preferência.

Verifique o caminho recebido do lado do AWS após a alteração. Uma anteposição que nunca saiu do equipamento do cliente parece exatamente uma que o AWS ignorou.

As rotas estáticas ignoram todo o argumento

Se a conexão usa encaminhamento estático, não há AS_PATH para alongar. O AWS documenta as rotas VPN estáticas como prioritárias sobre as rotas aprendidas por BGP para o mesmo prefixo, pelo que um desenho misto não se comporta como um totalmente dinâmico. Decida primeiro o tipo de encaminhamento e depois escolha o mecanismo de preferência que existe para ele.

Com duas conexões estáticas a anunciar o mesmo prefixo, a alavanca útil é o prefixo: anuncie um intervalo mais específico na conexão que quer usar, e aceite que alterou qual destino corresponde e não qual caminho ganha.

Por que um gateway de trânsito é outra resposta

Um gateway de trânsito suporta multipath de custo igual entre anexos VPN, pelo que duas conexões podem partilhar tráfego em vez de uma ficar em reserva. Esse desenho tem outra superfície de falha: os fluxos espalham-se pelos túneis, e um túnel que cai desloca apenas parte da carga. Copiar uma receita de VGW para um gateway de trânsito, ou o contrário, cria expectativas que nenhuma das duas plataformas cumpre.

Escolha o modelo antes do mecanismo: ativo e reserva com uma preferência fixada, ou ativo e ativo com ECMP.

O que verificar depois de o configurar

Confirme quatro coisas por ordem. A tabela da sub-rede continua a resolver o prefixo para o gateway pretendido. O gateway lista os dois túneis como ativos. O AS_PATH recebido na conexão que quer evitar é mais longo do que o outro. E um fluxo real de uma instância nessa sub-rede atravessa o túnel esperado, observado nas duas pontas em vez de inferido de um estado verde.

Depois execute o teste de comutação aprovado e observe o caminho sobrevivente a transportar o serviço. Uma preferência que só existe num diff de configuração ainda não é uma preferência.

Artigos relacionados