交互地,我可以使用"aws配置“来更改或查看默认区域。是否有"pwd“之类的功能,记录或不允许我确定或确认当前的区域中期脚本?即使没有定义AWS_DEFAULT_REGION?我想要一个脚本运行在许多配置文件下。我可以从aws配置列表中抓取,但是有更整洁的东西吗?
发布于 2020-08-20 00:23:17
下面给出CLI实际使用的区域,而不管是否设置了环境变量:
aws ec2 describe-availability-zones --output text --query 'AvailabilityZones[0].[RegionName]'
CLI将使用的区域由以下优先顺序确定:
--region
选项AWS_DEFAULT_REGION
环境变量值--profile
选项AWS_PROFILE
环境变量值不幸的是,使用aws configure get region
只返回由“当前配置文件”指定的区域,而忽略了AWS_DEFAULT_REGION
环境变量。
您可以使用CLI进行实际的API调用并从结果中获取区域,而不是假定任何优先级规则。我唯一能找到的应该总是起作用的电话是aws ec2 describe-availability-zones
。此方法的另一个优点是您可以指定--region
或--profile
选项,但仍然可以得到正确的答案。
发布于 2017-02-01 10:53:25
aws configure get region
将在脚本中的那个点为您提供当前区域。
如果您使用的是配置文件,则键入aws configure get region --profile $PROFILE_NAME
。
发布于 2015-07-10 09:01:16
也许,AWS还没有提供当前区域。但是,它们提供的不是获取当前区域,而是通过实例元数据获取当前可用性区域。所有可用性区域都包含当前区域,因此可以在EC2实例的脚本中替换当前可用性区域的一部分,从而确定当前区域。
例如:
curl -s http://169.254.169.254/latest/meta-data/placement/availability-zone | sed 's/\(.*\)[a-z]/\1/'
https://stackoverflow.com/questions/31331788
复制相似问题