[アップデート] EC2 Image Builder で 起動テンプレートを作成・更新できるようになりました!

起動テンプレートを新しいAMIでバージョン更新してくれるところまで、Image Builderがやってくれることになりました!
2021.05.07

ちゃだいん(@chazuke4649)です。

EC2 Image Builder で 起動テンプレートを作成・更新できるようになりました!

EC2 Image Builder が Auto Scaling 起動テンプレートをサポート

何が嬉しい?

今までは Image Builder のイメージ配布フェーズで、起動テンプレートを選ぶことはできませんでした。今回のアップデートで起動テンプレートをサポートしたので、EC2 AutoScaling のワークロードで起動テンプレートを使用している場合、今まで手作業などで更新していた起動テンプレートの新しいバージョンを、Image Builderで自動的にアップデートできるようになりました。

あとはAutoScaling側で「インスタンスの更新」を行えば、Image Builderで作成した最新のAMIに本番インスタンスを簡単に置き換えることができます。

やってみる

Configure AMI distribution settings to use an Amazon EC2 launch template - EC2 Image Builder

上記公式ドキュメントに従って進行します。 尚、既存リソースを使用して、アップデート箇所のみ確認するため、以下工程の(スキップ)箇所はスキップして進めます。

  • イメージパイプラインの作成 ←ここ
  • イメージレシピの作成(スキップ)
  • インフラストラクチャ設定の作成(スキップ)
  • 配布設定の作成 ←ここ
    • 起動テンプレートの作成(スキップ)
  • パイプラインの実行 ←ここ

1.イメージパイプラインの作成

まずはImage Builderコンソールを開き、[イメージパイプラインの作成]を行います。

パイプライン名をtest-image-pipelineとし、Build ScheduleはManualを選択します。

その後、[イメージレシピの作成]と、[インフラストラクチャ設定の作成]は、作成済みの既存リソースを使用するためスキップします。

2.配布設定の作成

メインの配布設定を行います。

まずは[Create new destribution settings]を選択し、名前はtest-ib-distribution-configとします。

次のセクションがメインとなる[Region settings]です。

  • Region: 東京リージョン(デフォルトのまま)
  • Target accounts: 現在使用しているAWSアカウントを入力
  • Output AMI name: test-ami-ibltと入力

新しく追加された[Launch template name]の項目を展開し、入力します。

  • Launch tenplate name: 作成済みの既存リソースblog-prd-lc2を選択
  • [Set the default version]をチェック

以下理由により最新の起動テンプレートをデフォルトバージョンに指定しておく方が良さそうです。

バージョンを指定しない場合は、デフォルトバージョンが使用されます。いずれかの起動テンプレートをデフォルトバージョンとして設定できます — デフォルトでは、起動テンプレートの最初のバージョンです。 引用元)起動テンプレートからのインスタンスの起動 - Amazon Elastic Compute Cloud

以上で、設定は完了です。

3.パイプラインの実行

[Run Pipeline]を実行すると、処理が開始されステータスが[Pending]になりました。

少し待って画面をリフレッシュすると、無事パイプラインのタスクが完了し、ステータスが[Available]に更新されました。(※実際は1度手違いで失敗しているので、下図はVersion1.0.0/3になっています)

]

作成されたイメージの詳細画面を見ると、AMIIDがami-01b3e959a21495a1cで、名前がtest-ami-iblt...のイメージが作成されていることがわかります。

最後に、起動テンプレートのコンソールから確認すると、起動テンプレートblog-prd-lc2にAMIIDが[ami-01b3e959a21495a1c]でバージョン2が追加されていることが確認できました。

説明にもImage Builderによって作られたと記載がありますね。

検証は以上です。

終わりに

今回のアップデートにより、AutoScalingユーザーのImage Builderを使ったAMI更新の自動化が強化され、手作業などの工数を減らすことができるようになりました。やったね!

それではこの辺で。ちゃだいん(@chazuke4649)でした。

参考URL

What is EC2 Image Builder? - EC2 Image Builder

EC2 Image Builder の記事一覧 | DevelopersIO