「どっちで通信を止めればいいの?」
「ステートフルとステートレスって、結局どっち?」
セキュリティグループとネットワークACLとは、VPC内の通信を許可・拒否で制御する2層のファイアウォールです。守る場所も、動き方も違います。あなたがこの2層の対比を最初に押さえると、通信制御の混乱が消えます。
この記事では、2層の守る範囲を対比し、最大の違いである戻り通信の挙動を具体で示し、対応表で一気に整理します。そのうえで「どちらを使うか」の判定フローと、現場でつまずくよくある失敗まで示します。AWSソリューションアーキテクト(SAA)のセキュア設計対策に効きます。
1. 2層のファイアウォール — 守る範囲が違う

まず、2つは守る場所が違います。ネットワークACL(NACL)は、サブネット(VPCを区切ったまとまり)の出入口に立つ、サブネット全体の関門です。一方セキュリティグループ(SG)は、インスタンス(正確にはENI=ネットワークインターフェース)に付く、その1台専用の関門です。
あなたが外から通信を送ると、それは先に外側のNACLを通り、次に内側のSGを通ります。どちらか一方でも止めれば、通信は届きません。この二段構えが、VPCの通信制御の土台です。VPCそのものの成り立ちは AWS VPCとは で前提を掴めます。
2. 戻り通信で分かれる、ステートフルとステートレス

あなたが2つを分けるとき、最大の手がかりになるのが戻り通信(応答)の扱いです。ここは仕様として正確に押さえてください。
SGはステートフルです。行きの通信を許可すれば、その戻りは自動で許可されます。戻り用のルールを別に書く必要はありません。対してNACLはステートレスで、行きと戻りをそれぞれ明示的に許可する必要があります。片方だけ開けても、応答は返りません。
具体で見ましょう。Webサーバーが80番ポートで通信を受けるとき、SGなら「80番の受け付けを許可」の1行で、応答も自動で戻ります。NACLでは、80番の受け付けに加えて、応答が返る戻り用のポート範囲も別に許可しないと、通信が途中で止まります。あなたが「行きは通ったのに返事が来ない」に出会ったら、この戻りの設定を真っ先に疑うと早く切り分けられます。
3. 対応表で一気に押さえる
あなたがここまでの違いに、ルールの書き方と評価のしかたを足すと、全体像が1枚の表に収まります。SAAで問われる要点は、ほぼこの表の中にあります。
| 観点 | セキュリティグループ(SG) | ネットワークACL(NACL) |
|---|---|---|
| 適用単位 | インスタンス(ENI)ごと | サブネットごと |
| 状態の扱い | ステートフル(戻りは自動許可) | ステートレス(戻りも明示許可) |
| 書けるルール | 許可のみ | 許可と拒否の両方 |
| 評価のしかた | 全ルールを見て、許可があれば通す | 番号の若い順に見て、最初に合致した行で決定 |
| 主な役割 | インスタンスの防御(主役) | サブネット境界の補助 |
4. どちらを使うかの判定フロー
実際の設計で「SGとNACL、どちらに書くか」を決める道筋を、フローにしました。基本はSGを主役に組み、NACLはサブネット単位の粗い網として重ねます。
両方を通らないと通信が届かないので、SGとNACLを重ねると二重の網(多層防御)になります。一方が設定ミスで通してしまっても、もう一方が止める余地が残る、という考え方です。当社の現役エンジニアの実務感覚でも、まずSGを主役に細かく許可を設計し、NACLはサブネット境界の補助にとどめるのが扱いやすい形です。NACLをこまごまと触りすぎると、戻り通信のポート開け忘れで通信が詰まり、原因の切り分けに時間を取られます。あなたも最初は、SG中心で組み立てると迷いにくくなります。ファイアウォールという守りの考え方そのものは ファイアウォールとIDS・IPSとは で土台を押さえられます。
5. よくある失敗と、SAAでの問われ方

最後に、現場で最も多いつまずきを1つ。NACLはステートレスなので、インバウンドを許可しても、戻り(アウトバウンドのエフェメラルポート)を開け忘れて応答が返らないという詰まりです。「行きは通っているのに、なぜか返事が来ない」の多くがこれです。SGなら戻りは自動で通るので、この失敗は起きません。
あなたがSAAで対峙するのは、この性質をそのまま突く出題です。狙われやすいのは次の3点です。アクセス制御の全体像は AWS IAMとは ともあわせて押さえると、通信制御と権限制御の役割分担が見えてきます。
- ステートフルかステートレスか → SGはステートフル、NACLはステートレス
- 適用単位はどちらか → SGはインスタンス(ENI)、NACLはサブネット
- 拒否ルールを書けるのはどちらか → NACLだけ(SGは許可のみ)
次のステップ
セキュア設計が試験全体でどう問われるかを俯瞰し、学習の順番を立てたいなら、AWSソリューションアーキテクト(SAA)の試験範囲と勉強法ガイド で優先順位を整理するのがおすすめです。
理解を得点に変えるなら、AWS SAA セキュア設計の問題集 で、SGとNACLを含む設問に手を動かして慣れておくのが近道です。