3

EC2 コマンドライン API ツールを使用して、Windows AWS インスタンスの最新のものを除くすべての EBS スナップショットを削除しようとしています。Linux で次のことがわかりました。Windows でも同じことができますか?

ec2-記述-スナップショット | 並べ替え -r -k 5 | セッド 1,6d | awk '{print "スナップショットを削除しています: " $2}; system("ec2-delete-snapshot" $2)'

4

1 に答える 1

1

アップデート

どうやらすべてのEBS スナップショットを実際に削除したいことに気付きました-場合によっては、現在の資格情報に関連付けられているすべての EBS スナップショットを取得するboto のget_all_snapshots()メソッドを使用して、スクリプトをこれに合わせて調整することもできます。

それに応じて、ボリューム指向のコードを置き換える必要があります。

snapshots = volume.snapshots()

snapshots = conn.get_all_snapshots()

最初の答え

Amazon EC2 API Toolsとそれぞれの PowerShell スクリプトの組み合わせによっても確かに可能ですが、個人的にはプラットフォームにとらわれない方法で AWS と対話する優れたbotoを好みます (つまり、スクリプトは Linux、MacOS、Windows で動作します) - Boto はアマゾン ウェブ サービスへのインターフェースを提供する Python パッケージ

私はこの点に関して何かを組み立てようとしていますが、Vaibhav Puranik がすぐに利用できるようにしています。Python スクリプトを使用して EBS スナップショットを管理するを参照してください- 彼のスクリプトは新しいebs スナップショットを作成し、いくつかの最新のスナップショットを除く以前のスナップショットをすべて削除します

要求されたよりも多くの機能を提供しますが、必要に応じて次の 2 行を削除してスナップショットの作成を削除するなど、スクリプトは必要に応じて調整できるほど単純です。

if volume.create_snapshot(description):
    print 'Snapshot created with description: ' + description

免責事項: 私は自分でスクリプトを徹底的にレビューもテストもしていません!

したがって、スクリプトがデータを完全に削除することを考えると、実稼働環境で使用する前に、自分で確認してテストする必要があります。

幸運を!

于 2012-04-21T13:03:21.740 に答える