EC2: 過去のEBSスナップショットをまとめて削除

概要

「 EC2: 過去のEBSスナップショットをまとめて削除」アクションでは、選択した複数のAWSアカウントのすべてのリージョンにおいて、過去のEBSスナップショットの削除を一括して行うことができます。

EBSスナップショットが過去のものかどうか判定するための基準は、以下の2通りで指定することができます。

  • EBSスナップショットが作成されてからの経過日数
  • EBSスナップショットの作成日が特定の日付以前

例えば、判定するための基準を「365日以上前に作成されたEBSスナップショット」と指定して3つのAWSアカウントを設定した場合は、3つのAWSアカウントそれぞれで、利用可能な全リージョンにおいて、作成から365日以上経過したEBSスナップショットが1回のジョブ実行で削除されます。

なお、特定のタグが付与されているEBSスナップショットを削除する対象から除外することもできます。

設定時のオプション

No. オプション 説明
1 削除するEBSスナップショット

経過日数で指定する場合
EBSスナップショットが作成されてからの経過日数で指定するには、「〜日以上前に作成されたEBSスナップショット」を選択して日数を入力します。日数には1〜10,000が入力できます。

image000.jpg

日付で指定する場合
EBSスナップショットの作成日が特定の日付以前かどうかで指定するには、「〜以前に作成されたEBSスナップショット」を選択して年月日を指定します。過去の日付のみが指定できます。指定された日付は、日本時間における日付として解釈されます。

image001.jpg

2 特定のタグが付いたEBSスナップショットを除外する

削除対象となるEBSスナップショットのうち、削除したくないEBSスナップショットをタグで指定する場合にチェックします。

例えば、以下のように設定するとジョブ実行時にタグ「CASkip:yes」がついているEBSスナップショットは削除されずにスキップされます。

image003.jpg

設定例

「EC2: 過去のEBSスナップショットをまとめて削除」アクションを使ったジョブを作成してみます。

  1. Cloud Automator の運用ジョブ画面から「ジョブの追加」ボタンをクリックします
  2. ジョブを所属させるグループを選択します
  3. トリガーの選択で、任意のトリガーを選択します
  4. アクションの選択で「EC2: 過去のEBSスナップショットをまとめて削除」アクションを選択します
  5. AWSアカウントの選択でAWSアカウントを1〜50件以内で選択します。複数選択する場合は、WindowsではCtrlキーを押しながら、macOSではCmdキーを押しながら選択肢をクリックしてください。また、Shiftキーを押しながら一括選択することもできます
  6. アクションのパラメーターを設定します
    No. オプション 設定値の例
    1 削除するEBSスナップショット 365日以上前に作成されたEBSスナップショット
    2 特定のタグが付いたEBSスナップショットを除外する チェックしない
    image004.jpg

削除されるEBSスナップショットのプレビュー

このアクションでは、ジョブを実行した場合に削除されるEBSスナップショットの一覧をあらかじめCSVファイルとしてプレビューすることができます。

プレビューを行う手順については「対象リソースプレビューCSVについて」をご覧ください

対象リソースプレビューCSVの内容

このアクションの対象リソースプレビューCSVは、文字コードエンコーディングがUTF-8で、以下のサンプルのような内容になっています。

image005.jpg

1行につき、対象となる1つのEBSスナップショットが記録されます。各列に記載される情報は以下の通りです。

AWSアカウントID EBSスナップショットを所有しているAWSアカウントのID(AWSが付与する12桁の番号)
AWSアカウント名 AWSアカウントの名前(AWSアカウントをCloud Automatorに登録した際に付けた名前)
リージョン EBSスナップショットが存在しているリージョン
EBSスナップショットID EBSスナップショットID
作成日(JST) EBSスナップショットが作成された日(日本時間)
備考

空欄の場合、このEBSスナップショットはジョブ実行によって削除されます。

skippedの場合、このEBSスナップショットはジョブ実行時に削除されずスキップされます。

skippedの場合は、以下のようにスキップされた理由も記載されます。

  • skipped (This snapshot is locked.)
    • ロックされているEBSスナップショットであるためスキップされた
  • skipped (This snapshot is created by AWS Backup.)
    • AWS Backupにより作成されたEBSスナップショットであるためスキップされた
  • skipped (This snapshot is associated with an AMI.)
    • AMIに紐付いたEBSスナップショットであるためスキップされた
  • skipped (This snapshot has an exclusion tag.)
    • ジョブの「特定のタグが付いたEBSスナップショットを除外する」に設定されたタグがEBSスナップショットに付与されているためスキップされた
  • skipped (The snapshot status is XXX.)
    • EBSスナップショットの状態が copying または creating だったためスキップされた

実行結果の確認

  1. 作成したジョブのログボタンをクリックします
  2. 実行ログ一覧から該当の実行ログの詳細をクリックします
  3. ログの詳細にて結果を確認します
    「成功」となっていれば該当のジョブが実行されて成功していることが確認できます
    「実行中」となっている場合はジョブの実行中なのでしばらく経ってから確認してください
  4. それぞれのEBSスナップショットの操作結果は「リソース操作結果」の項目で確認できます
    • EBSスナップショットの削除が成功したかどうかは「リソース操作結果」の最初に表示されている4つの箱(completed、skipped、aborted、failed)に表示される件数で把握できます
    • それぞれのリソース操作結果詳細は、見出し部分をクリックすることで詳細表示を展開することができます
  5. リソース操作結果詳細
    • 「AWSアカウント別サマリー」のタブには、AWSアカウント毎、リージョン毎に成否に応じたリソース数の集計が表示されます
    • 「completed」のタブには、問題なく削除ができたリソースの詳細が表示されます
    • 「skipped」のタブには、AWS Backupで管理されていたり、除外する対象とするタグが付いているためスキップされたリソースの詳細が表示されます
    • 「aborted」および「failed」のタブには、処理中に何らかのエラーが発生したリソースの詳細が表示されます

ログのステータス条件

ジョブの実行結果 条件
成功

削除すべきEBSスナップショットがすべて問題なく削除できた場合。

スキップされたEBSスナップショットがあっても成功となります。

失敗

以下の場合に失敗となります。

  • AWSアカウントの権限不足などにより、リージョン一覧やEBSスナップショット一覧を取得できなかった場合
  • 削除に失敗したEBSスナップショットがあった場合
  • 削除すべきEBSスナップショットが1件も存在しなかった場合

リソース操作履歴のステータス条件

リソース操作結果 条件
Completed EBSスナップショットに対するDeleteSnapshot APIの呼び出しが成功した場合。
Failed

以下のいずれかの場合。

  • DeleteSnapshot APIの呼び出しが成功しなかった
  • AWSアカウントあたりのEBSスナップショット処理数の上限を超えた
Skipped

以下のいずれかの場合。

  • 削除対象のEBSスナップショットがロックされている
  • 削除対象のEBSスナップショットがAMIに紐付いている
  • 削除対象のEBSスナップショットに、EBSスナップショットを除外するためのタグが付与されていた
  • EBSスナップショットがAWS Backupで管理されている
  • EBSスナップショットのステータスが copying または creatingだった
Aborted 予期しない問題が発生した場合。

 

注意事項

このアクションには以下のような制限があります。

  • 1つのジョブで設定できるAWSアカウントの数は最大50件
  • 各AWSアカウントで利用可能なすべてのリージョンが処理対象となる(除外するリージョンを指定することはできない)
  • 各AWSアカウント毎に一度に削除できるEBSスナップショットは、すべてのリージョンにあるEBSスナップショットを合計して最大で1,000件
    • したがって、1回のジョブ実行で削除できるEBSスナップショットの上限はAWSアカウント50件×EBSスナップショット 1,000件=50,000件となる
  • AWSアカウント1つにつき、すべてのリージョンにある削除対象EBSスナップショットの合計が1,000件を超えている場合は、ランダムに選ばれた1,000件が対象となり、それ以外のEBSスナップショットは失敗となる
  • AWSバックアップによって取得されたEBSスナップショットはプレビューCSVやジョブの実行の対象になりません(CSVファイルには情報が掲載されず、ジョブ実行後もリソース操作結果に反映されません)。

このアクションで利用されるAWS API

このアクションは以下のAWS APIを利用しています。
実行するAWSアカウントにはこれらのAPIを実行可能なIAMポリシーがアタッチされている必要があります。

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

コメント

0件のコメント

サインインしてコメントを残してください。