Как получить общедоступный диапазон IP CIDR AWS для VPC

У меня есть VPC, работающий на AWS, который был создан с использованием Kops, а базы данных работают на Mongo-Atlas, используя GCP в качестве поставщика облачных услуг.

Серверы базы данных mongo открыты для всего мира, и я пытаюсь найти способ настроить один IP-адрес с помощью моего VPC, чтобы общаться с базой данных или получать диапазон IP-адресов, или возможно ли какое-либо другое решение?

Вот что я уже пробовал:

  1. VPC пиринг:- невозможно, потому что база данных работает на GCP
  2. добавить все публичные ip текущих запущенных узлов в mongo atls: не могу этого сделать, потому что я использую автомасштабирование
  3. используя эластичные 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 для всего исходящего трафика, что упростит маршрутизацию и белые списки.

Надеюсь, это поможет:)

Другие вопросы по тегам