セキュリティグループとネットワークACLについて、あまり理解できていなかったので、ココで改めてまとめておく。
セキュリティグループは、インスタンスのファイアウォールで、ネットワークACLは、サブネットのファイアウォールである。
ネットワークACLが村(サブネット)の壁(門)だとすると、セキュリティグループは個々の家(インスタンス)の鍵のようなもの。
セキュリティグループ
- 許可ルールのみ設定可能(拒否ルールがない)
- ステートフル(リクエストに対するレスポンスは、ルールに関わらず通過する)
- デフォルトのインバウンドルールがないため、許可ルールを追加する必要がある(アウトバウンド側は全て許可)
- 全てのルールを評価する
ネットワークACL
- 許可ルールと拒否ルールがある
- ステートレス(レスポンスはルールによって評価される)
- デフォルトはインバウンド・アウトバウンド共に、全てのトラフィックを許可(カスタムACLを作成した場合は、全て拒否になるため許可ルールの設定が必要)
- ネットワークACLを複数のサブネットに関連付けることができるが、1つのサブネットに複数のネットワークACLを関連付けることはできない
- ルール番号の小さいものから評価される
補足:
デフォルトのネットワークACLの場合は、関連するサブネットを出入りするすべてのトラフィックが許可設定になる。
つまり、デフォルトだとサブネットに対してファイアウォールが機能していない状態になっている。(簡単な構成の場合は、セキュリティグループのファイアウォールで問題なし)