1.10のクラスタを全手動で構築するのをAnsibleで全自動化した」の続きで、さらにPackerを組み合わせて、VM作成まで自動化した話。AnsibleをWindows(MSYS2)で動かした話でもある。書いたPackerテンプレートはGitHubに置いた。PackerとはPackerは、様々な種類のVMを構築できるツール。VagrantとかTerraformとかを開発しているHashiCorpが開発している。テンプレートと呼ばれるビルド定義をJSONファイルに書いて、ビルド、プロビジョニング、ポストプロセスを実行して、アーティファクトと呼ばれるビルドの成果物を生成する。ビルドのステップでは、VMを作成して、ハードウェア構成を設定したり、OSをインストールしたりする。以下のような環境でVMを作れる。EC2プロビジョニングのステップでは、ビルドで作ったVMのOS上で指定された操作を実行し、ソフトウェアのインストールなどのセットアップ処理をする。プロビジョニングには以下のようなツールを使える。IDとか)が出力される。ポストプロセスのステップでは、アーティファクトを入力として何らかの処理をして、最終的なアーティファクトを生成する。ポストプロセスでは以下のような処理を実行できる。PATHの通ったところに置くだけでインストールできる。1.2.4のWindows版をインストールした。Packerのテンプレート概要Packerのテンプレートにはビルド、プロビジョニング、ポストプロセスの定義を複数かけて、複数環境のVM生成を1ファイルで定義できる。テンプレートには以下のプロパティを書く。ビルドの定義のリスト。