Amazon Linuxで何気なくchkconfig --listしたら、見たこと無いやつがあった。 $ chkconfig --list cloud-init 0:off 1:off 2:on 3:on 4:on 5:on 6:off cloud-init-user-scripts 0:off 1:off 2:on 3:on 4:on 5:on 6:off cloud-init?なんだそれ? CloudInit → [cloud-init is the Ubuntu package that handles early initialization of a cloud instance.]とのことで、元々Ubuntuのパッケージだったそうなんだけど、要はEC2インスタンスの初期起動時のお決まりのセットアップをスクリプト化しちゃうものらしい。なるほど便利そう。 CloudInitのスクリプトは、EC2インスタンスをLaunchするときの以下の画面、User Data枠に記載する。 例えばこんな感じ。 パッケージ全部をyum upgradeして、指定したパッケージを追加で入れて、かつコマンド実行する。今回はAWS-SDKがセットアップされた状態にしたかった。 #cloud-config repo_upgrade: all packages: - ruby-devel - rubygems - gcc - make - libxml2-devel - libxslt-devel runcmd: - [gem, install, nokogiri] - [gem, install, aws-sdk] - [sed, -i, 's/en_US/ja_JP/', /etc/sysconfig/i18n] - [cp, /usr/share/zoneinfo/Asia/Tokyo, /etc/localtime] EC2インスタンス起動後、ログを確認し、エラーが無いことを確認する。 # cat /var/log/cloud-init.log どれどれ... $ gem list --local *** LOCAL GEMS *** a