既存アクションの 「EC2: AMIをリージョン間でコピー」に世代管理機能 を導入しました。 この機能により、コピー先のリージョンで保持するAMIの世代数を指定し、不要なAMIの登録解除ができるようになりました。
これまでの課題
従来の「EC2: AMIをリージョン間でコピー」アクションでは、指定されたタグがついたすべてのAMIがコピーされていました。
そのため、コピー先のリージョンで不必要なAMIの個数が増えてしまい、コストがかさむという課題がありました。
そこで、コピー先リージョンでは保持する世代数を制限することで、不要なAMIの蓄積を防ぎ、コストの最適化を図ることが必要でした。
課題の解決
今回のリリースで、タグ指定による世代管理機能を導入しました。 この機能を活用することで、コピー先のリージョンで指定した世代数のみを保持し、不要なAMIを登録解除できます。
導入によるメリット
- 不要なAMIの登録解除によるコストの最適化
- Cloud Automator内で簡単に世代管理の設定が可能
既存アクションへの影響
既存の「EC2: AMIをリージョン間でコピー」アクションの動作には影響ありません。
そのため、既存のジョブは従来通り動作します。
利用方法
「EC2: AMIをリージョン間でコピー」アクションで世代管理機能を利用するには、以下の手順で設定を行います。
従来通りの動作にしたい場合は手順内の「コピー先に保持する世代数」で「コピー元の世代数に合わせる」を設定してください。
今回の機能追加の詳細については、以下のマニュアルもあわせてご参照ください。
世代管理を行うための前提条件
(本アクションで)世代管理を実現するための条件は以下の通りです。
- アクションの設定が「特定のタグがついたイメージ」を選択していること
- 対象のAMIにアクションに指定したタグが付与されていること
- 対象のAMIがCloud Automatorの「EC2: AMIを作成」アクションから作成が行われていること
既存のアクションで世代管理を設定する場合
- 対象のジョブの編集画面を開きます
- アクションのパラメーター設定にある「コピー先に保持する世代数」で保持する世代数を選択します
- ジョブの更新を行います
- ジョブの詳細画面から「コピー先に保持する世代数」が正しく設定されていることを確認します

新規にジョブを作成し、世代管理を設定する場合
世代管理に関する部分は上記のスクリーンショットと同じ画面になります。
- ジョブの追加画面を開きます
- グループやトリガーに任意の設定を行います
- 「EC2: AMIをリージョン間でコピー」アクションを選択します
- AWSアカウント、コピー先リージョンを設定します
- 「特定のタグがついたイメージ」を選択し、任意の
key
,value
を設定します - 「コピー先に保持する世代数」で保持する世代数を選択します。
- 残りの項目を設定し、ジョブを作成します。
- ジョブの詳細画面から「コピー先に保持する世代数」が正しく設定されていることを確認します
利用イメージ
従来のタグ指定でリージョン間コピーを行なっている場合は以下の画像のように、コピー元と同じ世代数をコピー先で保持します。 この時点ではコピー元が7世代だったので、コピー先にも7世代分のAMIがコピーがされています。

先ほどのアクションに世代数: 2を設定して新たにコピーアクションを実行すると、

このようにコピー先リージョンでは最新の2世代のみを残す形で古い世代のAMIが登録解除されます。
おわりに
今回の世代管理機能の追加により、Cloud Automatorを利用したAMI管理がより柔軟かつ効率的になりました。 今後も運用の最適化につながる機能改善を行っていきますので、ぜひご活用ください!