すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:内部ネットワークのアクセス制御にセキュリティグループを使用する

最終更新日:Nov 25, 2025

セキュリティグループは、インターネット向けトラフィックと内部トラフィックの両方に対してステートフルファイアウォール機能を提供します。セキュリティグループを使用して、内部ネットワーク通信を制御し、サブネットを隔離し、レイヤー 4 ネットワークアクセスを管理します。

セキュリティリスク

同一の Virtual Private Cloud (VPC) 内のすべての Elastic Compute Service (ECS) インスタンス間の完全なネットワーク接続は、ラテラルムーブメントや不正アクセスなどのセキュリティリスクを生み出します。たとえば、内部ネットワーク上の ECS インスタンスが侵害されたり、ウイルスに感染したりした場合、その脅威は同じネットワーク上の他のインスタンスに広がる可能性があります。さらに、内部ネットワーク上のサービスは認証と権限付与が脆弱なことが多く、ネットワーク内からの不正アクセスの格好の標的となります。

セキュリティグループを使用して異なるサービスクラスターを隔離したり、インスタンス間のラテラルネットワークアクセスをブロックしたりすることで、内部のラテラルムーブメントや不正アクセスのリスクを効果的に軽減できます。

ベストプラクティス

セキュリティグループで異なるサービスクラスターを隔離する

データベースクラスターと Web サーバークラスターという 2 つの ECS インスタンスクラスターがあるとします。データベースクラスター内のインスタンスは相互に通信する必要がありますが、Web サーバークラスター内のインスタンスは通信する必要はありません。目的は、Web サーバークラスターがデータベースクラスターのサービスポートにのみアクセスできるようにすることです。

image

データベースクラスターの IP アドレス範囲が 10.1.0.0/24 で、Web サーバークラスターの範囲が 10.2.0.0/24 であると仮定します。サービスポートは 5432 で、これは PostgreSQL のデフォルトです。セキュリティ目標は、Web サーバークラスターがデータベースクラスターのサービスポートにのみアクセスできるようにすることです。他のポートへのアクセスや、データベースクラスターから Web サーバークラスターへのアクセスを含む、他のすべてのアクセスは拒否する必要があります。考えられるセキュリティグループ構成は次のとおりです。

  1. セキュリティグループ A を作成します。ソース 10.2.0.0/24 から宛先ポート 5432 へのトラフィックを許可するインバウンドルールを、優先度 1 で追加します。データベースクラスターインスタンスをセキュリティグループ A にアタッチします。

  2. セキュリティグループ B を作成します。Web サーバークラスターインスタンスをセキュリティグループ B にアタッチします。

: デフォルトでは、セキュリティグループは明示的に許可されていないすべてのインバウンドトラフィックを拒否し、明示的に拒否されていないすべてのアウトバウンドトラフィックを許可します。したがって、他のアクセスを拒否するためにセキュリティグループ A にルールを追加する必要はありません。また、Web サーバークラスターのサービスポートへのアクセスを許可するためにセキュリティグループ B にルールを追加する必要もありません。

タグを使用して、特定のタグを持つ複数の ECS インスタンスを、同じタグを持つセキュリティグループにアタッチできます。たとえば、データベースクラスター内のすべての ECS インスタンスにタグ cluster:PostgreSQL を追加できます。次に、同じタグをセキュリティグループ A に追加します。次に、ACS-ECS-CorrectSecurityGroupInstancesByTags OOS テンプレートを実行し、タグ値をパラメーターとして入力します。これにより、インスタンスがバッチ操作でセキュリティグループにアタッチされます。詳細については、「タグを使用して ECS インスタンスを検索し、同じタグを持つセキュリティグループに追加する」をご参照ください。

単一のセキュリティグループ内で ECS インスタンスを隔離する

前の例では、Web サーバークラスター内のインスタンスは相互に通信する必要はありません。データベースクラスターは、同期と管理のためにいくつかのポートを開いておく必要があるだけです。したがって、グループ内のすべての内部通信を許可する必要はありません。このプラクティスは、侵害された ECS インスタンスから脅威がラテラルに広がるのを防ぎます。

これを実現するためにマイクロセグメンテーションを使用できます。マイクロセグメンテーションでは、デフォルトで、セキュリティグループ内のインスタンスは相互に通信できません。特定のポートでの通信を明示的に許可する必要があります。

エンタープライズセキュリティグループを使用できます。エンタープライズセキュリティグループは、強制的な内部隔離を実施します。隔離ルールは変更できません。

基本セキュリティグループを使用することもできます。デフォルトでは、基本セキュリティグループ内のインスタンスは相互に通信できます。これは、システムが内部トラフィックを許可するために非表示の高優先度ルールを自動的に追加するためです。カスタムルールは、グループ外からのトラフィックにのみ適用されます。内部通信を明示的に拒否する必要があります。セキュリティグループの詳細ページで、次の図に示すように、内部アクセスポリシーを「内部隔離」に変更します。

次に、内部通信ポートでのトラフィックを明示的に許可する必要があります。たとえば、10.1.0.0/24 アドレス範囲のデータベースクラスターの場合、内部通信にはポート 2379 が必要です。セキュリティグループ A にルールを追加して、ソース 10.1.0.0/24 から宛先ポート 2379 へのインバウンドトラフィックを優先度 1 で許可できます。

注: ECS インスタンスが複数のセキュリティグループにアタッチされており、あるグループが内部トラフィックを許可し、別のグループがそれを隔離する場合、複合的な効果として内部トラフィックが許可されます。

複数のセキュリティグループを使用する場合の複合的な効果に注意する

インスタンスは複数のセキュリティグループにアタッチできます。すべてのグループのルールは、優先度に基づいて結合され、適用されます。予期しない結果を避けるために、最終的な結合ルールを確認してください。これらのルールは、特定のインスタンスのセキュリティグループページで確認できます。

コンプライアンス機能

過度に寛容なネットワークアクセスルールを確認する

VPC フローログを使用して、クラスター内の通信パターンを分析できます。これにより、過度に寛容なセキュリティグループルールを特定し、セキュリティグループの権限を強化できます。