【问题标题】:How to configure eb cli for team for deployment from more than one user?如何为团队配置 eb cli 以从多个用户进行部署?
【发布时间】:2016-03-17 00:07:56
【问题描述】:

我已经在 aws 上部署了 django 应用程序。我希望该应用程序也应该由团队部署。这样做的程序是什么?我搜索了很多,几乎花了几个小时。谁有答案或教程?

我们可以共享这些密钥吗?

aws_access_key_id
aws_secret_access_key

【问题讨论】:

    标签: django amazon-web-services amazon-elastic-beanstalk


    【解决方案1】:

    不,AWS 访问密钥应保密,甚至不应存储在版本控制之下。

    对于部署(即实际发布代码所需的凭据 - 由 EB 使用),您应该使用 aws 配置文件。添加一个 ~/.aws/credentials 文件与

    [myprofile]
    aws_access_key_id=...
    aws_secret_access_key=...
    

    然后,在所有 eb 命令上使用 --profile。例如

    eb create --profile myprofile
    

    如果您的应用程序需要其他 AWS 服务(例如 RDS、S3、SQS),那么您可以使用相同的本地配置文件进行开发(尽管我建议您不需要任何其他 AWS 进行测试),方法是使用环境变量 export AWS_PROFILE=myprofile .然后在生产环境中依赖 AWS 角色和策略。

    如果您觉得需要将密钥作为 django 设置,请考虑使用https://django-environ.readthedocs.org,您可以将所有这些秘密保存在 django 加载的 .env 文件中。但同样,此文件不应受版本控制。

    您还应该为团队中的每个人创建 IAM 用户,这样每个人都有自己的凭证,您可以更轻松地监控或在需要时撤销凭证。

    【讨论】:

    • 你能给我任何链接吗?或者有人已经遇到过这种问题吗?
    • 哪一部分? AWS 站点上有很多关于如何使用配置文件的文档。谷歌“AWS eb 配置文件”
    • 将已部署的应用程序分配给新创建的 IAM 用户,以便他能够进行更改并能够部署应用程序,您是否有相关文档。
    • 生产服务器不应该需要 IAM 用户,因为他们应该已经在使用 IAM 角色(eb 创建一个),因此 IAM 用户只需要在本地设置上就能够与 AWS 通信(例如做'EB部署')。但是您没有描述太多,所以我不知道您是否在生产服务器中使用 AWS 密钥。
    • ,由于我是唯一部署代码的人,并且我必须授予其他人访问权限,因此我将该文件放在 ~/.aws/credentials 文件中。我没有将此文件提交到 git 或生产服务器。
    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2016-04-10
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 2013-11-02
    相关资源
    最近更新 更多