AWSのSecurityGrouopのroleを当てられるcapistranoプラグインcapistrano-ec2group
通常capistranoでroleを定義する際には下記のように記述するわけですが、インスタンス数に変更があった場合
追加したり削除したりがめんどくさいです。
set :app, "app-ip-address" set :web, "web-ip-address"
上記のような問題を解決するプラグインがcapistrano-ec2groupです。
インストール
gem install capistrano-ec2group
コード
deploy.rbに以下の様に追記します。
このように指定するだけで、"web"roleには"securitygroup1"に所属するインスタンスが
"app"roleには"securitygroup2"に所属するインスタンスが対象となります。
require 'capistrano/ec2group' set :aws_access_key_id, 'your_access_key' set :aws_secret_access_key, 'your_secret_access_key' set :aws_pvt_dns, true # capistranoをec2インスタンスから実行する場合に設定します set :aws_params, :region => 'ap-northeast-1' group :securitygroup1, :web group :securitygroup2, :app