【发布时间】:2020-09-30 08:35:55
【问题描述】:
我有一个 python 应用程序在 ECS 管理的 EC2 实例上的 Docker 容器中运行(嗯,这就是我想要的......)。但是,要将 SSM 之类的服务与 boto3 一起使用,我需要知道实例正在运行的区域。我不需要任何凭据,因为我为授予服务访问权限的实例使用角色,因此默认 Session 即可。
我知道可以使用curl 获取区域以获取动态元数据,但是有没有更优雅的方法来在 EC2 实例中使用区域名称(凭据)实例化客户端?
我跑过boto3documentation发现
请注意,如果您已启动配置了 IAM 角色的 EC2 实例,则无需在 boto3 中设置显式配置即可使用这些凭证。如果 Boto3 在上面列出的任何其他位置都找不到凭证,它将自动使用 IAM 角色凭证。
那么为什么我需要传递SSM 客户端的区域名称?有解决办法吗?
【问题讨论】:
-
AWS 中的区域供服务客户端调用。
标签: python amazon-web-services amazon-ec2 boto3 ssm