2016-04-26 6 views
0

AMIに対応するすべてのスナップショットを削除しようとしています。私は以下のコマンドを試した。次のコマンドを実行すると、1つのボリュームしか削除できません。 Boto delete_snapshotでTrueに設定すると、/ dev/sda1にマウントされたEBSボリュームを削除できます。 AMIのすべてのボリュームを削除する方法はありますか?botoを使用してAMIに対応するすべてのスナップショットを削除する方法

>>> conn.deregister_image('ami-xxxx', delete_snapshot=True, dry_run=False) 
True 

コマンドを実行した後、1つのスナップショットが削除されましたが、もう1つのスナップショットがまだ表示されます。 ami-xxxxのすべてのスナップショットを削除するにはどうすればよいですか?

+0

最後のイメージはスナップショットですが、イメージを登録解除しない限り、そのイメージは常に存在します。 – BMW

+0

@BMW次のコマンド(deregister_image( 'ami-xxxx'、delete_snapshot = True、dry_run = False))を使用して、/ dev/sda1にマウントされたEBSボリュームに関連付けられたスナップショットを削除できます。しかし、私は/ dev/sdfに関連付けられたボリュームを削除することはできません.. etc – user6136315

答えて

1

この質問は解決されていません。だから私はこの仕事をするためのpythonスクリプトを書いた。

try: 
     list_snaps = conn.get_all_snapshots(filters={'owner_id' :'xxxxx'}) #it used to save some time if we filter by owner 
     for i in list_snaps: 
      find_ami_id = re.search(r'.* for (.*) from .*', i.description, re.M|re.I) 
      if find_ami_id: 
       if find_ami_id.group(1) == b: #b is the ami id that we were deleted 
        print "Delete the following snap id: %s" %i.id 
        conn.delete_snapshot(i.id, dry_run=False) 
        time.sleep(10) #wait for a while to delete snapshots one by one 
    except boto.exception.BotoServerError, e: 
     print e.error_message 
関連する問題