本記事について
本記事はAWS初学者の私が学習していく中でわからない単語や概要をなるべくわかりやすい様にまとめたものです。
もし誤りなどありましたらコメントにてお知らせいただけるとありがたいです。
セキュリティグループ
セキュリティグループとはEC2インスタンスなどに適用することができるファイアウォール機能です。
EC2インスタンスから出る通信(往路)をアウトバウンド、EC2インスタンスに入る通信(復路)をインバウンドと呼びます。
セキュリティグループのデフォルトの設定値はアウトバウンドは全て許可、インバウンドは全て拒否になっています。「去るもの追わず、来るもの拒む」という状態です!付け入る隙がないですね...
そしてセキュリティグループはインスタンスに対し複数適用する事が可能で、ステートフルな制御をします。
(※ステートフルについては私自身こんがらがってしまったので後ほど図で解説します。)
ネットワークACL
ネットワークACLはサブネットに適用する事ができるファイアウォール機能です。
セキュリティグループと同じ様にアウトバウンド通信・インバウンド通信にルールを適用します。ネットワークACLは主にサブネット間の通信の制御に用いられます。
セキュリティグループとの違いとして**「1つのサブネットに1つのネットワークスACLを設定可能」、「デフォルトの設定値は全て許可」**、「ステートレスな制御」が挙げられます。
「ステートフル」と「ステートレス」
ステーツフルとステートレスの違いはどの視点から見るかによって変わってるらしく、私も調べてみましたが決定的な記事が見つけられなかったです。
まあしかし、どの様な動きをするのか分かっていれば言葉の意味などはさほど問題ない!と言い聞かせました...
とりあえず自分がわかりやすい様に図にしてみました。
緑の枠がネットワークACLで、赤の枠がセキュリティグループです。
緑の丸はネットワークACLでの制御が適用された事を表し、赤い丸はセキュリティグループでの制御が適用されたことを表しています。
この図でわかることは往路でセキュリティグループの制御が適用されたら、復路では制御にかかわらず通信は許可されています。
逆にネットワークACLでは往路と復路両方に制御が適用されています。
これらをまとめると往路と復路で制御のルールが同じ(往路が許可されたら復路も許可!)なのがステートフル!
往路と復路で制御のルールを変える事ができるのがステートレス!
とは言ってもこれは私なりの解釈なので気になる方は自分で調べてみてください。
項目 | セキュリティグループ | ネットワークACL |
---|---|---|
選択範囲 | インスタンス | サブネット |
デフォルト設定 | IN : 拒否 OUT : 許可 | 全て許可 |
ステータス | ステートフル | ステートレス |
まとめ
それぞれの違いはいくつかありましたが大きな違いとしてはステートフルとステートレスの部分とインスタンスに適用かサブネットに適用かなのではないでしょうか?
もっとわかりやすい説明があったらぜひとも教えて頂きたいです...