Подключение AWS Fargate к RDS в другом VPC - PullRequest
0 голосов
/ 09 мая 2018

У меня есть следующие настройки:

  • кластер ECS (Fargate) в VPC-1
  • RDS в VPC-2

Мое приложение, запущенное в ECS, использует имя DNS для подключения к RDS, однако вместо частного IP DNS разрешает общедоступный IP-адрес.

В RDS я хочу настроить строгие правила безопасности для предотвращения подключений из внешнего мира - я бы хотел ограничить его приемом только подключений из VPC-1.

Я пробовал следующие вещи:

  • пиринг как VPC-1, так и VPC-2 - не помогает, приложение, работающее в ECS, по-прежнему разрешает общедоступный IP-адрес
  • маршрутизация всего исходящего трафика (0.0.0.0/0) из кластера ECS на шлюз NAT (вместо интернет-шлюза) и настройка группы безопасности в RDS для приема соединений с эластичного IP, настроенного для шлюза NAT - в этом случае мое приложение не ' Я даже не хочу начинать, я подозреваю, что это связано с тем, что процесс инициализации завершается неудачно из-за того, что исходящий трафик маршрутизируется через NAT
  • для всех VPC "DNS-разрешение" и "DNS-имена хостов" имеют значение "yes"

У меня заканчиваются идеи, как правильно его настроить. Как только я разрешаю весь входящий трафик (0.0.0.0/0) для моего RDS, все начинает работать нормально, но я этого не хочу.

Что мне здесь не хватает? Может быть, мне следует использовать совершенно другой подход для безопасного доступа к моей RDS?

1 Ответ

0 голосов
/ 09 мая 2018

Мне удалось решить проблему, используя подход с NAT-шлюзом - я не уверен, почему он не работал раньше, я изменил подход, чтобы сначала создать VPC, а затем создать кластер ECS и связать его с ранее созданным VPC.

  1. Создан Elastic IP, NAT-шлюз, VPC с частной и общедоступной подсетями, как описано в этой статье: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/create-public-private-vpc.html

  2. Шлюз NAT связан с частной подсетью

  3. Создан кластер ECS в частной подсети

  4. Создал балансировщик нагрузки и связал его с публичной сетью

  5. Модифицированная группа безопасности для RDS для разрешения трафика с Elastic IP, настроенного на ранее созданном шлюзе NAT.

При такой настройке любой трафик из приложения в RDS проходит через NAT, поэтому я могу настроить правила группы безопасности, чтобы разрешить этот трафик. С другой стороны, балансировщик нагрузки в общедоступной подсети может связываться с кластером, который находится в частной сети.

...