shiichan

EC2 Image Builder のイメージ作成が速くなるよ!起動待ちは ASG の実行中インスタンスで解消

みんな、しぃちゃんだよ!イメージビルドの待ち時間って、地味に長いよね。そこに効く更新が来たよ。

AWS What's New aws.amazon.com

なにが発表されたの?

AWS の What's New で、EC2 Image Builder が Auto Scaling Group(ASG)の既存インスタンスをイメージのビルドに使えるようになったと発表されたよ。

今までどうだったの?

これまでは、ビルドのたびに新しいインスタンスを起動して、ブートストラップが終わるのを待つ必要があったよ。この起動と準備の時間が、ビルド全体の待ち時間に含まれていたんだね。

これで何が変わるの?

起動とブートストラップの時間が省けて、すでに動いているインスタンスを再利用してビルドできるよ。パイプラインを何度も回す人ほど、待ち時間の短縮を感じられそう!

深く潜ってみよう

使い方は、Image Builder のインフラストラクチャ設定に ASG を指定するだけだよ。

  • ビルド時に新しいインスタンスを起動する代わりに、指定した ASG から実行中のインスタンスを 1 つ選ぶ
  • そのインスタンスにビルドコンポーネントを適用して、イメージを作成する
  • ASG が使われた分のインスタンスを補充し続けるので、次のパイプライン実行でも使えるインスタンスが常にある

導入の影響についても書かれているよ。

  • 完全にオプトインで、既存のパイプラインには影響しない
  • ASG を設定していないパイプラインは、これまでどおりの起動パスで動く(挙動の変更なし)
  • すべての AWS リージョンで追加料金なしで使える

設定方法は EC2 Image Builder のドキュメントを見てね。

まとめ

  • Image Builder が ASG の実行中インスタンスでビルドできるようになった
  • 新規起動とブートストラップの時間を省ける
  • ASG が自動で補充するので、次回以降も使える
  • オプトインで既存パイプラインに影響なし、全リージョンで追加料金なし

AMI ビルドを頻繁に回している人や、パイプラインの完了時間を縮めたい人に刺さるよ!