ネットワーク

Network ACL(NACL)とは?サブネット単位のステートレス FW

NACL は サブネット単位で適用するステートレスファイアウォール。SG(リソース単位・ステートフル)と組み合わせて 多層防御 を構成する。許可・拒否 両方のルールが書け、特定 IP のブロックなどに有効。番号順に評価される点が SG と異なる重要ポイント。 ---

サブネット単位で適用するステートレスなファイアウォール。SG と組み合わせて多層防御を実現。


1. 概要(端的に)

NACL は サブネット単位で適用するステートレスファイアウォール。SG(リソース単位・ステートフル)と組み合わせて 多層防御 を構成する。許可・拒否 両方のルールが書け、特定 IP のブロックなどに有効。番号順に評価される点が SG と異なる重要ポイント。


2. 何ができるか

  • サブネット境界での FW:サブネットに出入りする全パケットを評価
  • 許可・拒否ルール:両方記述可(SG は許可のみ)
  • ステートレス:戻り通信は明示ルール必要
  • 番号順評価:低い番号から順に評価、最初にマッチしたルールで決定
  • ブロックリスト方式:特定 IP の遮断に強い

3. 特徴

観点特徴
状態保持ステートレス(戻りも明示ルール必要)
ルール種別許可・拒否両方
適用範囲サブネット単位
デフォルト NACL全許可(イン・アウトとも)
カスタム NACL全拒否(明示許可必要)
評価順ルール番号 1〜32766(小さい順)

SG vs NACL 詳細比較

観点SGNACL
適用対象リソース(ENI)サブネット
ステートフルレス
ルール許可のみ許可 + 拒否
評価全ルール(OR)番号順(最初のマッチ)
戻り通信自動許可明示ルール必要
デフォルトインバウンド拒否 / アウトバウンド許可全許可(デフォルト NACL)

4. 仕組み

NACL は サブネット境界に置かれた網。サブネットに入る/出る全パケットを評価する。1 サブネットに 1 NACL(明示しなければデフォルト NACL)。

ルール構造

項目内容
ルール番号1〜32,766(小さい順に評価)
タイププロトコル名
プロトコルTCP / UDP / ICMP / ALL
ポート範囲ポートまたは範囲
ソース / デスティネーションCIDR
アクションALLOW / DENY

評価ロジック

ルール 100:許可 HTTP from 0.0.0.0/0
ルール 200:拒否 ALL from 1.2.3.4/32
ルール *(暗黙):拒否 ALL

→ 1.2.3.4 からの HTTP リクエスト
  → ルール 100 で許可される(先に評価される)
  → ルール 200 まで到達しない

拒否を先に書く必要あり(小さい番号で)

ステートレスの注意点

  • インバウンドで HTTP(80)を許可
  • レスポンスはエフェメラルポート(1024-65535)から戻る
  • アウトバウンドでエフェメラルポート許可も必要

番号付けの慣習

  • 100 単位で増分(後から間に追加可能)
  • 拒否ルールは小さい番号
  • 許可ルールはその後

5. ユースケース

ユースケース 1:DDoS 対策

攻撃元 IP を NACL で拒否(SG にはない機能)。

ユースケース 2:規制要件

特定国・特定 IP 範囲のブロック。

ユースケース 3:管理サブネットの隔離

管理用サブネットへのアクセスを社内 IP のみに NACL で限定。

ユースケース 4:多層防御

SG と NACL の二重ガードで、SG 設定ミスを NACL でカバー。


6. 関連用語

  • VPC — NACL の動作環境
  • Subnet — NACL の適用単位
  • SG — リソース単位の FW(補完関係)
  • Network-Firewall — より高度な FW

7. 関連サイト

AWS 公式

参考


🎓 試験での出題傾向

試験重要度主な出題パターン
CLFNACL の概念、SG との違い
SAANACL vs SG の使い分け(頻出)、ステートレス挙動
DVANACL の影響でアプリ通信が拒否される問題
SOANACL 運用・トラブルシュート