AWS VPC CIDR в 10.0.0.0/8 и 192.168.0.0/16

AWS VPC CIDR в 10.0.0.0/8 и 192.168.0.0/16

У меня есть VPC A с CIDR 10.A.0.0/16и VPC B с CIDR 10.B.0.0/16. У меня есть VPC A и B, которые взаимодействуют и обновляют таблицы маршрутизации, и с сервера 10.B.0.0/16можно отправлять пинги на сервер 10.A.0.0/16и наоборот.

Приложения на VPC A также используют некоторые IP-адреса в этом 192.168.0.0/16диапазоне. Это не то, что я могу легко изменить, но мне нужно иметь возможность достичь 192.168.0.0/16VPC A из VPC B. VPC A используется для старого кластера Kubernetes, который использует project-calico. Рабочие узлы (экземпляры ec2) получают IP-адреса в блоке VPC CIDR, 10.A.0.0/16но сетевое взаимодействие Calico настроено с настройкой кластера CIDR 192.168.0.0/16, и IP-адреса подов на этих рабочих узлах назначаются в этом диапазоне. Новый кластер — это кластер EKS, и IP-адреса подов назначаются из диапазона CIDR VPC, 10.B.0.0/16. В течение переходного периода я объединил VPC двух кластеров. Работает распределенное приложение Elixir, и поды образуют кластер Erlang, обращаясь друг к другу через IP-адрес своего пода. С моим текущим пиринговым кластером поды A могут достигать как подов A, так и подов B, но поды кластера B могут достигать только B (из-за того, что IP-адреса 192.168.0.0/16недоступны).

Я попробовал добавить 192.168.0.0/16в таблицу маршрутизации, используемую для VPC B, и задать цель пирингового соединения. Это не работает, я полагаю, потому что 192.168.0.0/16не находится в блоке CIDR для VPC A.

Я не могу добавить 192.168.0.0/16в качестве вторичного CIDR в VPC A, поскольку это ограничено. См.Ограничения ассоциации блоков CIDRисвязанный вопрос. Я понимаю, что это ограничено, но почему это ограничено? RFC1918, похоже, ничего не говорит против использования более одного частного адресного пространства.

Я также попытался создать транзитный шлюз, прикрепив оба VPC и добавив статический маршрут в таблицу маршрутизации транзитного шлюза, который 192.168.0.0/16нацелен на присоединение VPC A. Но все еще не могу достичь этого диапазона из VPC B.

Таблица маршрутов

Таблица маршрутизации для частной подсети для 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]

Таблица маршрутизации для частной подсети для 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]

Конечно, это не работает, поскольку 192.168.0.0/16его нет в блоке CIDR VPC A, и его нельзя добавить.

Если я запускаю оболочку на Node AI, то могу пинговать 192.168...pod, и я могу пинговать 10.B.0.0pod. Но из оболочки на Node BI может пинговать только 10.B.0.0pod.

Есть ли другой способ подключиться к обоим блокам CIDR в одном 10.0.0.0/8и 192.168.0.0/16том же VPC?

Связанный контент