開発時と本番時の制限を切り替える OnDemand SecurityGroupパターン

セキュリティグループ汚れていませんか?

ドキッとしたあなた、あなたですよw!開発時と本番時、さらにはメンテナンス時にセキュリティグループのレコードを追加・修正する方も多いかと思います。AWSはかなり細かくファイアウォールを設定できますので、実用的でありがたい機能なのですが、私が様々な自社・他社のプロジェクトを拝見していると、結構汚れていることがあります。汚れているとはどんな状態か?それは、誰がいつ設定したか分からない必要なのか不要なのか分からない混沌とした状態のセキュリティグループです。

例えば以下のような。。。

ondemand-sg-000

誰がどこからアクセスするんじゃいってツッコミたくなりますよね?

そして最終的には以下のようになってしまいます。

ondemand-sg-001

0.0.0.0/0って全部OKじゃん・・・

セキュリティグループの単位

そもそもセキュリティグループの単位をどうするかって話ですが、私は機能単位にしています。そしてロードバランサーやSSHサーバーなど、開発時と運用時で設定が異なる場合にはその数だけ作成します。Amazon VPCは、複数のセキュリティグループを設定できて後から変更可能で、サーバーへのログインも再起動も必要ありません。それでは、複数のセキュリティグループを作成してアタッチしてみましょう。

まずは必要なセキュリティグループを作成しました。

ondemand-sg-003

EC2インスタンスにアタッチします

作成したセキュリティグループをインタンスに関連づけたいと思います。インスタンス一覧画面からメニューを選択します。

ondemand-sg-004

本番用のIPと開発用のIPの両方からのアクセスを可能とするには以下のように複数選択します。

ondemand-sg-005

本番用のみ許可する場合には片方だけ選択します。

ondemand-sg-006

開発用のみ許可する場合にはもう片方のみ選択します。

ondemand-sg-007

まとめ

セキュリティグループは、今年のうちに大掃除しておきましょう!!