Tenho VPC A com CIDR 10.A.0.0/16
e VPC B com CIDR 10.B.0.0/16
. Eu tenho VPC A e B espreitando e atualizando as tabelas de rotas e de um servidor 10.B.0.0/16
posso executar ping em um servidor 10.A.0.0/16
e vice-versa.
As aplicações na VPC A também usam alguns IPs do 192.168.0.0/16
intervalo. Não é algo que eu possa alterar facilmente, mas preciso ser capaz de acessar 192.168.0.0/16
a VPC A a partir da VPC B. A VPC A é usada para um cluster Kubernetes mais antigo que usa project-calico. Os nós de trabalho (instâncias ec2) obtêm IPs no bloco CIDR da VPC, 10.A.0.0/16
mas a rede calico é definida com a configuração CIDR do cluster 192.168.0.0/16
e os IPs de pod nesses nós de trabalho são atribuídos nesse intervalo. O cluster mais recente é um cluster EKS e os IPs do pod são atribuídos a partir do intervalo CIDR da VPC, 10.B.0.0/16
. Durante o período de transição, os VPCs dos dois clusters foram emparelhados. Há um aplicativo Elixir distribuído em execução e os pods formam um cluster Erlang alcançando-se entre si por meio do endereço IP do pod. Com meu cluster de peering atual, os pods A podem alcançar os pods A e B, mas os pods do cluster B só podem alcançar B (devido aos 192.168.0.0/16
IPs não serem acessíveis).
Tentei adicionar 192.168.0.0/16
à tabela de rotas usada para VPC B e definir o destino da conexão com peering. Isso não funciona, acredito porque 192.168.0.0/16
não está no bloco CIDR da VPC A.
Não consigo adicionar 192.168.0.0/16
um CIDR secundário na VPC A porque ele é restrito. VerRestrições de associação de bloco CIDRepergunta relacionada. Eu entendo que é restrito, mas por que é restrito? RFC1918 não parece dizer nada contra o uso de mais de um espaço de endereço privado.
Também tentei criar um Transit Gateway, anexando ambos os VPCs e adicionando uma rota estática à tabela de rotas do Transit Gateway para 192.168.0.0/16
atingir o anexo do VPC A. Mas ainda não é possível atingir esse intervalo na VPC B.
Tabela de rotas
A tabela de rotas para a sub-rede privada da VPC A
10.A.0.0/16 local
10.B.0.0/16 pcx-[VPC A - VPC B peering connection]
0.0.0.0/0 nat-[gateway for cluster A]
Tabela de rotas para a sub-rede privada da VPC B
10.B.0.0/16 local
10.A.0.0/16 pcx-[VPC A - VPC B peering connection]
192.168.0.0/16 pcx-[VPC A - VPC B peering connection]
0.0.0.0/0 nat-[gateway for cluster B]
É claro que isso não funciona porque 192.168.0.0/16
não está no bloco CIDR da VPC A e nem pode ser adicionado.
Se eu colocar um shell em funcionamento, um Node AI poderá executar ping em um 192.168...
pod e eu posso executar ping em um 10.B.0.0
pod. Mas a partir de um shell no Node BI só é possível executar ping em um 10.B.0.0
pod.
Existe outra maneira de fazer peering 10.0.0.0/8
com 192.168.0.0/16
blocos CIDR na mesma VPC?