如何在 Elasticbeanstalk 环境中运行的 docker 容器中承担 AWS 角色?

Posted

技术标签:

【中文标题】如何在 Elasticbeanstalk 环境中运行的 docker 容器中承担 AWS 角色?【英文标题】:How to assume AWS role in docker container run on Elasticbeanstalk environment? 【发布时间】:2018-07-23 21:40:03 【问题描述】:

我使用带有多容器版本的 elasticbeanstalk,并且我有内部带有 boto3 的 docker 容器。我想承担使用 python 在 S3 上保存文件的角色。

基于这个问题:Fetching AWS instance metadata from within Docker container?

urlopen('http://169.254.169.254/latest/meta-data/iam/instance-id-credentials/s3access').read().decode('utf-8')

返回 404。

我不想在我的 docker 映像中使用硬编码的凭据。 有没有办法以某种方式扮演角色?

【问题讨论】:

你读过这个docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 是的,你介意哪个标题? 【参考方案1】:

我通过在--net host 模式下启动容器来完成这项工作。 IE。使用主机的网络堆栈让 AWS 认为您是从 EC2 主机请求的。

这是提供此解决方案的评论:Fetching AWS instance metadata from within Docker container?

【讨论】:

以上是关于如何在 Elasticbeanstalk 环境中运行的 docker 容器中承担 AWS 角色?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Elasticbeanstalk 环境中运行的 docker 容器中承担 AWS 角色?

如何在 AWS elasticbeanstalk 上删除环境而不删除 RDS

ElasticBeanstalk 与 Docker:如何使用来自 aws cli 的创建环境

如何通过 Elasticbeanstalk 配置文件(使用 Docker)访问环境变量?

如何在 AWS elasticbeanstalk 中配置 sonarqube 7.1

AWS ElasticBeanstalk boto3 - 创建环境时如何选择容量?