如何在 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)访问环境变量?