セキュリティグループは、Elastic Compute Service(ECS)インスタンスのインバウンドトラフィックとアウトバウンドトラフィックを管理する仮想ファイアウォールです。同じセキュリティ要件を持ち、相互に信頼できる ECS インスタンスを同じセキュリティグループに追加できます。これにより、インスタンスをセキュリティゾーンに分割し、クラウドリソースを保護できます。このトピックでは、セキュリティグループの機能、種類、およびベストプラクティスについて説明します。また、セキュリティグループの管理方法についても説明します。
機能
ECS インスタンスを作成する場合は、インスタンスを追加する 1 つ以上のセキュリティグループを指定する必要があります。ECS インスタンスが属する複数のセキュリティグループのルールは、順番にソートされます。セキュリティグルーパールールは、ECS インスタンスのインバウンドまたはアウトバウンドネットワークトラフィックを許可または拒否するために使用されます。
セキュリティグループのルールを追加、変更、または削除できます。構成は、セキュリティグループに属するすべての ECS インスタンスに自動的に適用されます。セキュリティグルーパールールは、権限付与オブジェクト、宛先ポート、プロトコル、操作(許可または拒否)、および優先順位値で構成されます。セキュリティグループには、インバウンドおよびアウトバウンドのセキュリティグルーパールールを追加できます。セキュリティグループのインバウンドルールは、セキュリティグループに属する ECS インスタンスのインバウンドトラフィックを管理するために使用されます。セキュリティグループのアウトバウンドルールは、ECS インスタンスのアウトバウンドトラフィックを管理するために使用されます。詳細については、「セキュリティグルーパールール」をご参照ください。
ECS インスタンスが属するセキュリティグループ内のセキュリティグルーパールールは、インスタンスのプライマリ ENI に適用されます。仮想プライベートクラウド(VPC)にある ECS インスタンスに関連付けられているプライマリ ENI 以外の ENI には、異なるセキュリティグループを指定できます。
セキュリティグループを構成する場合は、次の点に注意してください。
セキュリティグループは、セキュリティグループが存在する VPC にのみ適用されます。VPC に ECS インスタンスを作成する場合は、インスタンスに対して同じ VPC に存在する vSwitch とセキュリティグループを指定する必要があります。
ECS インスタンスまたは ENI を 1 つ以上のセキュリティグループに追加できます。ECS インスタンスと ENI を追加できるセキュリティグループの上限については、「制限」トピックのセキュリティグループの制限セクションをご参照ください。
ECS インスタンスの作成時にセキュリティグループを指定しない場合、システムはインスタンスのプライマリ ENI をデフォルトセキュリティグループに追加します。詳細については、「デフォルトセキュリティグループ」をご参照ください。
たとえば、次の図に示すように、VPC には ECS 1
と ECS 2
が含まれており、両方の ECS インスタンスの ENI は セキュリティグループ 1
に追加されています。セキュリティグループ 1
はベーシックセキュリティグループです。デフォルトでは、ECS 1
と ECS 2
の内部ネットワークは相互接続されています。内部接続ポリシーは、構成したカスタムセキュリティグルーパールールの影響を受けません。ECS 1
と ECS 2
のインバウンドトラフィックとアウトバウンドトラフィックは、セキュリティグループ 1
のカスタムセキュリティグルーパールールによって管理されます。セキュリティグループ 1
のインバウンドルールに基づいて、任意の IP アドレスを使用して、セキュリティグループ 1
内の ECS 1
と ECS 2
に ping を実行できます。セキュリティグループ 1
には、アウトバウンドルールは追加されていません。デフォルトでは、すべてのアウトバウンドトラフィックが許可されます。
セキュリティグループの種類
ベーシックセキュリティグループとアドバンストセキュリティグループ
セキュリティグループは、ベーシックセキュリティグループとアドバンストセキュリティグループに分類でき、機能に基づいてさまざまなシナリオに適しています。どちらの種類のセキュリティグループも無料で使用できます。
ベーシックセキュリティグループ: グループ内接続をサポートします。ベーシックセキュリティグループには、セキュリティグルーパールールを追加できます。ベーシックセキュリティグループには、アドバンストセキュリティグループに比べてプライベート IP アドレスが少なくなっています。
アドバンストセキュリティグループ: アドバンストセキュリティグループには、ベーシックセキュリティグループに比べてプライベート IP アドレスが多くなっています。ただし、アドバンストセキュリティグループでは、他のセキュリティグループを権限付与オブジェクトとして参照するセキュリティグルーパールールを追加することはできません。
1 つの ECS インスタンスを複数のセキュリティグループに追加する場合、そのインスタンスに接続されている ENI を同じ種類のセキュリティグループにのみ追加できます。ビジネス要件に基づいてセキュリティグループの種類を選択することをお勧めします。詳細については、「ベーシックセキュリティグループとアドバンストセキュリティグループ」をご参照ください。
マネージドセキュリティグループとアドバンストセキュリティグループ
セキュリティグループは、操作権限に基づいて、カスタムセキュリティグループとマネージドセキュリティグループに分類されます。カスタムセキュリティグループとマネージドセキュリティグループはどちらも、ベーシックセキュリティグループまたはアドバンストセキュリティグループにすることができます。
カスタムセキュリティグループ: Alibaba Cloud アカウントを使用して、[ECS コンソール] でカスタムセキュリティグループを作成できます。カスタムセキュリティグループに対して操作を実行する権限があります。デフォルトセキュリティグループもカスタムセキュリティグループです。詳細については、「セキュリティグループを作成する」をご参照ください。
マネージドセキュリティグループ: Alibaba Cloud サービス用にマネージドセキュリティグループを作成できます。マネージドセキュリティグループは表示のみ可能です。マネージドセキュリティグループに対して操作を実行することはできません。詳細については、「マネージドセキュリティグループ」をご参照ください。
セキュリティグループに関する情報を照会するために DescribeSecurityGroups 操作を呼び出したときの応答で ServiceManaged
の値が True
であるか、DescribeSecurityGroups[このセキュリティグループはクラウドサービスによって管理されており、変更できません] のようなメッセージが のセキュリティグループに表示されている場合、そのセキュリティグループはマネージドセキュリティグループと見なされます。
セキュリティグループの操作
初めてセキュリティグループを使用する場合は、以下の手順に従ってください。
ECS インスタンスの作成時に、デフォルトセキュリティグループを使用しない、または使用しないことを選択した場合は、手動でセキュリティグループを作成します。
セキュリティグループの種類ごとに、暗黙的なデフォルトの Resource Access Management (RAM) ルールがあります。インバウンドルールとアウトバウンドルールが要件を満たしていない場合は、手動でルールを追加します。
ECS インスタンス (プライマリ ENI) または セカンダリ ENI を別のセキュリティグループに手動で追加できます。
[ECS コンソール] で、または API 操作を呼び出すことによって、セキュリティグループに対して次の操作を実行します。
ベストプラクティス
このセクションでは、セキュリティグループを使用するためのベストプラクティスについて説明します。
計画を立てる
ビジネス要件に基づいて、セキュリティグループの名前、説明、タグ、およびリソースグループを構成できます。セキュリティグループを識別および管理しやすくするために、これらのパラメータを構成することをお勧めします。
ホワイトリストを使用する
デフォルトでは、セキュリティグループへのすべてのアクセスが拒否されます。特定のポートでの特定の権限付与オブジェクトからのアクセスを許可するルールをセキュリティグループに追加できます。
セキュリティグルーパールールを追加する際は、最小権限の原則に従う
たとえば、Linux インスタンスのポート 22 への接続を許可する場合、すべての IP アドレス(
0.0.0.0/0
)ではなく、特定の IP アドレスからのアクセスのみを許可するセキュリティグルーパールールを追加することをお勧めします。最小権限の原則に従う
たとえば、セキュリティグループ内の ECS インスタンス間のグループ内接続が不要な場合は、セキュリティグループの内部アクセス制御ポリシーをグループ内接続から内部隔離に変更します。
各セキュリティグループのルールは簡潔にする
セキュリティグループの目的に基づいて、セキュリティグループにセキュリティグループルールを追加し、セキュリティグループに ECS インスタンスを追加します。 1 つのセキュリティグループに多数のセキュリティグループルールを追加すると、管理の複雑さが増します。 セキュリティグループのヘルスチェックを実行して、セキュリティグループ内の冗長なセキュリティグループルールを特定できます。 詳細については、「セキュリティグループルールの管理」Topic のセキュリティグループ内の冗長なルールの確認セクションをご参照ください。
異なる目的を果たすインスタンスを異なるセキュリティグループに追加し、各グループのルールを個別に管理する
たとえば、インターネット経由でアクセス可能な ECS インスタンスを同じセキュリティグループに追加し、ポート 80 や 443 など、外部サービスを提供する特定のポートへのアクセスのみを許可できます。デフォルトでは、他のポートへのアクセスは拒否されます。インターネット経由でアクセス可能な ECS インスタンスが MySQL や Redis などの他のサービスを提供しないようにするために、インターネット経由でアクセスできないインスタンスに内部サービスをデプロイし、そのインスタンスを別のセキュリティグループに追加することをお勧めします。
本番環境で使用されているセキュリティグループは変更しない
セキュリティグループをテスト環境に複製し、複製したセキュリティグループを変更できます。変更後に複製セキュリティグループ内の ECS インスタンスが期待どおりに動作する場合は、本番環境の元のセキュリティグループのルールを変更します。
関連情報
セキュリティグループのクォータについては、「制限」トピックのセキュリティグループの制限セクションをご参照ください。
1 つの ECS インスタンスに複数の ENI を接続できます。詳細については、「概要」をご参照ください。
セキュリティグループを使用するか、セキュリティグループと他の方法を組み合わせて使用することで、ECS インスタンスのセキュリティを向上させることができます。詳細については、「ECS インスタンスのセキュリティ」をご参照ください。