セキュリティグループとec2-authorizeコマンド
今回はEC2のセキュリティグループに関するネタ。
知ってる方もいると思いますが、私はこれは面倒とか思ってたわけです。
設定時に遭遇する、『SSHの接続を許可する拠点多すぎマジ死にたい』問題です。
拠点が少なかったりサブネットの範囲で指定出来れば良いのですが、範囲指定も出来ず10拠点を許可したい場合もあったりします。
Management Consoleを使ってやると以下のようになります。
こんな事を3回以上やるとストレスで血管が爆発してしまいます。
ec2-authorizeコマンドでも何度も実行するのは嫌なので、RubyのSDKで書くかとこちらを見てました。
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上でインスタンスを起動してセキュリティグループの運用も柔軟にやりたいんですもの。