2

我正在努力将 Rails 应用程序从其当前的 PaaS 迁移到 aws elastic beanstalk。一切都很顺利,除了弹性 beantalk 允许配置的键和值组合最大 4096 字节。由于我的应用程序有许多第三方 api 凭据,因此我的配置大于 4096 字节。

我在 AWS 中发现了一项出色的服务,用于存储名为 AWS System Manager Parameter Store 的秘密凭证,以克服 4096 字节的限制。

我的目标是存储我的凭据,然后将它们重新加载到我的应用程序的 ENV 变量中,但是我发现了以下问题:

  • 如何能够分离不同环境的配置值,在我的情况下,我将在参数存储中进行暂存和生产?我需要为每个环境复制密钥吗?组织这些键以便能够以编程方式轻松加载到 ENV var 中的做法是什么?

  • 如何能够相应地访问当前环境中的参数存储?即,当容器在生产环境中部署时,生产环境中的参数存储值应加载 ENV var,而不是暂存环境中的值。

  • 允许 ElasticBeanstalk 实例通过 AWS IAM 访问 AWS 系统管理器参数存储的最佳实践是什么?

我在 AWS CLI 中尝试了一些命令来在本地读写,它运行良好,例如像这样

aws --region=us-east-1 ssm put-parameter --name STG_DB --value client --type SecureString

aws --region=us-east-1 ssm get-parameter --name STG_DB --with-decryption --output A --query Parameter.Value

我需要人们做的一些标准程序或实践来解决上述所有问题。

分步指南和示例将非常有用。

4

0 回答 0