Я пытаюсь запустить веб-сервер, который использует базу данных RDS с EC2 внутри контейнера докера.
Я настроил группы безопасности, чтобы роли хоста EC2 был разрешен доступ к RDS, и если я пытаюсь получить к нему доступ непосредственно с хост-машины, все работает правильно.
Однако, когда я запускаю простой контейнер на хосте и пытаюсь получить доступ к RDS, он блокируется, как будто группа безопасности не пропускает его. После множества проб и ошибок казалось, что запросы контейнеров действительно не поступают от хоста EC2, поэтому брандмауэр говорит "нет".
Я смог обойти это в краткосрочной перспективе, установив --net = host в контейнере Docker, однако это нарушает множество замечательных сетевых функций Docker, таких как возможность сопоставления портов (т.е. Теперь мне нужно убедиться, что каждый экземпляр контейнера прослушивает другой порт вручную).
Кто-нибудь нашел способ обойти это? Кажется, что это довольно большое ограничение для запуска контейнеров в AWS, если вы на самом деле используете какие-либо ресурсы AWS.