2017-06-02 12 views
2

タグ "環境"のないインスタンスのリストを見つけるには、次のコマンドを使用しました。特定のタグのないAWSボリュームとAMI

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

ここで、volume-Idのリストには特定のタグはありません。私のボリュームの一部にタグ「環境」があるとします。コマンドを実行するとき、結果にはタグEnvironmentなしのvolume-Idが含まれていなければなりません。

同様に、AMIとスナップショットもリストする必要があります。

+0

pythonが優れていない場合は、コマンドラインを使用したい場合はjqを試すことができます – jzaa

答えて

1

これをAWS Command-Line Interface (CLI)コマンドに適合させることはむしろ困難です。私はファイル(ファイルA)に、すべてのインスタンスのidを記載されている

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'] 
0

は代わりに、このPythonスクリプトを使用します。次に、タグ 'Environment'を持つインスタンスIDを別のファイル(ファイルB)にリストします。そして、私はこれらの2つのファイルの違いを見つけます(インスタンスIDはファイルAにリストされていますが、ファイルBにはリストされていません)。

関連する問題