EC2サービスにEC2 Image Builderが追加されました。
これは、EC2インスタンスを作成するときに、常に最新のOSやPythonなどの導入したい物を選択することで、指定周期などで更新をAMIを更新してくれるサービスです。
社会人になったばかりの頃、開発チーム向けのOSイメージビルドの仕事がアサインされたのを今でも思い出します。時間はかかるし、エラーはよく出るし、再作成とスナップショット再取得をなんども実行する必要がありました。さらに、ご想像のとおり、そのあとには大量の手動テストが控えていたのです。
OSを最新に保つことの重要性は現在も変わりません。場合によっては自動化スクリプトを開発してくれるチームがあるかもしれませんが、いずれにせよVMのスナップショットを手動で取得するという作業は、多くのリソースを消費し、都度エラー対処が要求される、時間のかかる作業であることに変わりはありません。今日ここで、EC2 Image Builderを発表できることを大変うれしく思います。これは、自動化されたビルドパイプラインによる、簡単、かつ高速にセキュアなWindows ServerおよびLinux OSイメージをビルドし保守していくためのツールです。
参照元: https://aws.amazon.com/jp/blogs/news/automate-os-image-build-pipelines-with-ec2-image-builder/
料金
イメージ作成に使われるEBS等の料金はかかりますが、EC2 Image Builderそのものの料金はかかりません。
EC2 Image Builderはお客様に無料で提供され、すべての商用AWSリージョンで利用できます。画像の作成、保存、共有に使用される基礎となるAWSリソースに対してのみ課金されます。
参照元: https://aws.amazon.com/jp/blogs/news/automate-os-image-build-pipelines-with-ec2-image-builder/
実際には何をしているか?
(公式からの引用: https://aws.amazon.com/jp/image-builder/
EC2 Image Builderではパイプラインという形で、
- OS
- ビルドコンポーネント
- イメージ更新
- テスト内容
などを指定して作成することで、イメージ更新のタイミングで最新のOSなど、パイプラインに設定した内容で新しくAMIを作ってくれます。
その際に、SSMなどを使うのでIAMロールで指定してあげる必要があります。
現在(2019/12/5)の時点ではOSはAmazon Linux2とWindows Serverしか使えませんが、ビルドコンポーネントやテストの内容は自分で作成することも可能なので、仮に、毎回同じものをインスタンス作成時に導入する作業があり、最新のものが必要であれば、EC2 Image Builderで管理するのはかなり自動化され作業が減ると思います。
実際に使ってみました!