首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用aws cli,确定当前区域的最佳方法是什么?

使用aws cli,确定当前区域的最佳方法是什么?
EN

Stack Overflow用户
提问于 2015-07-10 03:05:24
回答 11查看 68K关注 0票数 57

交互地,我可以使用"aws配置“来更改或查看默认区域。是否有"pwd“之类的功能,记录或不允许我确定或确认当前的区域中期脚本?即使没有定义AWS_DEFAULT_REGION?我想要一个脚本运行在许多配置文件下。我可以从aws配置列表中抓取,但是有更整洁的东西吗?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2020-08-20 00:23:17

下面给出CLI实际使用的区域,而不管是否设置了环境变量:

代码语言:javascript
运行
复制
aws ec2 describe-availability-zones --output text --query 'AvailabilityZones[0].[RegionName]'

CLI将使用的区域由以下优先顺序确定:

  1. 命令行--region选项
  2. AWS_DEFAULT_REGION环境变量值
  3. 在“当前配置文件”中指定的区域,该区域由以下优先级顺序确定
    • 命令行--profile选项
    • AWS_PROFILE环境变量值
    • 否则,配置文件是默认的。

不幸的是,使用aws configure get region只返回由“当前配置文件”指定的区域,而忽略了AWS_DEFAULT_REGION环境变量。

您可以使用CLI进行实际的API调用并从结果中获取区域,而不是假定任何优先级规则。我唯一能找到的应该总是起作用的电话是aws ec2 describe-availability-zones。此方法的另一个优点是您可以指定--region--profile选项,但仍然可以得到正确的答案。

票数 31
EN

Stack Overflow用户

发布于 2017-02-01 10:53:25

aws configure get region将在脚本中的那个点为您提供当前区域。

如果您使用的是配置文件,则键入aws configure get region --profile $PROFILE_NAME

票数 83
EN

Stack Overflow用户

发布于 2015-07-10 09:01:16

也许,AWS还没有提供当前区域。但是,它们提供的不是获取当前区域,而是通过实例元数据获取当前可用性区域。所有可用性区域都包含当前区域,因此可以在EC2实例的脚本中替换当前可用性区域的一部分,从而确定当前区域。

例如:

代码语言:javascript
运行
复制
curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/\(.*\)[a-z]/\1/'
票数 39
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31331788

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档