目次
セキュリティグループとネットワークACL(NACL)の違いのまとめ
適用単位 | ルールの種類 | デフォルト動作 | |
---|---|---|---|
セキュリティグループ | ENI(インスタンス)単位 | 許可のみ(デフォルト拒否) | 全拒否(ルールを作らないと通らない) |
ネットワークACL | サブネット単位 | 許可・拒否の両方を設定可能 | すべて許可(デフォルトNACLの場合) |
ACLは、Access Control Listの略です。
セキュリティグループ(Security Group)は、SGとも呼ばれます。
セキュリティグループとは
AWSの 仮想ファイアウォールです。
EC2インスタンス、RDS、Lambda(VPC内)、ENIなどのリソースにアタッチでます。
通信のインバウンド(受信)とアウトバウンド(送信)を制御します。
特徴
「拒否ルール」は書けません。(デフォルトは全拒否 → 指定したものだけ許可)。
TCP22番でInboundを許可すると、Outboundで戻りの通信は自動で通ります。
セキュリティグループはインスタンスやENIごとに紐づきます。
複数のセキュリティグループを1つのリソースに割り当て可能です。
注意点
セキュリティグループはVPCごとに分かれます。 他VPCへは直接使えません。
許可リスト方式なので、必要最小限のルールにすることが重要です。
0.0.0.0/0で22番や3389番を開けっぱなしにしておくことは、セキュリティリスクです。
ネットワークACL(NACL)とは
VPCのサブネット単位で適用されるファイアウォールです。
サブネットに入ってくるトラフィックと、出ていくトラフィックを制御できます。
許可ルールと拒否ルールの両方を設定可能です。
特徴
サブネットにあるすべてのリソース(EC2, RDSなど)に影響します。
デフォルトNACLとカスタムNACLがあります。
デフォルトNACL | 作成時に各VPCに自動で1つある 最初は「全トラフィック許可」になっている |
カスタムNACL | カスタムNACLを作ると「全トラフィック拒否」が初期状態 |
Inboundで80番を許可しても、Outboundで応答ポート(Ephemeral Port, 1024–65535)を許可しないと通信不可です。
ルール番号は、1〜32766まであり、小さい番号から評価されマッチしたら処理終了です。
注意点
戻り通信も必ず設定が必要で管理が複雑です。
サブネット内のすべてのリソースに影響するため注意が必要です。
関連の記事