「どっちで通信を制限すればいいの?」
「ステートフルとステートレスって何…?」
そんな疑問を抱える、AWS SAAの学習を始めたあなたへ。
結論から言えば、
セキュリティグループはサーバー単位、ネットワークACLはサブネット単位で通信を制限する仕組みです
と説明されるのが一般的です。
「セキュリティグループ」と「ネットワークACL(Network ACL)」は、どちらもVPCの中で通信を許可したり制限したりするための仕組みのこととされています。守る範囲と動き方がそれぞれ違います。
この記事では、両者の基本、ステートフルとステートレスの違い、ENI単位とサブネット単位という守る場所の違い、そして「許可だけ」と「許可と拒否の両方」という設定の違いを、SAAを学ぶあなた向けにやさしくまとめました。
1. 2つはどちらも通信を守る関所

あなたが2つの言葉に出会ったとき、まず押さえたいのは「どちらもVPCの中で通信をチェックする関所」という共通点です。
VPC(AWS上に作る自分専用の仮想ネットワーク)の中では、外から来る通信や中から出る通信を、ルールでチェックできます。その関所が2種類あり、それがセキュリティグループとネットワークACLです。
→ そもそもVPC自体の基礎を押さえたい時は、AWS VPCとは で前提を掴めます。
2. 守る場所の違い(ENI単位とサブネット単位)

あなたが「どこを守るのが違うの?」と思ったとしたら、その答えは関所を置く場所にあります。
セキュリティグループは、サーバー(EC2など)に付くネットワークの口、つまりENI単位で働きます。一方ネットワークACLは、サブネット(VPCを区切った小さなまとまり)単位で、そのサブネットを出入りする通信を守ります。
- セキュリティグループ: サーバー1台ごと(ENI単位)に効く
- ネットワークACL: サブネット全体に効く
サブネット単位のネットワークACLは、その中にあるサーバー全体へ一律で効きます。サーバーごとに細かく分けたいときはセキュリティグループ、という使い分けになると言われています。
たとえば1つのサブネットにWebサーバーとアプリサーバーが並んでいる場合、ネットワークACLのルールはその両方へ同じように効きます。一方セキュリティグループは、Webサーバー用とアプリサーバー用で別々に割り当てられ、同じものを複数台へまとめて付けることもできます。役割が同じサーバーをグループでそろえやすいのも特徴です。
3. 動き方の違い(ステートフルとステートレス)

あなたが2つを区別するうえで一番大事なのが、ステートフルとステートレスという言葉です。少し難しく聞こえますが、考え方はシンプルです。
セキュリティグループはステートフルです。行きの通信を許可すると、その戻りの通信は自動で許可されます。一方ネットワークACLはステートレスで、行きと戻りをそれぞれ別に設定する必要があります。
ネットワークACLで戻りの通信を許可するとき、見落としやすいのが「どのポート番号を開けるか」という点です。通信の戻りは、一時的に割り当てられる高い番号のポート(エフェメラルポートと呼ばれる範囲)を使うことが多いとされています。そのため行きのルールだけでなく、この戻り用のポート範囲も許可しておかないと通信がうまくいかない、というつまずきが起きやすいと言われています。セキュリティグループならこの戻りは自動で通るので、初心者のうちはまずセキュリティグループ中心で考えると混乱しにくいでしょう。
4. 設定の違い(許可だけか、許可と拒否の両方か)

あなたが両者を使い分けるうえでもう1つ知っておきたいのが、設定できる内容の違いです。
セキュリティグループは、許可するルールだけを設定します。書いていない通信は通らない、というシンプルな考え方です。一方ネットワークACLは、許可と拒否の両方を設定できます。特定の通信だけをはっきり拒否したい、という使い方ができます。ここまでの違いを表で整理します。
| 観点 | セキュリティグループ | ネットワークACL |
|---|---|---|
| 守る場所 | サーバー(ENI単位) | サブネット単位 |
| 動き方 | ステートフル(戻りは自動許可) | ステートレス(戻りも設定) |
| 設定できる内容 | 許可のみ | 許可と拒否の両方 |
→ 通信を守る考え方の基礎は ファイアウォールとIDS・IPSとは でも掴めます。
5. まとめ: 今日からできる、最初の一歩

ここまで読んだあなたは、2つの違いをしっかり押さえられたはずです。要点を3つに整理します。
- 守る場所: セキュリティグループはサーバー単位、ネットワークACLはサブネット単位
- 動き方: セキュリティグループはステートフル、ネットワークACLはステートレス
- 設定: セキュリティグループは許可のみ、ネットワークACLは許可と拒否の両方
あなたが今日からできる、最初の一歩を3つ用意しました。
- 用語整理: 「ENI単位とサブネット単位」「ステートフルとステートレス」「許可のみと許可・拒否」を1行メモにまとめる(3分)
- 関連記事: VPCに進み、2つの関所が置かれる土台を押さえる(5分)
- 力試し: セキュア設計の問題を1問解いて、理解度を確認する(2分)
たった10分で、2つの違いは輪郭のある知識に変わります。完璧に覚えてから動くより、まず関連記事を1本読んでみる。それが、あなたにとっていちばん速い学び方です。
次のステップ
セキュリティグループとNACLがセキュア設計でどう問われるかを含めた試験の全体像は、AWS SAA試験全体概要で俯瞰できます。
理解度を確かめたいなら、AWS SAA セキュア設計の問題集でセキュリティグループ/NACLを含むセキュア設計を実際に解いてみるのが近道です。