capistrano-ec2tag について調べてた
capistrano と ec2 のうまい付き合い方について調べていて、capistrano-ec2tag という gem を見つけたので試してみてました。
こいつは capistrano-ec2group を参考にして作られたもので、
起動している EC2 インスタンスをタグで絞り込んで、capistrano で操作するためのレシピです。
(capistrano-ec2group は Security Group で絞り込むレシピ)
使い方は簡単で、
$ gem install capistrano-ec2tag
した後、deploy.rb で
require 'capistrano/ec2tag' tag 'myapp-web', :web tag 'myapp-app', :app tag 'myapp-db', :db
のように書いておくと、EC2 のインスタンスで
- deploy タグに myapp-web が指定されているものを :web ロールで
- deploy タグに myapp-app が指定されているものを :app ロールで
- deploy タグに myapp-db が指定されているものを :db ロールで
それぞれデプロイしてくれます。
EC2 インスタンスを立ち上げる時にタグを指定すれば、自動的にデプロイのターゲットに含まれてくれるのはよさそうですね。