Как использовать переменные хранилища параметров AWS в переменной среды Elastic Beanstalk? - PullRequest
1 голос
/ 23 июня 2019

У меня есть загрузочное приложение Spring, которое подключается к PostgreSQL на AWS.Я хочу сохранить конфигурацию базы данных, такую ​​как URL-адрес БД, имя пользователя и пароль, в хранилище параметров AWS как secureStrings.

Я хочу получить доступ к этим параметрам из хранилища параметров AWS в переменных среды, как мы установили:

SERVER_PORT = 5000 
SPRING_DATASOURCE_PASSWORD = /dev/databases/postgresql/awsdbinstance/password 

, где /dev/databases/postgresql/awsdbinstance/password - это имя хранилища параметров AWS.

Я также добавил политику IAM в экземпляры EC2 для доступа SSMReadOnly, но значения по-прежнему недоступны.Что я делаю не так и как мне этого добиться?

Кроме того, каков стандартный способ добиться этого?

Я не хотел добавлять свойство в файл YAML, которое пытается извлечь значение из хранилища параметров AWS, скорее я предположил, что лучше, если свойство вводится через переменные среды Elastic Beanstalk.

1 Ответ

0 голосов
/ 20 июля 2019

Вы можете жестко закодировать переменные среды в свою среду Elastic Beanstalk. При создании новой среды, нажмите «дополнительные параметры» (или что-то похожее) во время установки.

Для существующих сред вы можете добавить их на вкладке configuration в представлении панели мониторинга. Прокрутите вниз и вы увидите раздел Environment properties с Key:Value полями ввода.

ПРИМЕЧАНИЕ. Если ваше приложение задает какие-либо переменные среды через файл buildspec.yml или *.config, вы увидите уже заполненные здесь (конечно, если вы создали и развернули активное приложение в своей среде.)

Другой подход полностью заключается в том, чтобы использовать что-то вроде AWS Secrets Manager и сделать так, чтобы ваше приложение во время запуска вызывало API-интерфейс, который выбирает набор пар Key: Value и добавляет те, которые вы хотите, в качестве переменных в среду приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...