セキュリティグループとは
AWSで頻出するセキュリティグループというものがなんなのかよくわからない状態なので、自分の中での整理をする意味で書いていきたい。
「セキュリティグループとはファイアーウォールである」がわからない
AWS関連書籍などではよく「セキュリティグループとはファイアーウォールです」という説明がされている。ここで、ファイアーウォールに対する自分の理解の曖昧さに気付いた。
ウィキペディアによると、下記のように説明されている。
ファイアウォール(英: Firewall)は、コンピュータネットワークにおいて、ネットワークの結節点となる場所に設けて、コンピュータセキュリティ上の理由、あるいはその他[注釈 1]の理由により「通過させてはいけない通信」を阻止するシステムを指す。
どんな通信を許可するか?を設定できる
要は通信の監視をして、通過して良いものだけを通すということだろう。 AWSではセキュリティグループを作成し、EC2やRDSに紐付けて利用するようだ。
下の図は外から入ってくる(インバウンド)の通過許可ルールを設定する画面。プロトコルや、接続元のIPを指定していける。
例えばHTTPは全IPアドレスから許可するけれども、SSHは自分の自宅IPしか通信させない、というような設定をしていく。
サービスの数だけ適切な許可設定がある
今回、RDSにセキュリティグループを作ったときに感じたのは、セキュリティグループって、EC2だけのものじゃないんだ?ということだった。
ハンズオンでは、EC2だけでなく、ロードバランサーにもRDSにもそれぞれセキュリティグループを作り、紐付けしていた。
ロードバランサーにはHTTPだけを許可し、RDSでは開放するポートを限定していた。
当然といえば当然で、各機能ごとに必要な通信は変わるのだから、役割に応じた設定が必要。