使用AWS CodeDeploy的环境variables

我有一个Web应用程序,利用它的一些configuration(数据库证书,API密钥等)的环境variables。 我目前正在使用Elastic Beanstalk进行部署,并且可以在AWS中轻松设置这些,这很好,因为我的代码库中没有这些敏感数据。

不过,我正在考虑从Elastic Beanstalk进行切换,这样我可以利用我的web实例更灵活一点,自然我正在考虑使用CodeDeploy部署(从我的Codeship CI设置)。 CodeDeploy非常简单,我已经将它与Codeship集成在一起,但我注意到没有像Elastic Beanstalk那样使用CodeDeploy设置环境variables的内置function。 有没有人有这个过程的最佳做法?

亚马逊有一个相当完善的function: 参数存储 。 您可以在那里添加键/值对,安全地encryption,然后在您的CodeDeploy脚本中检索它们,例如:

password=$(aws ssm get-parameters --region us-east-1 --names MySecureSQLPassword --with-decryption --query Parameters[0].Value) 

您需要执行一些IAM设置以允许在CodeDeploy / Parameter Store之间进行访问,但是上面的链接文章会引导您完成此操作。