Как получить общедоступный диапазон IP CIDR AWS для VPC
У меня есть VPC, работающий на AWS, который был создан с использованием Kops, а базы данных работают на Mongo-Atlas, используя GCP в качестве поставщика облачных услуг.
Серверы базы данных mongo открыты для всего мира, и я пытаюсь найти способ настроить один IP-адрес с помощью моего VPC, чтобы общаться с базой данных или получать диапазон IP-адресов, или возможно ли какое-либо другое решение?
Вот что я уже пробовал:
- VPC пиринг:- невозможно, потому что база данных работает на GCP
- добавить все публичные ip текущих запущенных узлов в mongo atls: не могу этого сделать, потому что я использую автомасштабирование
- используя эластичные IP-адреса, потому что я использую автомасштабирование
1 ответ
Вашему кластеру AWS действительно нужны публичные IP-адреса? Если вы используете kops следовательно, предположительно Kubernetes, у вас должны быть рабочие узлы в частных подсетях, а в общедоступной подсети с общедоступными IP- адресами должны быть только балансировщики нагрузки с доступом в Интернет.
У вас есть несколько вариантов:
VPN между AWS и GCP - это позволит вашим ресурсам AWS общаться с ресурсами GCP по их частным IP-адресам. Это должно работать, даже если ваши узлы имеют публичные IP-адреса.
NAT ваш исходящий трафик AWS с использованием шлюзов NAT, по одному на зону доступности AWS.
Шлюзы NAT имеют фиксированный Elastic IP, который вы можете затем добавить в белый список на стороне GCP.
Кстати, NAT может быть немного сложнее, если ваши рабочие узлы имеют публичные IP-адреса. По сути, вам понадобятся только конкретные адреса, маршрутизируемые через шлюз NAT. Например, если ваши узлы Mongo имеют IP-адреса 192.0.2.1 и 192.0.2.100, ваша таблица маршрутов AWS будет:
- 192.0.2.1/32 и 192.0.2.100/32 -> шлюз NAT
- 0.0.0.0/0 -> IGW (AWS Internet Gateway)
Я предлагаю вам переместить рабочие узлы в частную подсеть и использовать NAT для всего исходящего трафика, что упростит маршрутизацию и белые списки.
Надеюсь, это поможет:)