Piculet
AWSのセキュリティグループの設定をRubyのDSLで管理できるCLIツール。
作成者サイト
http://so-wh.at/entry/20131105/p1
Github
https://github.com/winebarrel/piculet
インストール
インストール
gem install piculet --no-ri --no-rdoc
確認
➜ piculet piculet -v piculet 0.2.3 ➜ piculet piculet Usage: piculet [options] -p, --profile PROFILE_NAME -k, --access-key ACCESS_KEY -s, --secret-key SECRET_KEY -r, --region REGION -a, --apply -f, --file FILE -n, --names SG_LIST --ec2s VPC_IDS --dry-run -e, --export -o, --output FILE --split --no-color --debug
security credentialsを記載
➜ vim ~/.aws/credentials [default] aws_access_key_id=AKIxxxxxxxxxxxxxxxx aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxx
セキュリティグループを取得
piculet -e -o Groupfile -r ap-northeast-1
➜ cat Groupfile ec2 "vpc-[vpc-id]" do security_group "default" do description "default VPC security group" ingress do permission :any do groups( "default" ) end end egress do permission :any do ip_ranges( "0.0.0.0/0" ) end end end end
セキュリティグループが多い場合はsplitオプションを使用すると、
ファイルを分けてくれるため管理がし易い。
➜ piculet piculet -e -o Groupfile -r ap-northeast-1 --split Export SecurityGroup write `./vpc-xxxxxxx.group` write `./vpc-xxxxxxx.group` write `Groupfile`
セキュリティグループの適用
他のVPCへの移行やセキュリティグループの編集を行う場合の手順
移行先のcredentials追加
➜ vim ~/.aws/credentials [hoge] aws_access_key_id=AKIxxxxxxxxxxxxxxxx aws_secret_access_key=xxxxxxxxxxxxxxxxxxxxx
Groupfile編集
require 'vpc-[移行先もしくは編集先のVPC-ID].group'
テスト
piculet -a -r ap-northeast-1 -p hoge --dry-run
適用
piculet -a -r ap-northeast-1 -p hoge
etc
お手軽なセキュリティグループの管理と移行が可能になった!
元記事はこちらです。
「piculetで管理するAWSセキュリティグループ」