У меня есть VPC A с CIDR 10.А.0.0/16
и VPC B с CIDR 10.Б.0.0/16
. Я подключил VPC A и B и обновил таблицы маршрутов, а также с сервера в 10.Б.0.0/16
может пинговать сервер в 10.А.0.0/16
наоборот.
Приложения в VPC A также используют некоторые IP-адреса в 192.168.0.0/16
спектр. Не то, что я могу легко изменить, но мне нужно иметь возможность достичь 192.168.0.0/16
на VPC A от VPC B. VPC A используется для более старого кластера kubernetes, в котором используется project-calico. Рабочие узлы (экземпляры ec2) получают IP-адреса в блоке CIDR VPC. 10.А.0.0/16
но сеть calico настроена с настройкой кластера CIDR 192.168.0.0/16
и IP-адреса модулей на этих рабочих узлах назначаются в этом диапазоне. Более новый кластер представляет собой кластер EKS, и IP-адреса модулей назначаются из диапазона CIDR VPC. 10.Б.0.0/16
. В течение переходного периода я соединил VPC двух кластеров. Существует распределенное приложение Elixir, и модули формируют кластер Erlang, связываясь друг с другом через IP-адреса своих модулей. С моим текущим пиринговым кластером модули A могут связаться с модулями A и B, но модули кластера B могут связаться только с B (из-за 192.168.0.0/16
IP-адреса недоступны.
я пытался добавить 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 местный
10.B.0.0/16 pcx-[пиринговое соединение VPC A — VPC B]
0.0.0.0/0 nat-[шлюз для кластера A]
Таблица маршрутизации частной подсети для VPC B
10.B.0.0/16 местный
10.A.0.0/16 pcx-[пиринговое соединение VPC A — VPC B]
192.168.0.0/16 pcx-[пиринговое соединение VPC A — VPC B]
0.0.0.0/0 nat-[шлюз для кластера B]
Это не работает, конечно, потому что 192.168.0.0/16
отсутствует в блоке CIDR VPC A и не может быть добавлен.
Если я запускаю оболочку на узле A, я могу пропинговать 192.168...
pod, и я могу пропинговать 10.B.0.0
стручок Но из оболочки на узле B я могу только пинговать 10.B.0.0
стручок
Есть ли другой способ сравняться с обоими 10.0.0.0/8
и 192.168.0.0/16
Блоки CIDR в том же VPC?