ネットワーク

Security Group(SG)完全ガイド|ステートフル仮想ファイアウォール

Security Group(SG)は EC2・RDS・ALB 等のリソースに紐付ける仮想ファイアウォール。ステートフルなので「許可した通信の戻り」は自動的に許可される。すべての通信はデフォルト拒否で、明示的に許可ルールを書く必要がある。NACL より優先度が高く、リソース...

EC2 などのリソースに直接アタッチするステートフル ファイアウォール。AWS のセキュリティ設計の基本。


1. 概要(端的に)

Security Group(SG)は EC2・RDS・ALB 等のリソースに紐付ける仮想ファイアウォールステートフルなので「許可した通信の戻り」は自動的に許可される。すべての通信はデフォルト拒否で、明示的に許可ルールを書く必要がある。NACL より優先度が高く、リソース単位できめ細かく制御できる。


2. 何ができるか

  • インバウンド・アウトバウンドのトラフィック制御
  • ステートフル:許可した通信の戻りは自動許可
  • ホワイトリスト方式:許可ルールのみ(拒否ルールなし)
  • 送信元指定:CIDR 範囲・他 SG・PrefixList
  • 対象リソース:EC2 / RDS / ELB / Lambda / ENI 等
  • 複数 SG アタッチ可:1 リソースに最大 5 SG(デフォルト)

3. 特徴

観点特徴
状態保持ステートフル(戻り通信は自動許可)
ルール種別許可のみ(拒否ルールなし)
デフォルトインバウンド全拒否、アウトバウンド全許可
適用範囲リソース(ENI)単位
追加料金無料
動的更新ルール変更は即時反映

vs NACL(試験頻出)

観点SGNACL
適用対象リソース(ENI)単位サブネット単位
ステートフルステートフルステートレス
ルール種別許可のみ許可・拒否両方
ルール評価全ルール評価番号順に評価
デフォルトインバウンド全拒否全許可
デフォルトアウトバウンド全許可全許可

4. 仕組み

SG は ENI(Elastic Network Interface)に紐付けられた仮想 FW。EC2 を起動する時の SG 指定は、内部的には ENI への SG アタッチを意味する。

ルール構造

項目内容
タイプHTTP / HTTPS / SSH / カスタム TCP 等
プロトコルTCP / UDP / ICMP
ポート範囲80 / 443 / 22 / 範囲指定
ソース(インバウンド)CIDR / 他 SG / PrefixList
デスティネーション(アウトバウンド)同上

SG をソースに指定する強み

ALB の SG: HTTP/HTTPS をインターネットから許可
EC2 の SG: HTTP を「ALB の SG」から許可

ALB の IP が変わっても自動追従。AWS 設計の標準パターン。

動作の流れ

  1. EC2 起動時に SG 指定
  2. インバウンドパケット到着
  3. SG ルール評価(許可ルールに合致するか)
  4. 合致 → 通過、合致なし → 拒否
  5. 戻りパケット → ステートフルで自動通過

制限

  • 1 SG あたりルール 60 個(インバウンド・アウトバウンド各々)
  • 1 ENI あたり最大 5 SG(合計ルール 1,000 個まで)

5. ユースケース

ユースケース 1:Web サーバー

インバウンド:HTTP/HTTPS(0.0.0.0/0)、SSH(自社 IP のみ)。

ユースケース 2:DB サーバー

インバウンド:MySQL/PostgreSQL(アプリサーバーの SG のみ)。

ユースケース 3:3 層構成

ALB SG → アプリ SG → DB SG の連鎖で、各層を厳密に分離。

ユースケース 4:Bastion ホスト

SSH を社内 IP のみ許可、各サーバーは Bastion SG のみから受け付け。

ユースケース 5:マイクロサービス

サービス間通信を SG で細かく制御。


6. 関連用語

  • VPC — SG の動作環境
  • NACL — サブネット単位の FW(補完関係)
  • EC2 / ELB / RDS — SG の主な対象
  • Network-Firewall — VPC 全体の高度な FW

7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFSG の役割、NACL との違い
SAA3 層構成での SG 設計、SG ソース指定
DVALambda・ECS の SG 設定
SOASG ルール変更・トラブルシュート