勉強前イメージ
EC2のイメージを作ってくれるやつ?
でもイメージって手で作れるんじゃね???
調査
EC2 Image builder とは
AMIのアップデートを自動的に自動化出来るサービスになります。
今まで取得したAMIを定期的にアップデートして再作成などしないといけません。
また、アカウントを跨いだAMIの共有なども面倒でした。
EC2 Image builder を使うとインスタンスを起動してアップデートすることなく、
自動的にアップデートでき、EC2 Image builder自体は無料で利用することができます(EBSなどの費用はかかります。)
EC2 Image builder の用語
- ビルドコンポーネント
ソフトウェアのパッケージのダウンロード・インストールなど定義するドキュメントでyaml形式で書かれます。
- レシピ
ソースのイメージとソースイメージに適用して出力イメージに必要な構成を作るコンポーネントを定義するドキュメント
- イメージパイプライン
安全なOSイメージを構成するための自動化構成でレシピからAMIを取得するパイプライン(ビルド・検証・テスト)を定義してるものです。
流れ
作成の流れとして、以下になります。
- コンポーネントを作成
- コンポーネントを元にレシピの作成
- レシピを元にイメージパイプライン作成
- イメージパイプラインからAMIの取得
作ってみる
- イメージパイプラインを作成
ホーム > EC2 Image builder へ進み、イメージパイプラインを作成を行います。
- パイプラインの詳細を指定
パイプライン名を指定します。
また、どういう頻度や方法でビルドするのかを決めます。
- レシピを選択
レシピを作成します。
既存のレシピはなかったので新しく作りました。
今回はAMIを作成、またレシピの名前とバージョンの指定を行います。
ここではOSやイメージ、OSのバージョンをどうするのかの指定をします。
コンポーネントを指定します。
今回はpythonとmariadb、phpを入れてみました。
テストコンポーネントも指定します。
rebootするように指定しました。
- インフラストラクチャ設定
インフラは今回デフォルトにしますが、
普通に業務で使う際は色々決まりがあると思うので、 「新しいインフラストラクチャ設定を作成する」 から
キーペアなどを設定してください
- ディストリビューションの設定を定義
こちらも今回デフォルトにしますが、
アカウント横断でAMIを使う際などは 「新しいディストリビューション設定を作成する」 から
アカウントなどの設定をしてください
- 最終確認
設定に間違いがないか確認を行い、パイプラインを作成します。
- パイプラインの作成完了
パイプラインが作成できました。
- パイプラインを実行
できたパイプラインを実行してみます。
パイプラインにチェックを行い、アクションから「パイプラインの実行」を行います。
test-pipelineの中を見てみると、作成中になっています。
- EC2インスタンス作成
新しいEC2インスタンスができました!
勉強後イメージ
そんなに難しくなく作れた気がする・・・まぁ詳細設定しようとすると難しいんだろうな。。。。
AMIを自動で更新してくれるの嬉しいね