Переменные среды с использованием AWS CodeDeploy

У меня есть веб-приложение, которое использует переменные среды для некоторой его конфигурации (учетные данные БД, ключи API и т.д.). В настоящее время я использую Elastic Beanstalk для развертывания и могу легко установить их из AWS, что отлично, потому что у меня нет этих конфиденциальных данных в моей базе кода.

Тем не менее, я смотрю на переход от Elastic Beanstalk, поэтому я могу использовать немного больше возможностей для своих веб-экземпляров, и, естественно, я изучаю развертывание (из моей настройки CID Codeship) с помощью CodeDeploy. CodeDeploy довольно прямолинейный, и я интегрировал его с Codeship просто отлично, но я не заметил, что нет встроенной функции для установки переменных среды с помощью CodeDeploy, например, с Elastic Beanstalk. Есть ли у кого-нибудь лучшие методы для этого процесса?

+15
источник поделиться
3 ответа

Один из способов, который я нашел для установки переменных среды, - это запустить скрипты во время крюка AfterInstall (указанный в apppec http://docs.aws.amazon.com/codedeploy/latest/userguide/app-spec-ref.html).

Я могу определить среду, в которой я сейчас развертываюсь, в этих сценариях, вызывая метаданные моих экземпляров, где я получаю свой экземпляр экземпляра, а затем использую aws cli для выполнения описаний-тегов, отфильтрованных в моем идентификаторе экземпляра, где у меня есть тег для среды

ID=$(curl "http://169.254.169.254/latest/meta-data/instance-id")
aws --region us-east-1 ec2 describe-tags --filters Name=resource-id,Values=$ID Name=key,Values=Environment

Мне это не нравится, но пока Code Deploy не имеет чего-то встроенного для передачи параметров в apppec, это лучшее, что я могу найти.

+5
источник

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

Используйте git -crypt (https://github.com/AGWA/git-crypt) для шифрования конфиденциальной информации. Вы можете поместить ключ для декодирования этих файлов на сервере. Во время факсимильной обработки после установки вы можете расшифровать и настроить среду.

Преимущество в том, что теперь у вас есть вся информация в одном месте безопасным способом.

+2
источник

Кажется, возможно использовать переменные среды (главным образом, ваш DEPLOYMENT_GROUP_NAME).

См. это руководство от Amazon.

-1
источник

Посмотрите другие вопросы по меткам или Задайте вопрос