Каким будет правильный способ настройки независимых от инфраструктуры параметров внутри контейнера Docker внутри ECS?
Допустим, есть API, который необходимо подключить к внешним источникам (например, БД, которая не находится в инфраструктуре AWS). Как настроить контейнер для обнаружения внешних источников?
Что я придумал:
- Переменные среды;
- Внедрение конфигурации при создании образа Docker;
- Использование хранилища параметров AWS System Manager;
- Использование AWS Secrets Manager;
- Например, размещение конфигурации в S3 и чтение оттуда.
Мне кажется, что использование переменных окружения - это путь.
Потому что не нужно делать дополнительный запрос к Менеджеру системы AWS или Менеджеру секретов, чтобы просто получать хост и порт БД каждый раз при подключении к внешнему источнику.
Еще одна возможность, о которой я подумал, заключалась в том, что после запуска контейнера требуемые параметры запрашиваются из AWS System Manager или Secrets Manager, а затем сохраняются в каком-либо файле конфигурации. Но как тогда отличить тест от производства?
Я что-то упускаю здесь очевидное?