はじめに
この記事はAWS SAA試験勉強のための、セキュリティグループに関する知識のまとめです。
セキュリティグループとは
EC2インスタンスやDBインスタンスなどのインスタンスに対する通信トラフィックを制御するファイアウォール。
EC2のセキュリティ設定にはセキュリティグループを用います。
一般論として、SSHでの接続はポート番号22。HTTPは80。HTTPSは443。
セキュリティグループはステートフルであるため、インバウンドトラフィックがルールで許可されていれば、インバウンドトラフィックに対するレスポンス(アウトバウンドトラフィック)はルールに関係なく許可される。そのため、明示的にアウトバウンドトラフィックのルールを設定する必要はありません。
セキュリティグループにできないこと
設定は許可ルールのみ指定し、拒否ルールは指定できません。
セキュリティグループの変更
セキュリティグループの変更内容は設定した際に即時に反映される仕組みとなっています。
セキュリティグループの変更はIAM管理者ならできます。
ローカルPCから踏み台サーバー(Bastion)にアクセス
社内ネットワークにあるローカルPCから踏み台サーバーにアクセスするためには、社内IP範囲(CIDR)からポート22番のインバウンドアクセスのみを許可するセキュリティグループを踏み台サーバーインスタンスに設定することが必要です。
WEBサーバーへのインターネットからのアクセスを許可
443番ポートで0.0.0.0からのインバウンドトラフィックを許可するセキュリティグループをウェブ層のEC2インスタンスに設定。
DB インスタンスへのアクセスを制限
セキュリティグループは DB インスタンスへのアクセスを制限できます。セキュリティグループは、特定のポート上のアプリケーション層からのみアクセスを提供します。
セキュリティグループはサブネットを保護できない
セキュリティグループは個々のインスタンスに適用されるため、サブネット全体を直接保護することはできません。セキュリティグループはVPCの中のリソース(例えば、EC2インスタンス)にトラフィックが入ってくる際や、リソースから出て行く際のトラフィックをフィルタリングします。しかし、サブネットそのものには適用されません。
サブネットを保護するためには、以下のような他の手段が使われます:
- ネットワークACL(アクセスコントロールリスト):VPCのサブネットレベルでトラフィックを制御することができます。これはセキュリティグループとは異なり、サブネット内の全てのリソースに適用されます。
- ルーティングテーブル:サブネット内のトラフィックの流れを制御し、どのトラフィックがどこにルーティングされるかを決定します。