在EC2实例上运行代码时,用于访问AWS资源的SDK会自动与169.254.169.254上的本地链接Web服务器通信,并获取与其他AWS服务通信所需的AWS凭证(access_key,secret).
还有其他选项,比如在ENV变量中设置凭据或将它们作为命令行参数传递…
这里的最佳做法是什么?我真的更喜欢让容器访问169.254.169.254(通过路由请求),或者甚至更好地运行模拟169.254.169.254的真实服务器行为的代理容器.
那里有解决方案吗?
最佳答案
EC2元数据服务通常可以从docker中获得(除非您使用更自定义的网络设置 – 请参阅类似问题的this answer).
如果您的docker网络设置阻止访问它,您可以在Dockerfile中使用ENV指令或在运行期间直接传递它们,但请记住,来自IAM角色的凭据会由AWS自动轮换.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。