Рейтинг:1

Как авторизовать только IP из службы Fargate ECS для MongoDB Atlas Cluster

флаг cn

У меня есть служба ECS Fargate, сопоставленная с Application Load Balancer на AWS. В этой службе есть несколько задач, которые часто убиваются и перезапускаются. Эти задачи должны иметь возможность подключаться к кластеру MongoDB Atlas.

Какой IP-адрес я должен добавить в белый список для своего кластера Atlas? Возможно ли иметь эластичный IP-адрес или диапазон IP-адресов для моей службы, чтобы разрешить только IP-адреса моей службы в моем кластере Mongo Atlas?

Извините, если этот вопрос тривиален, я немного борюсь с ECS, ALB и сетью на AWS.

Рейтинг:1
флаг id
MLu

Вы можете иметь свои задачи Fargate в Частная подсеть в VPC и настроить шлюз NAT в Общедоступная подсеть. Затем на выходе к MongoDB Atlas (который, как я понимаю, не размещен в вашем VPC) весь трафик из контейнеров Fargate будет исходить с одного из адресов NAT GW.

NAT GW предоставляет фиксированный IP-адрес в каждой зоне доступности, поэтому с 3 зонами доступности вы сможете внести в белый список только эти 3 IP-адреса на стороне Atlas.

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

mreferre avatar
флаг nl
+1 то, что упомянул @MLu, - это самый простой / самый очевидный способ заставить его работать. У вас также есть возможность создать конечную точку MongoDB в своем собственном VPC (таким образом, делая все вызовы из задачи в базу данных «локальными и частными»). Вы можете узнать больше об этой опции [здесь] (https://aws.amazon.com/blogs/apn/connecting-applications-securely-to-a-mongodb-atlas-data-plane-with-aws-privatelink/)
Howins avatar
флаг cn
Спасибо вам обоим за ваш ответ, я не знаю почему, но я не смог прокомментировать сообщение @MLu, может быть, потому что мой аккаунт новый. Я попробовал решение NAT, кажется, моя задача смогла выйти в Интернет, потому что они правильно загружают образ Docker. Но когда я не мог получить к ним доступ через мой ALB. В настоящее время каждая задача представляет собой сервер FastAPI. Служба Fargate находится за ALB, и я могу получить доступ к своей серверной части через ALB. Но когда я развертываю свою службу в частной подсети и свой ALB в общедоступной подсети, я не смог получить доступ к своему серверному контейнеру через свой ALB.
MLu avatar
флаг id
MLu
@Howins выглядит как проблема с маршрутизацией или группой безопасности. Трудно сказать из того, что вы описываете. Проверьте таблицы маршрутизации как в общедоступных, так и в частных подсетях и убедитесь, что ALB SG может подключиться к SG задачи ECS.
Howins avatar
флаг cn
Извините за долгое отсутствие ответа, это действительно была проблема маршрутизации с NAT и частными подсетями.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.