没有特定标记的AWS卷和AMI

时间:2017-06-02 07:27:51

标签: amazon-web-services amazon-ec2 tags aws-cli

要查找没有标记“Environment”的实例列表,我使用了以下命令。

aws ec2 describe-instances --query 'Reservations[?Instances[?length(Tags[?Key=='Environment']) == `0`]].Instances[].InstanceId' --output text

现在,如何查找volume-Id列表没有特定的标签?假设我的一些卷有标签“Environment”。执行命令时,结果应包含volume-Ids,而不包含标记Environment。

同样,我也需要列出AMI和快照。

2 个答案:

答案 0 :(得分:1)

将它放入AWS Command-Line Interface (CLI)命令会非常具有挑战性。

相反,请使用此Python脚本:

import boto3
client = boto3.client('ec2', region_name='ap-southeast-2')

response = client.describe_volumes()

# Find volumes that do not have an 'Environment' Tag
for volume in response['Volumes']:
  if 'Environment' not in [tag['Key'] for tag in volume['Tags']]:
    print volume['VolumeId']

答案 1 :(得分:0)

我将所有实例id列入文件(文件A)。然后将带有标签'Environment'的实例id列入另一个文件(文件B)。然后我发现这两个文件之间存在差异(实例id列在文件A中但不在文件B中)。