Chefを利用したAMIの作成/更新を自動化するフレームワークです。
chefを利用したAMIの自動作成を行います。
- 指定されたamiからEC2インスタンスを立ち上げ、
- knife-soloを使いchef-repo内のchef-recipeを実行し、
- 更新されたEC2インスタンスから新たにAMIを作成します
webサーバを起動し、POSTリクエストを受け取ったタイミングで、create_amiを実行します。
GitHubやBitBucketなどのpushをフックして呼び出す事が出来ます。
- ruby-1.9.3
- rubygems
- Bundler
- Chef
- knife-solo
- Berkshelf
gitからクローン
]$ git clone https://github.com/Kuchitama/ec2_automation.git
依存gemをbundlerで取得
]$ cd ec2_automation.git
]$ bundle install
config.yml.templateを元にconfig.ymlを編集します。
]$ mv config.yml.template config.yml
]$ vi config.yml
chef-repoを編集します。knife-solo+Berkshelfを利用出来ます。
]$ cd chef-repo
]$ vi Berksfile
]$ berks install
]$ cd ..
chefのjson設定は、template.jsonに記述します。
run_listや、利用するcookbookのattributeなどを書いてください。
]$ vi template.json
create_ami.rbを実行します。
]$ ruby create_ami.rb