ネットワークACL【Network Access Control List】ネットワークアクセスコントロールリスト
ネットワークACLとは?

ルールは番号順に評価され、最初に一致した内容が適用される。どのルールにも合致しない通信は、末尾に自動配置されたデフォルトの拒否ルールによって遮断される。設定できる条件は、送信元IPアドレスや送信先IPアドレスの範囲、プロトコル、ポート番号の組み合わせであり、許可と拒否の両方を明示的に記述できる。
ネットワークACLは「ステートレス」(stateless)な動作をする。これは通信の行きと戻りを結びつけずに個別に評価することを意味し、インバウンド(受信)とアウトバウンド(送信)それぞれに対してルールを定義しなければならない。例えば、TCP通信では、外部からの接続を許可するだけでなく、戻りパケット用のポート範囲(通常1024〜65535番)もアウトバウンドルールで明示的に開放する必要がある。
同じVPC内のアクセス制御機能として、「セキュリティグループ」(security groups)も存在する。こちらはEC2インスタンスなどのリソース単位に適用されるのに対し、ネットワークACLはサブネット全体の境界で機能する。また、セキュリティグループは「ステートフル」(stateful)であり、許可した受信通信への応答は自動的に通過する。両者は多重防御の観点で補完的に使われることが多く、ネットワークACLはセキュリティグループの設定に不備があった場合の第二の防衛線としても機能する。
各サブネットにはネットワークACLが必ず一つ関連付けられる。一つのネットワークACLを複数のサブネットに適用することも可能で、共通のルールを一括管理できる。新規作成のサブネットにはデフォルトのネットワークACLが自動的に割り当てられ、初期状態では全通信が許可されている。カスタムのネットワークACLを作成した場合は、全通信が拒否の状態から設定を開始する。