👻
【AWS SAA-C03】Security Groups (セキュリティグループ) とは?
AWS Security Groups は、AWSリソース(主にEC2インスタンス)に対する仮想ファイアウォールの役割を果たします。インバウンド(受信)およびアウトバウンド(送信)のトラフィックを制御し、特定のIPアドレスやポート番号に基づいてアクセスを許可または拒否できます。
特徴
-
ステートフル(Stateful)
- インバウンドルールで許可されたトラフィックは自動的にアウトバウンドルールも許可される(その逆も同様)。
-
デフォルトで全拒否
- セキュリティグループは、すべてのトラフィックを拒否するところから始まり、許可ルールを追加することでアクセスを制御。
-
リソース単位での設定
- EC2インスタンス、RDSインスタンス、Elastic Load Balancer(ELB)などに関連付け可能。
-
複数のセキュリティグループを1つのリソースに関連付け
- リソースごとに複数のセキュリティグループを組み合わせて使用可能。
-
許可のみのルール
- セキュリティグループはトラフィックの「許可」ルールのみを設定でき、「拒否」ルールは使用不可。
-
動的な変更
- セキュリティグループの変更は即時に適用される。
ユースケース
-
Webアプリケーション
- HTTPおよびHTTPSトラフィック(ポート80および443)のみを許可。
- 特定のサーバーからのSSHアクセス(ポート22)を許可。
-
データベース
- RDSインスタンスのセキュリティグループで、特定のアプリケーションサーバーからのトラフィック(例: ポート3306)を許可。
-
内部通信
- EC2インスタンス間でのトラフィックを特定のポートで許可。
-
ELBとの連携
- ELBに関連付けたセキュリティグループで、HTTPトラフィックを許可し、バックエンドのインスタンスと安全に通信。
主要な構成要素
項目 | 説明 |
---|---|
インバウンドルール | リソースが受け入れるトラフィックを定義。例: 特定のポート番号やIPアドレスを許可。 |
アウトバウンドルール | リソースから送信されるトラフィックを定義。例: 外部ネットワークへの特定ポートのトラフィックを許可。 |
許可される条件 | IPアドレス範囲(CIDR形式)、ポート番号、プロトコル(TCP/UDP/ICMP)などを指定。 |
リソース関連付け | セキュリティグループは、リソースごと(例: EC2インスタンス、RDSなど)に関連付けられる。 |
AWS SAA-C03 試験で覚えるべきポイント
-
ステートフルの挙動
- インバウンドトラフィックが許可されると、それに対応するアウトバウンドトラフィックも許可される。
-
許可ルールのみ
- セキュリティグループは「許可」のルールのみ定義可能。「拒否」ルールは使えない(これはネットワークACLの役割)。
-
インバウンドとアウトバウンドの設定
- 例: SSHアクセス(ポート22)を特定のIPアドレスからのみ許可するルールを設定。
-
リソース間通信
- セキュリティグループ自体をソースとして指定できる(例: Webサーバーのセキュリティグループをデータベースのセキュリティグループに許可)。
-
動的な変更
- セキュリティグループを変更すると即時に適用され、リソースの再起動は不要。
-
デフォルト動作
- 作成されたセキュリティグループはすべてのインバウンドトラフィックを拒否し、すべてのアウトバウンドトラフィックを許可。
Security GroupsとネットワークACLの違い
項目 | Security Groups | ネットワークACL(NACL) |
---|---|---|
対象範囲 | リソース単位(例: EC2インスタンス) | サブネット単位 |
ルールタイプ | 許可ルールのみ | 許可ルールと拒否ルールの両方が可能 |
ステートフル | ステートフル(戻りトラフィックは自動許可) | ステートレス(戻りトラフィックは明示的に許可が必要) |
適用範囲の柔軟性 | 特定のIPアドレスまたはセキュリティグループ | CIDR範囲を指定 |
試験対策まとめ
-
Security Groupsのステートフルな特性を理解。
-
インバウンド/アウトバウンドルールの設定方法を学ぶ。
-
ネットワークACLとの違いを明確に把握。
-
セキュリティグループを利用したリソース間通信(例: Webサーバーとデータベース)のユースケースに慣れる。
セキュリティグループは、AWS SAA-C03試験で頻出のトピックです。特に、どのルールをどのユースケースで設定するべきかを問う問題に対応できるようにしましょう!
Discussion