PackerでカスタマイズしたAMIを作成してみる2018-02-01PackerでカスタマイズしたAMIを作成してみるPackerPackerを利用してすこしカスタマイズしたAMIを作成してみたいと思います。そもそもPackerとは?JSON形式で記載した設定ファイルのとおりにマシンイメージ(AWSであればAMI)を管理、作成することができるツールです。なにか共通の設定を入れたAMIをみんなで利用しているんですが、この共通のAMIってなんの設定がされているんだっけ?というのはよくある話かと思います。そんなときに、Packerを利用してAMIを作成していれば、設定ファイルにAMIのカスタマイズした内容がはいっているため、AMIのブラックボックス化を避けることができ、管理運用が楽になります。実際にAMIを作成してみるPackerを利用してかんたんにAMIを作成してみたいと思います。事前準備アクセス権限の設定PackerがAWSの環境をさわることができるようにAWS_ACCESS_KEY_IDとAWS_SECRET_ACCESS_KEYを環境変数に設定します。AWS_SECRET_ACCESS_KEY='secretkey1234567890'PackerがAWSで動いていて、そのインスタンスに適切にロールが適用されている場合、この作業は必要ありません。設定ファイルをつくっていきます。これに記載したとおりにAMIが作成できます。今回は以下のような設定ファイルをtemplate.jsonという名前で作成してみます。設定ファイルを作成したら、正しい形式かどうか確認します。successfullyと表示されるはずです。間違っていた場合、その箇所が表示されるので設定ファイルを直しましょう。successfully.Packerの実行いよいよPackerを実行してAMIを作成していきます。Packerの動きは以下の実行結果でも出力されていますが、一度インスタンスを作成して、それを削除、AMIを作成する。いった動きになっています。完了まですこし時間がかかります。ami-daabc7bc実行結果を確認してみる以下のようにAMIが作成されていることがわかります。@amzn-updatesおわりにPackerを利用してAMIを作成することができました。面倒ですが、一度PackerをとおしてAMIを作成していれば、Packerの設定ファイルでこのAMIになにがインストールされているのか、どんな設定をしたのかがわかるようになります。めんどうなドキュメント作成からすこし開放されるかもしれません。誰?インフラエンジニアをやっている27歳の個人事業主。LPIC-304AWSアソシエイト2つおしごとあれば。(4)月別アーカイブLinksGitHubtwitterスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。