У меня есть VPC, работающий на AWS, который был создан с использованием kops, а базы данных работают на mongo-atlas с использованием GCP в качестве облачного провайдера.
Серверы базы данных mongo открыты для всего мира, я пытаюсь найти способ настроить один IP-адрес с помощью моего VPC, который может разговаривать с базой данных или получить диапазон IP-адресов, или, если возможно какое-либо другое решение?
Вот что я уже пробовал:
Действительно ли вашему кластеру AWS нужны общедоступные IP-адреса? Если вы используете kops
, следовательно, предположительно Kubernetes, у вас должен быть рабочие узлы в частных подсетях и только есть балансировщики нагрузки с выходом в Интернет в публичной подсети с публичными IP-адресами.
У вас есть несколько вариантов:
VPN между AWS и GCP - это позволит вашим ресурсам AWS взаимодействовать с ресурсами GCP через их частные IP-адреса. Это должно работать, даже если у ваших узлов есть общедоступные IP-адреса.
NAT ваш исходящий трафик AWS с использованием шлюза (ов) NAT, по одному на зону доступности AWS.
NAT-шлюзы имеют фиксированный, эластичный IP что ты можешь тогда белый список на стороне GCP.
BTW NAT может быть немного сложным, если ваши рабочие узлы имеют общедоступные IP-адреса. По сути, вам понадобятся только определенные адреса, маршрутизируемые через шлюз NAT. Например. если ваши узлы Mongo имеют IP-адреса 192.0.2.1 и 192.0.2.100, ваша таблица маршрутов AWS будет:
Я предлагаю вам переместить рабочие узлы в частную подсеть и использовать NAT для всего исходящего трафика, что упростит маршрутизацию и внесение в белый список.
Надеюсь, это поможет :)