セキュリティグループ - AWS

最終更新日: 2026-07-26

TOP(About this memo)) > 一覧(AWS) > セキュリティグループ

セキュリティグループ

基本

ネットワークACL

セキュリティグループとネットワークACLの違い

ソース

セキュリティグループの多段構成

具体例

Webアプリ(画面)+API+バッチ用ワーカー+DB+キャッシュという構成の場合、以下のように「層ごとに1つSGを作り、直前の層のSGだけを許可する」設計がよく使われる。

セキュリティグループ Ingress送信元 Ingressポート 備考
sg-alb 0.0.0.0/0 80, 443 インターネットからの入口のみCIDR指定
sg-app(Web/API) sg-alb アプリの待受ポート(例: 3000, 4000) ALBからのみ許可
sg-worker (なし) インバウンド無し。外向き通信のみ
sg-db sg-app, sg-worker DBのポート(例: 5432) アプリ・ワーカー両方から許可
sg-cache sg-app, sg-worker キャッシュのポート(例: 6379) アプリ・ワーカー両方から許可

トラフィックの流れを図にすると以下のようになる。

Internet
   │ 80, 443
   ▼
┌─────────┐
│ sg-alb  │
└─────────┘
   │ Ingress送信元: sg-alb
   ▼
┌────────────────────┐   ┌────────────┐
│ sg-app (Web/API)   │   │ sg-worker  │  ← Ingressルール無し(外向きのみ)
└────────────────────┘   └────────────┘
   │ Ingress送信元: sg-app / sg-worker (両方から許可)
   ▼
┌─────────┐   ┌───────────┐
│ sg-db   │   │ sg-cache  │
└─────────┘   └───────────┘

デフォルトのアウトバウンド設定

インバウンドルールが1つも無いセキュリティグループ

ソースの指定方法の使い分け(セキュリティグループ vs CIDRブロック)

具体例(VPCエンドポイント用SG)

VPCエンドポイント(Interfaceタイプ)にアタッチするセキュリティグループは、CIDRブロックで指定する代表例。ECRやSecrets Managerへの通信は、Web/API/Workerなど「VPC内のどのリソースが使うか」を限定する意味が薄いため、個々のSGを参照するのではなくVPC全体のCIDRブロックを送信元にするのが自然になる。

sg-vpce (VPCエンドポイント用)
  Ingress: VPCのCIDRブロック全体 → 443

一方、前述のsg-app/sg-worker→sg-db/sg-cacheのような「特定の層からのみアクセスさせたい」ケースではセキュリティグループ参照を使う、という対比で覚えるとよい。