FURUTIMES 更新停止中(資格取得のため)

【初学者向け】セキュリティグループとネットワークACLの違いまとめてみた。

  • 2020年9月1日
  • AWS
AWS

おつかれさまです。あきおです。

本日はセキュリティグループとネットワークACLの違いについてまとめてみました。

この2つはVPCの通信制御として利用されますが、違いが分かりづらいです。

セキュリティグループはインスタンス単位の通信制御に利用し、ネットワークACLはサブネットごとの通信制御に利用されます。

あきお
AWSを学び始めたばかりの頃はここの理解に苦しみました。

この記事を読み、少しでも理解していただけたら幸いです。

セキュリティグループ

EC2やELB、RDSなどインスタンス単位の通信制御に利用します。インバウンド(外から内)とアウトバウンド(内から外)の両方の制御が可能です。

セキュリティグループはステートフルであり、ネットワーク内部に届いたデータに対するレスポンスは、アウトバウンドの設定に関わらず送信できます。

また、送信されたリクエストに対するレスポンスは、インバウンドの設定に関わらず受信できます。

デフォルトでは全アクセス拒否であり、アクセスを許可するIPアドレスやセキュリティグループを設定できます。

セキュリティグループの設定画面ではプロトコルを選択して、アクセス許可したいソースを設定します。

あきお
セキュリティグループはソースにセキュリティグループを選択できるため、柔軟な設定ができます。

ネットワークACL

サブネットごとの通信制御に利用します。セキュリティグループと同様でインバウンドとアウトバウンドの両方の制御が可能です。

ネットワークACLはステートレスであり、インバウンドとアウトバウンドを予め設定しないと、セキュリティグループのように通信できません。

デフォルトでは全アクセスを許可しており、アクセスを許可と拒否したいIPアドレスを設定できます。

ネットワークACLの設定画面ではルール番号を付け、プロトコルを選択し、アクセスの許可/拒否を設定します。

トラフィックを許可する際には最も低いルール番号を適用します。

あきお
SSH(22)をルール#50で拒否しているため、ルール#100は適用されません。

まとめ

こんな感じで、セキュリティグループとネットワークACLの違いについてまとめてみました。

セキュリティグループネットワークACL
インスタンス単位の制御サブネット単位の制御
ステートフルステートレス
アクセス許可を設定アクセス許可/拒否を設定
制御項目にセキュリティグループを設定できる制御項目にセキュリティグループを設定できない

ネットワークACLでゆるく通信制御をして、セキュリティグループで細かい通信制御をすると設定しやすいと感じました。

あきお
ネットワークACLはインとアウトの設定が必要であるため、私のような初学者には難しかった。

両者の特性を活かすことで、高いセキュリティレベルを担保できることは間違いないです。

それではおつかれさまでした。