okochangの馬鹿でありがとう

ふらふら適当に世間を生きる日々でございます

セキュリティグループとec2-authorizeコマンド

今回はEC2のセキュリティグループに関するネタ。
知ってる方もいると思いますが、私はこれは面倒とか思ってたわけです。

設定時に遭遇する、SSHの接続を許可する拠点多すぎマジ死にたい』問題です。
拠点が少なかったりサブネットの範囲で指定出来れば良いのですが、範囲指定も出来ず10拠点を許可したい場合もあったりします。
Management Consoleを使ってやると以下のようになります。
f:id:okochang:20120309013930p:plain

こんな事を3回以上やるとストレスで血管が爆発してしまいます。
ec2-authorizeコマンドでも何度も実行するのは嫌なので、RubySDKで書くかとこちらを見てました。
authorize_ingressメソッドで複数のIPアドレスが指定されています。
あれ?と思いましたが、ec2-authorizeコマンドも同様に-s(--cidr)オプションは複数指定が出来ます。

$ ec2-authorize sg-ce78d2cf --protocol TCP -p 80 -s 1.1.1.1/32 -s 2.2.2.2/32
GROUP	sg-ce78d2cf				
PERMISSION			ALLOWS	tcp	80	80	FROM	CIDR	1.1.1.1/32	ingress
PERMISSION			ALLOWS	tcp	80	80	FROM	CIDR	2.2.2.2/32	ingress

逆に複数のセキュリティグループ全てに同一のルールを許可したい場合はこんな感じなんすかね?

とはいえVPCを使えばEC2インスタンスにセキュリティグループそのものをを追加したり、外したり出来るのでもっとラクに運用が出来ます。
VPCにおけるVPN接続は必須ではなく、VPCの使用自体は無料である事はもっと知れ渡ってほしい。
どうせならVPC上でインスタンスを起動してセキュリティグループの運用も柔軟にやりたいんですもの。