gpt4 book ai didi

ruby-on-rails - 应该如何使用带有弹性 beanstalk 的亚马逊网络服务将 secret 文件推送到 EC2 Ruby on Rails 应用程序?

转载 作者:数据小太阳 更新时间:2023-10-29 06:41:53 27 4
gpt4 key购买 nike

应该如何使用带有弹性 beanstalk 的亚马逊网络服务将 secret 文件推送到 EC2 Ruby on Rails 应用程序?

我将文件添加到 git 存储库,然后推送到 github,但我想将我的 secret 文件保留在 git 存储库之外。我正在使用以下方式部署到 aws:

git aws.push

以下文件在 .gitignore 中:

/config/database.yml
/config/initializers/omniauth.rb
/config/initializers/secret_token.rb

通过此链接,我尝试将 S3 文件添加到我的部署中: http://docs.amazonwebservices.com/elasticbeanstalk/latest/dg/customize-containers.html

从该链接引用:

Example Snippet

The following example downloads a zip file from an Amazon S3 bucket and unpacks it into /etc/myapp:

sources:  
/etc/myapp: http://s3.amazonaws.com/mybucket/myobject

按照这些说明,我将文件上传到 S3 存储桶并将以下内容添加到 .ebextensions 目录中的 private.config 文件:

sources:
/var/app/current/: https://s3.amazonaws.com/mybucket/config.tar.gz

config.tar.gz 文件将提取到:

/config/database.yml
/config/initializers/omniauth.rb
/config/initializers/secret_token.rb

但是,当部署应用程序时,S3 主机上的 config.tar.gz 文件永远不会被复制或提取。我仍然收到无法找到 database.yml 并且 EC2 日志没有配置文件记录的错误消息,这是错误消息:

Error message:
No such file or directory - /var/app/current/config/database.yml
Exception class:
Errno::ENOENT
Application root:
/var/app/current

最佳答案

做我认为您想做的事情的“正确”方法是使用 IAM 角色。您可以在此处查看有关它的博客文章:http://aws.typepad.com/aws/aws-iam/

基本上,它允许您启动 EC2 实例,而无需在任何配置文件中放置任何个人凭证。当您启动实例时,它将被分配给定的角色(一组使用 AWS 资源的权限),并且轮换凭证将自动通过 Amazon IAM 放置在机器上。

关于ruby-on-rails - 应该如何使用带有弹性 beanstalk 的亚马逊网络服务将 secret 文件推送到 EC2 Ruby on Rails 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13980842/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com