ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
概要
セキュリティグループ(Security Group)とは、クラウド上の仮想マシン(インスタンス)やコンテナ、データベースなどに直接付与する、インスタンス単位の仮想ファイアウォールです。どの送信元から、どのポートへの通信を許可するかをルールとして定義し、許可していない通信はすべて遮断します(デフォルト拒否)。
従来のオンプレミスでは、ファイアウォールはネットワークの境界(ルータやアプライアンス)に置くのが一般的でした。これに対しセキュリティグループは、個々のサーバそのものに「持ち運べる防壁」を貼り付けるイメージです。サーバが別のサブネットへ移動しても、同じセキュリティグループを付けていれば同じ通信制御が適用されます。クラウドでは、この粒度の細かいアクセス制御が安全性の要になります。
仕組み
セキュリティグループはインバウンドルール(そのインスタンスへ入ってくる通信)とアウトバウンドルール(そのインスタンスから出ていく通信)の 2 種類を持ちます。各ルールは「プロトコル・ポート範囲・送信元(または宛先)」で構成されます。
Web サーバ用セキュリティグループ (インバウンド)
┌──────────┬─────────┬──────────────────┐
│ プロトコル │ ポート │ 送信元 │
├──────────┼─────────┼──────────────────┤
│ TCP │ 443 │ 0.0.0.0/0 (全世界) │ ← HTTPS 公開
│ TCP │ 80 │ 0.0.0.0/0 │ ← HTTP 公開
│ TCP │ 22 │ 203.0.113.10/32 │ ← SSH は自社IPのみ
└──────────┴─────────┴──────────────────┘
※ 上記以外の着信はすべて拒否
セキュリティグループの最大の特徴はステートフルであることです。あるインバウンド通信を許可すると、その通信に対する戻りのパケットは、アウトバウンドルールに関係なく自動的に通過します。たとえば「443 番への着信」を許可すれば、その応答(サーバ → クライアント)は明示的に許可しなくても返せます。「行きを許可すれば帰りも通る」ため、ルールがシンプルになります。
もう 1 つの強力な機能が、ルールの送信元に別のセキュリティグループを指定できる点です。たとえば DB サーバのセキュリティグループで「送信元 = アプリサーバのセキュリティグループ」とすれば、アプリサーバが増減しても IP を書き換える必要がなく、構成変更に強い設計になります。
構成・実用例
3 層構成でセキュリティグループ同士を参照させ、階層ごとにアクセスを絞る例です。
[インターネット]
│ 443/80
┌───▼──────────── ALB-SG ───────────────┐
│ in : 443,80 from 0.0.0.0/0 │
└───┬───────────────────────────────────┘
│ 8080 (送信元 = ALB-SG)
┌───▼──────────── APP-SG ───────────────┐
│ in : 8080 from ALB-SG │
└───┬───────────────────────────────────┘
│ 3306 (送信元 = APP-SG)
┌───▼──────────── DB-SG ────────────────┐
│ in : 3306 from APP-SG │ ← アプリ層からのみ
└───────────────────────────────────────┘
AWS CLI でセキュリティグループを作り、SSH を特定 IP に限定する例です。送信元を 0.0.0.0/0 にしないことが重要です。
# セキュリティグループ作成
aws ec2 create-security-group --group-name web-sg \
--description "web" --vpc-id vpc-xxxx
# SSH(22) を自社グローバルIPのみ許可
aws ec2 authorize-security-group-ingress --group-id sg-xxxx \
--protocol tcp --port 22 --cidr 203.0.113.10/32
このようにセキュリティグループ参照で階層を組むと、「DB は誰からアクセス可能か」がルールを見るだけで明確になり、監査やトラブルシュートが容易になります。
主な用途
- 公開ポートの限定 — Web サーバなら 443/80 のみ公開し、それ以外は閉じます。
- 管理ポートの保護 — SSH(22)・RDP(3389)を自社 IP や踏み台サーバからのみ許可します。
- 階層間アクセス制御 — セキュリティグループ参照で「DB はアプリ層からのみ」のような関係を表現します。
- マイクロサービス間の通信制御 — サービスごとにグループを分け、必要な経路だけを開けます。
関連技術との比較
| 項目 | セキュリティグループ | ネットワーク ACL(NACL) |
|---|---|---|
| 適用単位 | インスタンス(ENI)単位 | サブネット単位 |
| 状態管理 | ステートフル(戻りは自動許可) | ステートレス(戻りも明示許可) |
| ルールの種類 | 許可ルールのみ | 許可・拒否ルール両方 |
| 評価順序 | 全ルールを総合判定 | 番号順に最初に一致したもの |
| 送信元の指定 | IP/CIDR + 他のセキュリティグループ | IP/CIDR のみ |
| 主な役割 | サーバ単位の細かい制御 | サブネット境界の粗い制御 |
注意点・落とし穴
- 0.0.0.0/0 で SSH/RDP を開けない — 管理ポートを全世界に開放するのは典型的な事故原因です。送信元 IP を必ず絞ります。
- セキュリティグループは「許可」しか書けない — 特定の IP だけ拒否したい(ブロックリスト)用途には向きません。それは NACL の役割です。
- NACL とは別物 — ステートフル/ステートレスの違いを混同すると、NACL 側で戻り通信を許可し忘れて「行きは通るのに帰りが落ちる」不具合が起きます。
- ルールの上限 — 1 グループあたりのルール数や、1 インスタンスに付けられるグループ数には上限があります。むやみに増やさず整理します。
- 最小権限を徹底する — 「とりあえず全許可」で動かすと、後から絞るのは難しくなります。最初から必要な通信だけを開けます。
関連リンク
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
- VPC
- サブネット(クラウド)
- セキュリティグループ
- クラウドロードバランサ
- VPNゲートウェイ・専用線接続
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- IPv6とは|128bitアドレス・コロン16進表記/::省略・リンクローカル・SLAAC・デュアルスタック NEW 2026-06-22 12:34:44
- MAC アドレスフィルタリングの仕組みと限界 | ネットワーク入門 NEW 2026-06-22 12:19:10
- VPNとは|暗号トンネル・サイト間/リモートアクセス・IPsec/SSL-VPN/WireGuardを解説 NEW 2026-06-22 12:19:10
- Web通信プロトコル入門 HTTP/2・HTTP/3・WebSocket・gRPC・WebRTC | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebRTC とは ブラウザ間 P2P の音声・映像・データ通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/2 とは 多重化・HPACK・バイナリフレーム | ネットワーク入門 NEW 2026-06-22 12:17:25
- HTTP/3 (QUIC) とは UDP ベースの低遅延 Web 通信 | ネットワーク入門 NEW 2026-06-22 12:17:25
- WebSocket とは 全二重リアルタイム通信 ws/wss | ネットワーク入門 NEW 2026-06-22 12:17:25
- gRPC とは HTTP/2 + Protocol Buffers の高速 RPC | ネットワーク入門 NEW 2026-06-22 12:17:25
- ファイアウォールとは|パケットフィルタ・ステートフル・DMZ・次世代FW(L4/L7)を解説 NEW 2026-06-22 12:17:24
- TLS/SSLの仕組み|ハンドシェイク・暗号スイート・前方秘匿性・証明書検証をわかりやすく解説 NEW 2026-06-22 12:17:24
- CDN とは エッジキャッシュ・TTL・Cloudflare/CloudFront | ネットワーク入門 NEW 2026-06-22 12:17:24
- iptables/nftablesとは|テーブル・チェーン・ルール例・永続化をLinux視点で解説 NEW 2026-06-22 12:17:24
- HAProxy とは frontend/backend と設定例 | ネットワーク入門 NEW 2026-06-22 12:17:24
- 証明書と認証局(CA)とは|X.509・信頼チェーン・DV/OV/EV・失効(CRL/OCSP)を解説 NEW 2026-06-22 12:17:24
コメントを削除してもよろしいでしょうか?