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

Elastic Compute Service:異なるユースケースのセキュリティグループECSセキュリティグループの設定ガイド

最終更新日:Jan 19, 2024

このトピックでは、Elastic Compute Service (ECS) のセキュリティグループ特性に基づいて、一般的なシナリオ (インスタンスにデプロイされたwebサイトが外部webサービスを提供する必要がある場合や、オンプレミスサーバーからインスタンスに接続する場合など) のセキュリティグループルールを設定する方法について説明します。

背景情報

セキュリティグループルールに関する次の項目に注意してください。
  • Virtual Private Cloud (VPC) タイプのセキュリティグループでは、各ルールがインターネットと内部ネットワークの両方へのアクセスを制御します。 クラシックネットワークタイプのセキュリティグループでは、パブリックルール (インターネット入力ルールとインターネット出力ルール) がインターネットへのアクセスまたはインターネットからのアクセスを制御し、内部ルール (インバウンドルールとアウトバウンドルール) が内部ネットワークへのアクセスまたは内部ネットワークからのアクセスを制御します。
  • このトピックで説明するすべてのルール例は、一般的なアプリケーションで使用されるデフォルトポートに対して設定されます。 インスタンスにデプロイされたアプリケーションは、インスタンスのポートを使用して外部サービスを提供します。 詳細については、「一般的な ECS インスタンスポートの紹介」をご参照ください。

webサービスを提供するwebサイトのセキュリティグループルール

ルールを含まないセキュリティグループは、すべてのインバウンドアクセスを拒否します。 インスタンスにデプロイされたwebサイトで外部webサービスを提供する必要がある場合は、次の表に示すセキュリティグループルールを追加して、ポート80 (HTTP) や443 (HTTPS) などの必要なポートへのインバウンドアクセスを許可する必要があります。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1カスタマイズTCP目的地: 80/80出典: 0.0.0.0/0
インバウンド許可1カスタマイズTCP目的地: 443/443出典: 0.0.0.0/0
説明 上記のルールを追加してもWebサイトにアクセスできない場合は、問題のトラブルシューティングを行います。 詳細については、「TCPポート80が使用可能かどうかの確認」をご参照ください。

オンプレミスサーバーからインスタンスに接続するためのセキュリティグループルール

ルールを含まないセキュリティグループは、すべてのインバウンドアクセスを拒否します。 オンプレミスサーバーからインスタンスに接続する前に、接続方法に基づいて必要なポートへのインバウンドアクセスを許可するセキュリティグループルールを追加する必要があります。 たとえば、Secure Shell (SSH) を使用してLinuxインスタンスに接続するには、ポート22へのインバウンドSSHアクセスを許可するルールを追加する必要があります。 リモートデスクトッププロトコル (RDP) を使用してWindowsインスタンスに接続するには、ポート3389へのインバウンドRDPアクセスを許可するルールを追加する必要があります。 次の表に、ルールの例を示します。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1カスタマイズTCP目的地: 22/22出典: 0.0.0.0/0
インバウンド許可1カスタマイズTCP目的地: 3389/3389出典: 0.0.0.0/0
説明 0.0.0.0/0はすべてのIPアドレスを示します。 セキュリティ上の理由から、最小権限の原則に基づいて、特定のIPアドレスを許可オブジェクトとして指定することを推奨します。
Alibaba Cloud Workbenchを使用してインスタンスに接続する場合、特定のサーバーへのアクセスを許可するセキュリティグループルールを追加する必要があります。 次の表に、ルールの例を示します。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1カスタマイズTCP目的地: 22/22

出典: 161.117.90.22/32

インバウンド許可1カスタマイズTCP目的地: 3389/3389

出典: 161.117.90.22/32

説明 クラシックネットワーク内のインスタンスへのWorkbenchアクセスを許可するために使用されるセキュリティグループルールの詳細については、「パスワードまたはキーを使用してLinuxインスタンスに接続するセキュリティグループルールを追加する」セクションと、「パスワードまたはキーを使用してWindowsインスタンスに接続する」セクションの「セキュリティグループルールを追加する」セクションを参照してください。パスワードまたはキーを使用してWindowsインスタンスに接続する

異なるセキュリティグループ内のインスタンスが相互に通信するためのセキュリティグループルール

ルールを含まない異なるセキュリティグループ内のインスタンスは、内部ネットワークを介して互いに分離されます。 同じVPC内の異なるセキュリティグループのインスタンス間でデータを共有する場合 (たとえば、セキュリティグループA内のインスタンスがFTP経由でセキュリティグループB内のインスタンスの共有ファイルにアクセスする場合) 、内部ネットワークを介したセキュリティグループ間の相互アクセスを許可するルールを追加できます。 これは、個々のIPアドレスまたはCIDRブロックへのアクセスを許可するルールを追加するよりも便利です。
説明 この方法は、異なるVPC内にあるインスタンスでは機能しません。 Cloud Enterprise Network (CEN) を使用して、VPC内のインスタンスを別のVPC内のインスタンスに接続できます。 詳細については、「概要」をご参照ください。
セキュリティグループAとセキュリティグループBが同じAlibaba Cloudアカウントに属している場合、セキュリティグループAからのインバウンドアクセスを許可するルールをセキュリティグループBに追加するときに、権限付与オブジェクトとしてセキュリティグループaのIDを指定する必要があります。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1カスタマイズTCP目的地: 21/21出典: sg-bp1hv6wvmegs036 ****
説明 上の表で提供されているセキュリティグループIDは、参照専用です。 実際のセキュリティグループIDに置き換えます。
セキュリティグループAとセキュリティグループBが同じAlibaba Cloudアカウントに属していない場合、セキュリティグループAからのインバウンドアクセスを許可するルールをセキュリティグループBに追加するときに、セキュリティグループaのIDと関連するAlibaba CloudアカウントのIDを承認オブジェクトとして指定する必要があります。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1カスタマイズTCP目的地: 21/21出典: 160998252992 ****/sg-bp174yoe2ib1sqj5 ****
説明 上の表に記載されているAlibaba CloudアカウントIDとセキュリティグループIDは参照専用です。 それらを実際のIDに置き換えます。

データベースへのアクセスに関するセキュリティグループルール

インスタンスにデータベースをデプロイしていて、他のインスタンスが内部ネットワーク経由でデータベースからデータを取得する場合は、ポート3306 (MySQL) 、ポート1521 (Oracle) 、ポート1433 (MS SQL) 、ポート5432 (PostgreSQL) 、ポート6379 (Redis) などのデータベースタイプに基づいて、必要なポートへのインバウンドアクセスを許可するルールを追加する必要があります。 次の表に、ルールの例を示します。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1カスタマイズTCP目的地: 3306/3306ソース: 172.16.XX.XX.XX
インバウンド許可1カスタマイズTCP目的地: 1521/1521ソース: 192.168.XX.XX
インバウンド許可1カスタマイズTCP目的地: 1433/1433ソース: 192.168.XX.XX/16
インバウンド許可1カスタマイズTCP目的地: 5432/5432出典: sg-bp1hv6wvmegs036 ****
インバウンド許可1カスタマイズTCP目的地: 6379/6379出典: 160998252992 ****/sg-bp174yoe2ib1sqj5 ****
説明 上記の表に記載されているIPアドレス、CIDRブロック、Alibaba CloudアカウントID、およびセキュリティグループIDは、参照専用です。 それらを実際の情報に置き換えます。

インスタンスのpingのセキュリティグループルール

インターネット制御メッセージプロトコル (ICMP) は、制御メッセージを送信するために使用される。 クライアントでpingコマンドを実行してインスタンスにpingを実行するなど、特定のテスト操作を実行する前に、インバウンドICMPアクセスを許可するルールを追加する必要があります。 次の表に、ルールの例を示します。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
インバウンド許可1すべてのICMP (IPv4)宛先: -1/-1出典: 0.0.0.0/0
インバウンド許可1すべてのICMP (IPv6)宛先: -1/-1ソース: ::/0

インスタンスから外部Webサイトへのアクセスを制限するセキュリティグループルール

デフォルトでは、基本セキュリティグループはすべてのアウトバウンドアクセスを許可します。 基本的なセキュリティグループ内のインスタンスが特定のWebサイトにのみアクセスできるようにするには、セキュリティグループをホワイトリストとして使用し、すべてのアウトバウンドアクセスを拒否する禁止ルールを追加してから、WebサイトのIPアドレスへのアウトバウンドアクセスを許可する許可ルールを追加します。 次の项目に注意してください。
  • 複数のルールが、それらのプロトコル、ポート範囲、および許可オブジェクトに基づいて要求を照合した後、要求は、これらのルールの優先順位およびアクションに対してさらに照合され、適用する単一のルールが決定される。 許可ルールが一致して適用されるまで、セッションは確立されません。
  • セキュリティグループルールの優先度の値が小さいほど、優先度が高いことを示す。 2つのセキュリティグループルールの優先度が同じで、アクションのみが異なる場合、禁止ルールが有効になります。 したがって、禁止ルールの優先度は、許可ルールの優先度よりも低くする必要があります。 これにより、許可ルールが有効になり、指定されたWebサイトのIPアドレスへのアウトバウンドアクセスが許可されます。
次の表に、ルールの例を示します。
方向操作Priorityプロトコルの種類ポート範囲権限付与対象
アウトバウンド禁止2All宛先: -1/-1宛先: 0.0.0.0/0
アウトバウンド許可1カスタマイズTCP目的地: 80/80目的地: 47.96.XX.XX
アウトバウンド許可1カスタマイズTCP目的地: 443/443目的地: 121.199.XX.XX
説明 上の表で提供されているWebサイトのIPアドレスは参照用です。 それらをWebサイトの実際のIPアドレスに置き換えます。

ルールが追加されたら、インスタンスにログインして、pingコマンドの実行などのテストを実行できます。 インスタンスが指定されたIPアドレスのみにアクセスできる場合、セキュリティグループルールが有効になります。