【Cloud Automator】「EC2: AMIをリージョン間でコピー」アクションに世代管理機能を追加しました

記事タイトルとURLをコピーする

既存アクションの 「EC2: AMIをリージョン間でコピー」に世代管理機能 を導入しました。 この機能により、コピー先のリージョンで保持するAMIの世代数を指定し、不要なAMIの登録解除ができるようになりました。

これまでの課題

従来の「EC2: AMIをリージョン間でコピー」アクションでは、指定されたタグがついたすべてのAMIがコピーされていました。 そのため、コピー先のリージョンで不必要なAMIの個数が増えてしまい、コストがかさむという課題がありました。

そこで、コピー先リージョンでは保持する世代数を制限することで、不要なAMIの蓄積を防ぎ、コストの最適化を図ることが必要でした。

課題の解決

今回のリリースで、タグ指定による世代管理機能を導入しました。 この機能を活用することで、コピー先のリージョンで指定した世代数のみを保持し、不要なAMIを登録解除できます。

導入によるメリット

  • 不要なAMIの登録解除によるコストの最適化
  • Cloud Automator内で簡単に世代管理の設定が可能

既存アクションへの影響

既存の「EC2: AMIをリージョン間でコピー」アクションの動作には影響ありません。
そのため、既存のジョブは従来通り動作します。

利用方法

「EC2: AMIをリージョン間でコピー」アクションで世代管理機能を利用するには、以下の手順で設定を行います。
従来通りの動作にしたい場合は手順内の「コピー先に保持する世代数」で「コピー元の世代数に合わせる」を設定してください。

今回の機能追加の詳細については、以下のマニュアルもあわせてご参照ください。

世代管理を行うための前提条件

(本アクションで)世代管理を実現するための条件は以下の通りです。

  • アクションの設定が「特定のタグがついたイメージ」を選択していること
  • 対象のAMIにアクションに指定したタグが付与されていること
  • 対象のAMIがCloud Automatorの「EC2: AMIを作成」アクションから作成が行われていること

既存のアクションで世代管理を設定する場合

  1. 対象のジョブの編集画面を開きます
  2. アクションのパラメーター設定にある「コピー先に保持する世代数」で保持する世代数を選択します
  3. ジョブの更新を行います
  4. ジョブの詳細画面から「コピー先に保持する世代数」が正しく設定されていることを確認します

「EC2: AMIをリージョン間でコピー」で世代管理をする

新規にジョブを作成し、世代管理を設定する場合

世代管理に関する部分は上記のスクリーンショットと同じ画面になります。

  1. ジョブの追加画面を開きます
  2. グループやトリガーに任意の設定を行います
  3. 「EC2: AMIをリージョン間でコピー」アクションを選択します
  4. AWSアカウント、コピー先リージョンを設定します
  5. 「特定のタグがついたイメージ」を選択し、任意のkey, valueを設定します
  6. コピー先に保持する世代数」で保持する世代数を選択します。
  7. 残りの項目を設定し、ジョブを作成します。
  8. ジョブの詳細画面から「コピー先に保持する世代数」が正しく設定されていることを確認します

利用イメージ

従来のタグ指定でリージョン間コピーを行なっている場合は以下の画像のように、コピー元と同じ世代数をコピー先で保持します。 この時点ではコピー元が7世代だったので、コピー先にも7世代分のAMIがコピーがされています。

従来の動作

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

世代数2の場合の動作

このようにコピー先リージョンでは最新の2世代のみを残す形で古い世代のAMIが登録解除されます。

おわりに

今回の世代管理機能の追加により、Cloud Automatorを利用したAMI管理がより柔軟かつ効率的になりました。 今後も運用の最適化につながる機能改善を行っていきますので、ぜひご活用ください!