How to get latest EBS volume Id with specific tag using aws cli?
我必须查询我的 AWS 账户以查找具有特定标签的最新创建的卷,并且应该将其附加到正在运行的 EC2 实例。如何使用 aws cli 和 powershell 实现此目的?
我使用下面的 powershell 脚本和 aws cli 来实现这一点,但是我无法找到确切的查询来使用 aws cli 命令替换变量 $volumeid 来获取最新的卷 ID。
任何帮助将不胜感激。
1 2 3 4 5 | $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 |
您可以使用以下查询来使用特定标签获取最新的卷 ID:
1 | aws ec2 describe-volumes --query Volumes[*].[VolumeId] --filters Name=tag-value,Values=testvolume --output text |
上面的查询首先描述了所有卷的卷描述。
然后"--query" 只返回所有存在的卷的卷ID。
稍后它会根据您指定的标签过滤掉卷 id。
而"--output text" 将输出转换为可以存储在变量中的文本格式。
更多细节可以参考 describe-volumes
这应该会有所帮助。