[アップデート] EC2 Image Builder が Ubuntu/RHEL/CentOS/SLES に対応しました!
EC2 Image BuilderのサポートOSが追加されました。
EC2 Image Builder adds support for Ubuntu, RHEL, CentOS, and SLES
EC2 Image Builderとは
EC2 Image BuilderはEC2のイメージの作成・更新を専用のパイプラインによって簡素化・迅速化するAWSサービスです。 サービスの詳細についてはリリース当時のブログや公式ページなどをご参照ください。
EC2のイメージ作成を劇的に効率化するEC2 Image Builderが発表されました! EC2 Image Builder(AWS公式ページ)
サポートされるOS
- Amazon Linux 2
- Windows Server 2019/2016/2012 R2
- Windows Server version 1909
- Red Hat Enterprise Linux (RHEL) 8 and 7 [NEW!]
- CentOS 8 and 7 [NEW!]
- Ubuntu 18 and 16 [NEW!]
- SUSE Linux Enterprise Server (SUSE) 15 [NEW!]
2019年末のサービス発表当初からサポートされている Amazon Linux 2 および Windows Server に加えて、Ubuntu / RHEL / CentOS / SLES がサポートされるようになりました。
利用可能なリージョン
有効化されているすべてのリージョンで利用可能です。
やってみた
CentOS 7 に Apache をインストールしたイメージを作成してみます。 詳細な手順については下記のブログなどをご参照いただければと思います。
EC2 Image builderに入門してみた EC2 Image BuilderでMackerelエージェントイントール済みのAMI(Auto Scaling環境向け)を作成してみた
Source imageの指定
CentOSにチェックを入れ、ベースイメージとして最新版のイメージ(arn:aws:imagebuilder:ap-northeast-1:aws:image/centos-linux-7-minimal-x86/2020.3.9)を指定します。
Componentの作成
Definition documentを下記のとおり設定します。
name: InstallApache description: InstallApache schemaVersion: 1.0 phases: - name: build steps: - name: UpdateOS action: UpdateOS - name: InstallApache action: ExecuteBash inputs: commands: - sudo yum -y install httpd - sudo systemctl enable httpd - name: validate steps: - name: CheckApache action: ExecuteBash inputs: commands: - rpm -qi httpd - name: test steps: - name: TestApache action: ExecuteBash inputs: commands: - sudo systemctl status httpd
Image Pipelineの作成
Build componentsとして上記のComponentを指定します。 それ以外はデフォルトの設定でImage Pipelineを作成します。
Image Pipelineの実行
作成したImage Pipelineを実行します。
EC2インスタンスの起動
Image Pipelineの実行後しばらくするとAMIが作成されるので、これを使用しEC2インスタンスを起動します。インスタンスにはパブリックIPを付与しました。当該IPにWebブラウザからアクセスしてみます。
無事ApacheがCentOS上で動きました。
終わりに
この度のアップデートにより主要なOS(Linuxディストリビューション)はほぼすべてEC2 Image Builderのサポート対象に含まれることとなりました。 サポートOSの少なさゆえに使用を諦めていた皆さまも、これを気にEC2 Image Builderをさわってみるのはいかがでしょうか。
このブログがほんの少しでも世界を良くできれば嬉しいです。 コンサルティング部の西野(@xiyegen)がお送りしました。