如何使用aws cli获取带有特定标签的最新EBS卷ID?

时间:2019-04-30 05:23:59

标签: amazon-web-services powershell-v3.0 aws-cli

我必须查询我的AWS账户以查找带有特定标签的最新创建的卷,并且应将其附加到正在运行的EC2实例。如何使用aws cli和powershell实现此目的?

我正在使用下面的powershell脚本和aws cli来实现此目的,但是我无法使用aws cli命令替换变量$ volumeid来找到确切的查询来获取最新的卷ID。 任何帮助将不胜感激。

$volumeid = "aws ec2 describe-volumes --region us-east-1 --filters Name=tag:Application_Name,Values=APPone Name=tag:Name,Values=APP_test --query "Volumes[*].{ID:VolumeId}"

$instanceId = (New-Object System.Net.WebClient).DownloadString("http://169.254.169.254/latest/meta-data/instance-id")

Add-EC2Volume -VolumeId $volumeid  -InstanceId $instanceId -Device xvdf -Region us-east-1

1 个答案:

答案 0 :(得分:0)

您可以使用以下查询通过特定标签获取最新的卷ID:

aws ec2 describe-volumes --query Volumes[*].[VolumeId] --filters Name=tag-value,Values=testvolume --output text

上面的查询首先描述所有卷的卷描述。

然后,“-query”仅返回存在的所有卷的卷ID。

稍后,它会根据您指定的标签过滤出卷ID。

“-输出文本”将转换为文本格式的输出,您可以将其存储在变量中。

有关更多详细信息,请参阅describe-volumes

这应该有帮助。