使用 AWS CodeDeploy 的环境变量

使用 AWS CodeDeploy 的环境变量

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

但是,我正在考虑从 Elastic Beanstalk 切换,以便可以利用我的 Web 实例获得更多灵活性,并且自然而然地,我正在考虑使用 CodeDeploy 进行部署(从我的 Codeship CI 设置)。CodeDeploy 相当简单,我已经将它与 Codeship 很好地集成在一起,但我注意到 CodeDeploy 没有内置功能来设置环境变量,就像 Elastic Beanstalk 一样。有人有这个过程的最佳实践吗?

答案1

亚马逊为此提供了一个非常巧妙的功能:参数存储。您可以在那里添加密钥/值对,进行安全加密,然后在您的 CodeDeploy 脚本中检索它们,例如:

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

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

相关内容