Skip to content
ec2 automation framework to update ami.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
chef-repo
module
test
.gitignore
Gemfile
LICENSE
README.md
config.yml.template
create_ami.rb
template.json
web_api.rb

README.md

ec2_automation

Chefを利用したAMIの作成/更新を自動化するフレームワークです。

基本動作

crate_ami

chefを利用したAMIの自動作成を行います。

  1. 指定されたamiからEC2インスタンスを立ち上げ、
  2. knife-soloを使いchef-repo内のchef-recipeを実行し、
  3. 更新されたEC2インスタンスから新たにAMIを作成します

web_api

webサーバを起動し、POSTリクエストを受け取ったタイミングで、create_amiを実行します。

GitHubやBitBucketなどのpushをフックして呼び出す事が出来ます。

Requirements

  • ruby-1.9.3
  • rubygems
  • Bundler
  • Chef
  • knife-solo
  • Berkshelf

利用方法

1.インストール

gitからクローン

]$ git clone https://github.com/Kuchitama/ec2_automation.git

依存gemをbundlerで取得

]$ cd ec2_automation.git
]$ bundle install

2.config編集

config.yml.templateを元にconfig.ymlを編集します。

]$ mv config.yml.template config.yml
]$ vi config.yml

3.chef-repository

chef-repoを編集します。knife-solo+Berkshelfを利用出来ます。

]$ cd chef-repo
]$ vi Berksfile


]$ berks install
]$ cd ..

4.run_list編集

chefのjson設定は、template.jsonに記述します。

run_listや、利用するcookbookのattributeなどを書いてください。

]$ vi template.json

5.実行

create_ami.rbを実行します。

]$ ruby create_ami.rb
You can’t perform that action at this time.