【发布时间】:2016-03-17 00:07:56
【问题描述】:
我已经在 aws 上部署了 django 应用程序。我希望该应用程序也应该由团队部署。这样做的程序是什么?我搜索了很多,几乎花了几个小时。谁有答案或教程?
我们可以共享这些密钥吗?
aws_access_key_id
aws_secret_access_key
【问题讨论】:
标签: django amazon-web-services amazon-elastic-beanstalk
我已经在 aws 上部署了 django 应用程序。我希望该应用程序也应该由团队部署。这样做的程序是什么?我搜索了很多,几乎花了几个小时。谁有答案或教程?
我们可以共享这些密钥吗?
aws_access_key_id
aws_secret_access_key
【问题讨论】:
标签: django amazon-web-services amazon-elastic-beanstalk
不,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 用户,这样每个人都有自己的凭证,您可以更轻松地监控或在需要时撤销凭证。
【讨论】: