概要
「 EC2: 過去のAMIとスナップショットをまとめて削除」アクションでは、選択した複数のAWSアカウントのすべてのリージョンにおいて、過去のAMIの登録解除およびそのAMIに紐付いたEBSスナップショット(以下スナップショット)の削除を一括して行うことができます。
※わかりやすさのため、以降はAMIの「登録解除」についてもスナップショットと同様に「削除」と表記します。
AMIが過去のものかどうか判定するための基準は、以下の2通りで指定することができます。
- AMIが作成されてからの経過日数
- AMIの作成日が特定の日付以前
例えば、判定するための基準を「365日以上前に作成されたAMI」と指定して3つのAWSアカウントを設定した場合は、3つのAWSアカウントそれぞれで、利用可能な全リージョンにおいて、作成から365日以上経過したAMIとスナップショットが1回のジョブ実行で削除されます。
なお、特定のタグが付与されているAMIを削除する対象から除外することもできます。
設定時のオプション
No. | オプション | 説明 |
---|---|---|
1 | 削除するAMI |
経過日数で指定する場合 日付で指定する場合 |
2 | 特定のタグが付いたAMIを除外する |
削除対象となるAMIのうち、削除したくないAMIをタグで指定する場合にチェックします。 例えば、以下のように設定するとジョブ実行時にタグ「CASkip:yes」がついているAMIとそれに紐づくスナップショットは削除されずにスキップされます。 |
設定例
「EC2: 過去のAMIとスナップショットをまとめて削除」アクションを使ったジョブを作成してみます。
- Cloud Automator の運用ジョブ画面から「ジョブの追加」ボタンをクリックします
- ジョブを所属させるグループを選択します
- トリガーの選択で、任意のトリガーを選択します
- アクションの選択で「EC2: 過去のAMIとスナップショットをまとめて削除」アクションを選択します
- AWSアカウントの選択でAWSアカウントを1〜50件以内で選択します。複数選択する場合は、WindowsではCtrlキーを押しながら、macOSではCmdキーを押しながら選択肢をクリックしてください。また、Shiftキーを押しながら一括選択することもできます
- アクションのパラメーターを設定します
No. オプション 設定値の例 1 削除するAMI 365日以上前に作成されたAMI 2 特定のタグが付いたAMIを除外する チェックしない
削除されるAMIとスナップショットのプレビュー
このアクションでは、ジョブを実行した場合に削除されるAMIとスナップショットの一覧をあらかじめCSVファイルとしてプレビューすることができます。
プレビューを行う手順については「対象リソースプレビューCSVについて」をご覧ください
対象リソースプレビューCSVの内容
このアクションの対象リソースプレビューCSVは、文字コードエンコーディングがUTF-8で、以下のサンプルのような内容になっています。
1行につき、対象となる1つのAMIとそれに紐づくスナップショットが記録されます。各列に記載される情報は以下の通りです。
AWSアカウントID | AMIを所有しているAWSアカウントのID(AWSが付与する12桁の番号) |
---|---|
AWSアカウント名 | AWSアカウントの名前(AWSアカウントをCloud Automatorに登録した際に付けた名前) |
リージョン | AMIが存在しているリージョン |
AMI ID | AMIのID |
AMI作成日(JST) | AMIが作成された日(日本時間) |
EBSスナップショットID | AMIに紐付いているスナップショットのID。複数紐付いている場合は、紐付いているスナップショットがカンマ区切りで列記されます。 |
備考 |
空欄の場合、このAMIはジョブ実行によって削除されます。 skippedの場合、このAMIはジョブ実行時に削除されずスキップされます。 skippedの場合は、以下のようにスキップされた理由も記載されます。
|
実行結果の確認
- 作成したジョブのログボタンをクリックします
- 実行ログ一覧から該当の実行ログの詳細をクリックします
- ログの詳細にて結果を確認します
「成功」となっていれば該当のジョブが実行されて成功していることが確認できます。
「実行中」となっている場合はジョブの実行中なのでしばらく経ってから確認してください - それぞれのAMIおよびスナップショットの操作結果は「リソース操作結果」の項目で確認できます
- AMIとスナップショットの削除が成功したかどうかは「リソース操作結果」の最初に表示されている4つの箱(completed、skipped、aborted、failed)に表示される件数で把握できます
- AMIとスナップショットそれぞれで、どのリソースがどのような結果になったかを知りたい場合は「リソース操作結果詳細 (AMI)」と「リソース操作結果詳細 (EBSスナップショット)」を確認します
- それぞれのリソース操作結果詳細は、見出し部分をクリックすることで詳細表示を展開することができます
- リソース操作結果詳細
- 「AWSアカウント別サマリー」のタブには、AWSアカウント毎、リージョン毎に成否に応じたリソース数の集計が表示されます
- 「completed」のタブには、問題なく削除ができたリソースの詳細が表示されます
- 「skipped」のタブには、AWS Backupで管理されていたり、除外する対象とするタグが付いているためスキップされたリソースの詳細が表示されます
- 「aborted」および「failed」のタブには、処理中に何らかのエラーが発生したリソースの詳細が表示されます
ログのステータス条件
ジョブの実行結果 | 条件 |
---|---|
成功 |
削除すべきAMIおよびスナップショットがすべて問題なく削除できた場合。 スキップされたAMIがあっても成功となります。 |
失敗 |
以下の場合に失敗となります。
|
リソース操作履歴のステータス条件
AMI
リソース操作結果 | 条件 |
---|---|
Completed | AMIに対するDeregisterImage APIリクエストが成功し、一定時間内にAMIが削除された場合。 |
Failed |
以下のいずれかの場合。
|
Skipped |
以下のいずれかの場合。
|
Aborted | 予期しない問題が発生した場合。 |
スナップショット
リソース操作結果 | 条件 |
---|---|
Completed | スナップショットに対するDeleteSnapshot APIリクエストが成功した場合 |
Failed | スナップショットに対するDeleteSnapshot APIリクエストが成功しなかった場合 |
Aborted | 予期しない問題が発生した場合 |
注意事項
このアクションには以下のような制限があります。
- 1つのジョブで設定できるAWSアカウントの数は最大50件
- 各AWSアカウントで利用可能なすべてのリージョンが処理対象となる(除外するリージョンを指定することはできない)
- 各AWSアカウント毎に一度に削除できるAMIは、すべてのリージョンにあるAMIを合計して最大で1,000件
- したがって、1回のジョブ実行で削除できるAMIの上限はAWSアカウント50件×AMI 1,000件=50,000件となる
- AWSアカウント1つにつき、すべてのリージョンにある削除対象AMIの合計が1,000件を超えている場合は、ランダムに選ばれた1,000件が対象となり、それ以外のAMIは失敗となる
このアクションは対象のAMIおよびスナップショットを一括で削除するため、他のアクションに比べて消費されるアクティビティが多くなります。例えば、合計100件のAMIおよびスナップショットが削除対象となるジョブを毎日実行した場合、30日間で約3,000アクティビティを消費する可能性があります。
ご契約中のプランで設定されている運用ジョブ実行上限を超過しないよう、あらかじめ消費アクティビティ数の試算をされることをお勧めします。
このアクションで利用されるAWS API
このアクションは以下のAWS APIを利用しています。
実行するAWSアカウントにはこれらのAPIを実行可能なIAMポリシーがアタッチされている必要があります。