Security Group は、EC2 などに付ける通信制御です。AWS公式では、EC2インスタンスに対する仮想ファイアウォールとして説明されています。どの通信を許可するかを、インバウンドルールとアウトバウンドルールで決めます。
まず押さえたいポイント
- EC2などに付ける通信制御
- インバウンドとアウトバウンドのルールを持つ
22番を誰に開けるか443番を外へ公開するかのような判断でよく出る- 1つのインスタンスへ複数Security Groupを付けられる
- VPC の中で使う
どんな場面で使うか
Security Groupは、WebサーバーへHTTPSだけ通したい、管理用SSHを社内IPだけに絞りたい、アプリサーバーからDBへだけ通信を許可したい、といった場面で使います。AWSを触り始めると、EC2作成画面でかなり早く出会う単語です。
どう理解するとよいか
初心者向けには、Security Groupを AWSの通信の門番 と考えると分かりやすいです。
OS内のファイアウォールと役割が重なる場面もありますが、AWSのネットワーク層で先に絞るイメージを持つと整理しやすいです。
たとえば、公開Webサーバーなら 443番は全体へ開ける 22番は管理用IPだけに絞る、DBなら 3306番をアプリサーバーからだけ許可する のように考えます。
このとき、どの通信を誰に許すか をインスタンス単位で整理していく入口がSecurity Groupです。
注意点
とりあえず 0.0.0.0/0 で開ける を続けると、あとでかなり危なくなります。
特にSSHやDBポートは、誰からの通信を許可するのかを最初から絞る方が安全です。
また、Security Groupは 付ければ安全になる魔法 ではありません。
OSの設定、アプリの認証、IAM、秘密情報の扱い、ログ確認と合わせて初めて守りとして効いてきます。
詳しい整理は、AWSで最初に覚えたい基本用語まとめ|EC2・IAM・S3・VPCのつながりを整理 も参考になります。