AWSのSecurity GroupとNetwork ACLの違いを理解する

スポンサーリンク
Security Specialty
スポンサーリンク

はじめに

AWSでは、ネットワークセキュリティを管理するために**Security Group(セキュリティグループ)Network ACL(ネットワークACL)**の2つの機能が用意されています。

どちらもアクセス制御を行いますが、適用範囲や動作に違いがあり、それぞれに適した使いどころがあります。

本記事では、まずSecurity Groupについて説明し、その後Network ACLとの違いと使い分け方を紹介します。

Security Groupとは?

Security Group(セキュリティグループ)は、AWSでリソースレベルに適用されるアクセス制御の仕組みです。

例えば、EC2インスタンスやRDSなどの各リソースに直接適用し、リソースごとに異なるトラフィックの許可設定ができます。

Security Groupはステートフルな仕組みで、インバウンド(受信)トラフィックを許可すれば、対応するアウトバウンド(送信)トラフィックも自動的に許可されるため、シンプルな構成が可能です。

  • 適用レイヤー: リソース単位(各インスタンスやデータベースなどに適用)
  • ルールのタイプ: ステートフル(受信ルールがあれば送信も自動で許可)
  • 特徴: 許可ルールのみ設定可能(拒否の設定はできない)

Security Groupの用途

Security Groupは、個々のリソースに対してポートレベルでのアクセスを細かく管理するのに適しています。

各リソースに対して異なるポートやプロトコルのアクセスを許可したい場合に、リソースごとに異なるSecurity Groupを設定することで、柔軟な管理が可能です。

例: Security Groupの使いどころ

たとえば、Webサーバー用にポート80(HTTP)やポート443(HTTPS)を許可し、管理用のSSHアクセスにはポート22を開放するといった設定ができます。

また、特定のIPアドレスのみからアクセスを許可する設定も行えます。

  • Webサーバーの場合:HTTP/HTTPSトラフィック(ポート80/443)を許可
  • 管理アクセスの場合:特定のIPからのSSHアクセス(ポート22)を許可

Network ACLとは?

Network ACL(ネットワークACL)は、AWSのVPC内のサブネットレベルに適用されるアクセス制御リストです。Network ACLはステートレスな仕組みで、インバウンド(受信)とアウトバウンド(送信)トラフィックが独立して管理されます。つまり、送信を許可するルールを設定しても、受信も別途許可する必要があります。

  • 適用レイヤー: サブネット単位(VPC内のサブネットに対して適用)
  • ルールのタイプ: ステートレス(受信と送信のトラフィックが独立)
  • 特徴: 許可と拒否の両方のルールを設定可能

Network ACLの用途

Network ACLは、VPC全体で共通のセキュリティルールを設定したい場合に適しています。

たとえば、特定のIP範囲からのアクセスを一括して拒否したい場合や、全サブネットでの共通のフィルタリングルールを適用する際に利用されます。

例: Network ACLの使いどころ

例えば、VPC内のすべてのサブネットで、特定のIP範囲からのアクセスを拒否する、あるいは特定のポート番号だけを許可するといった設定が可能です。

Network ACLは、ネットワーク全体でのアクセス制限やホワイトリスト・ブラックリスト方式の制御に向いています。

Security GroupとNetwork ACLの使い分け

Security GroupとNetwork ACLはどちらも重要なセキュリティ機能ですが、使いどころが異なります。以下の表で特徴を比較し、それぞれの推奨利用シーンをまとめました。

Security Group Network ACL
リソース単位でのアクセス制御が可能 サブネット単位でのアクセス制御
ステートフル(受信が許可されれば送信も許可) ステートレス(送信・受信を個別に設定)
許可ルールのみ設定可能 許可・拒否ルール両方が設定可能
アプリケーションポートごとのアクセス制御 全サブネットでのIP範囲やプロトコルの制限

例: 使い分けのケース

  • Security Groupを使う場面:
    • アプリケーションごとに異なるポートやIPアドレスを許可する場合
    • EC2やRDSといったリソースごとに個別のアクセス制御が必要な場合
  • Network ACLを使う場面:
    • サブネット全体でのIPレンジの制限やネットワークレベルでのアクセス制御が必要な場合
    • ブラックリストやホワイトリスト方式で、複数のリソースに一貫した制御を行いたい場合

まとめ

AWSのネットワークセキュリティを設計する際、Security GroupとNetwork ACLは重要な役割を果たします。

それぞれの特徴と使い分けを理解し、適切に活用することで、安全かつ効率的なネットワーク設計が可能になります。

タイトルとURLをコピーしました