Jef*_*eff 5 unix environment-variables amazon-ec2 amazon-web-services
我有一个 Web 应用程序,它利用环境变量进行某些配置(数据库凭据、API 密钥等)。我目前正在使用 Elastic Beanstalk 进行部署,并且可以从 AWS 中轻松设置这些,这很棒,因为我的代码库中没有这些敏感数据。
但是,我正在考虑从 Elastic Beanstalk 切换,以便我可以利用我的 Web 实例的更多灵活性,并且自然地我正在考虑使用 CodeDeploy 进行部署(从我的 Codeship CI 设置)。CodeDeploy 相当简单,我已经将它与 Codeship 集成得很好,但我注意到没有内置功能可以像使用 Elastic Beanstalk 那样使用 CodeDeploy 设置环境变量。有没有人有这个过程的最佳实践?
小智 8
亚马逊为此提供了一个非常巧妙的功能:Parameter Store。您可以在那里添加键/值对,安全加密,然后在您的 CodeDeploy 脚本中检索它们,例如:
password=$(aws ssm get-parameters --region us-east-1 --names MySecureSQLPassword --with-decryption --query Parameters[0].Value)
Run Code Online (Sandbox Code Playgroud)
您需要进行一些 IAM 设置以允许在 CodeDeploy/Parameter Store 之间进行访问,但上面的链接文章将引导您完成此操作。