セキュリティグループは、ECS インスタンスの仮想ファイアウォールとして機能し、ルールによりきめ細かいネットワーク分離とアクセスコントロールを提供します。
この例では、2 つのセキュリティグループルールを設定する方法を示します。1 つは、承認された IP アドレスからのみインスタンスのリモート管理を許可するルールです。もう 1 つは、インスタンスによるパブリックネットワーク上の高リスクサイトへのアクセスをブロックするルールです。
-
インバウンドルール:特定の IP アドレス (
121.XX.XX.XX) から SSH (ポート 22) 経由でインスタンスへのアクセスを許可します。 -
アウトバウンドルール:インスタンスによる既知の高リスク IP アドレス (
XX.XX.XX.XX) へのアクセスをブロックします。

セキュリティグループの設定
-
インスタンス購入ページへの移動:ECS コンソール - カスタム起動 ページで、インスタンス構成を選択します。
-
セキュリティグループの作成:ネットワークとセキュリティグループ セクションで、基本セキュリティグループまたはエンタープライズセキュリティグループを作成し、名前を指定します。
-
一般的なルールのクイック設定:インスタンスの購入時に、コンソールに一般的なルールのリストが表示されます。これらのルールを選択すると、すべての IP アドレス (
0.0.0.0/0) からのトラフィックが、インスタンス上の特定のポートまたはプロトコルにアクセスできるようになります。
インスタンスの作成中に、きめ細かなセキュリティグループルールを設定することはできません。インスタンスの作成後に設定できます。クイック設定で SSH (22) や RDP (3389) などのリモート管理ポートを選択した場合は、インスタンスの作成後にセキュリティグループルールを変更し、信頼できる IP アドレスからのみアクセスを許可することを推奨します。
-
作成後のセキュリティグループルールの設定:インスタンスの購入後、セキュリティグループルールを参照し、セキュリティグループルールを設定します。
インスタンスへのアクセス制限やデータベースのセキュリティポリシーの実装など、さまざまなビジネスシナリオにおけるセキュリティグループルール設定の例については、セキュリティグループの適用とユースケースをご参照ください。
セキュリティグループの作成
ECS インスタンスの作成時にセキュリティグループを作成できます。 詳細については、「新しいインスタンスのセキュリティグループの設定」をご参照ください。 セキュリティグループを個別に作成して既存のインスタンスに追加するには、[Console] または [API] タブの手順に従ってください。
Console
-
ECS コンソール - セキュリティグループページに移動し、セキュリティグループの作成 をクリックします。
-
セキュリティグループ名を設定し、Virtual Private Cloudを指定します。
-
セキュリティグループの種類として、基本セキュリティグループ または アドバンストセキュリティグループ を選択します。
-
セキュリティグループルールを設定します。 セキュリティグループルールはステートフルです。 システムが対応するアウトバウンドの応答トラフィックを自動的に許可するため、インバウンドルールのみを設定する必要があります。 一般的なポートと推奨ソースについては、次の表をご参照ください。 完全な例については、「セキュリティグループの適用とユースケース」をご参照ください。
一般的なポートルールの例
ポート
プロトコル
目的
ソース
参照
22TCP
SSH リモート接続 (Linux)
オフィスのネットワークまたは固定のパブリック IP アドレス。
0.0.0.0/0の長期使用は 推奨されません。3389TCP
RDP リモートデスクトップ (Windows)
オフィスのネットワークまたは固定のパブリック IP アドレス。
0.0.0.0/0の長期使用は 推奨されません。80TCP
HTTP
公開ウェブサイトには
0.0.0.0/0を使用できます。443TCP
HTTPS
公開ウェブサイトには
0.0.0.0/0を使用できます。8888TCP
BT-Panel などの管理パネルに使用されます。 実際のポートはパネルの設定によって異なります。
管理者 IP アドレスからのトラフィックのみを許可します。 パネルのインストール時に指定されたポートを開いてください。
-
3306またはその他のポートTCP
VPC 内のデータベースへのアプリケーションアクセス
データベースのセキュリティグループのインバウンドルールで、[Source Security Group] を承認してください。 このポートをインターネットに公開しないでください。
サービスポート
TCP
異なるセキュリティグループ間の通信 (例:ポート 8080 と 3306)
受信側セキュリティグループのインバウンドルールで、[Source Security Group ID] を承認してください。
セキュリティグループの詳細ページで、ルールの方向を選択し、ルールを追加 をクリックしてください。 アクセスルール セクションで既存のルールを 変更 または 削除 することもできます。
警告-
最小権限の原則: ポート
80/443は必要に応じてインターネットに公開できます。 SSH (ポート 22)、RDP (ポート 3389)、および管理パネル用ポートへのアクセスは、信頼できる IP アドレスに制限する必要があります。0.0.0.0/0または::/0の使用は避けてください。 -
ルールの優先度: 同じ優先度のルールの場合、拒否ルールが優先されます。 セキュリティグループは、デフォルトで特定の種類のネットワークトラフィックを許可します。
-
変更管理: 本番環境でセキュリティグループを直接変更することは避けてください。 まずセキュリティグループをクローンし、テスト環境で検証してから、本番環境のルールを調整することを推奨します。
-
-
作成 をクリックしてください。
API
CreateSecurityGroup API を呼び出して、セキュリティグループを作成してください。
セキュリティグループを作成した後、次の API を呼び出して、そのセキュリティグループルールを管理してください。
-
AuthorizeSecurityGroup API を呼び出して、インバウンドルールを追加してください。
-
AuthorizeSecurityGroupEgress API を呼び出して、アウトバウンドルールを追加してください。
-
ModifySecurityGroupRule API を呼び出して、インバウンドルールを変更してください。
-
ModifySecurityGroupEgressRule API を呼び出して、アウトバウンドルールを変更してください。
-
RevokeSecurityGroup API を呼び出して、インバウンドルールを取り消してください。
-
RevokeSecurityGroupEgress API を呼び出して、アウトバウンドルールを取り消してください。
ルールが設定されていない新しい基本セキュリティグループは、デフォルトで次のように動作します: すべてのアウトバウンドトラフィックを許可し、同じセキュリティグループ内の他の ECS インスタンスからのインバウンドトラフィックも許可します。他のすべてのインバウンドトラフィックは拒否します。
インスタンスへのセキュリティグループの関連付け
セキュリティグループを ECS インスタンスに関連付けると、そのセキュリティグループはインスタンスのプライマリネットワークインターフェイスに適用されます。
コンソール
-
ECS コンソール - インスタンスページで、インスタンスの ID をクリックしてインスタンス詳細ページを開きます。
-
インスタンス詳細ページで、セキュリティグループ タブに移動します。セキュリティグループリストで、セキュリティグループの変更 をクリックして、セキュリティグループを追加または削除します。複数のセキュリティグループが関連付けられている場合、それらのルールは結合され、優先度に従って適用されます。
API
-
ModifyInstanceAttribute API を呼び出して、複数のセキュリティグループを ECS インスタンスに関連付けます。
-
JoinSecurityGroup API を呼び出して、ECS インスタンスを指定したセキュリティグループに追加します。
-
LeaveSecurityGroup API を呼び出して、ECS インスタンスを指定したセキュリティグループから削除します。
セカンダリ ENI とセキュリティグループの関連付け
セキュリティグループは、ECS インスタンスの Elastic Network Interface に適用されます。インスタンスに複数の Elastic Network Interface がある場合、それぞれに異なるセキュリティグループを関連付けて、階層化されたトラフィック制御とサービス分離のために個別のルールを設定できます。
コンソール
-
ECS コンソール - ネットワークインターフェイスページに移動し、対象のセカンダリ Elastic Network Interface の ID をクリックして詳細ページを開きます。
-
セキュリティグループの変更 をクリックし、関連付けるセキュリティグループを 1 つ以上選択してから、OK をクリックします。
API
-
JoinSecurityGroup API を呼び出して、Elastic Network Interface を指定のセキュリティグループに追加します。
-
LeaveSecurityGroup API を呼び出して、Elastic Network Interface を指定のセキュリティグループから削除します。
-
ModifyNetworkInterfaceAttribute API を呼び出して、複数のセキュリティグループを Elastic Network Interface に関連付けます。
グループ内ネットワーク通信
デフォルトでは、同じ基本セキュリティグループ内の ECS インスタンスは、内部ネットワークを介して相互に通信できます。セキュリティを向上させるために、グループ内接続ポリシーを内部隔離に変更して、内部ネットワーク通信を防ぐことができます。
エンタープライズセキュリティグループ のグループ内接続ポリシーは変更できません。
-
インスタンスが複数のセキュリティグループに関連付けられている場合、少なくとも 1 つのセキュリティグループのグループ内接続ポリシーで通信が許可されていれば、内部ネットワーク通信が許可されます。
-
セキュリティグループのグループ内接続ポリシーが内部隔離に設定されている場合でも、セキュリティグループルールを設定してインスタンス間の通信を許可できます。
コンソール
-
ECS コンソール - セキュリティグループ ページに移動し、対象のセキュリティグループの ID をクリックして詳細ページを開きます。
-
セキュリティグループの詳細 ページの 基本情報 セクションで、グループイントラネット接続ポリシーの変更 をクリックします。
-
セキュリティグループのグループ内接続ポリシーが Internal Isolation に設定されていることを確認します。
API
基本セキュリティグループのグループ内接続ポリシーを変更するには、ModifySecurityGroupPolicy を呼び出します。
セキュリティグループ間のネットワークアクセス
ルールのソースとして別のセキュリティグループを設定すると、ソースセキュリティグループ内のインスタンスは、内部ネットワークを介して現在のセキュリティグループ内のインスタンスにアクセスできます。たとえば、セキュリティグループ A にインバウンドルールを追加し、ソースとしてセキュリティグループ B を設定すると、セキュリティグループ B 内のインスタンスはセキュリティグループ A 内のインスタンスにアクセスできます。
エンタープライズセキュリティグループには、セキュリティグループをソースとして指定するルールを追加できません。

コンソール
-
ECS コンソール - セキュリティグループページに移動し、セキュリティグループ ID をクリックして詳細ページを開きます。
-
対象のセキュリティグループの詳細 ページで、ルールの方向を選択し、ルールを追加 をクリックします。
-
セキュリティグループルールの作成 ページで、送信元 を セキュリティグループ または クロスアカウントのセキュリティグループ に設定します。
API
-
AuthorizeSecurityGroup を呼び出し、インバウンドルールで SourceGroupId パラメーターを設定して、ソースセキュリティグループを指定します。
-
AuthorizeSecurityGroupEgress を呼び出し、アウトバウンドルールで DestGroupId パラメーターを設定して、送信先セキュリティグループを指定します。
関連操作
プレフィックスリスト
プレフィックスリストを使用して、複数の IP アドレス範囲の権限を一元的に管理します。これにより、セキュリティグループルールの設定が簡素化され、一括メンテナンスの効率が向上します。
コンソール
-
プレフィックスリストを作成します。
-
ECS コンソール - プレフィックスリストに移動します。
-
プレフィックスリストの作成 をクリックします。
プレフィックスリストを参照するセキュリティグループの場合、ルール数はリストに指定された最大エントリ数に基づきます。
-
-
対象のセキュリティグループの詳細ページの アクセスルール セクションで、ルールを追加または変更します:
-
送信元をプレフィックスリストに設定し、対象のプレフィックスリストを選択します。
-
API
-
CreatePrefixList API を呼び出してプレフィックスリストを作成します。プレフィックスリストが作成された後、DescribePrefixListAttributes API を呼び出してその詳細を照会できます。
-
AuthorizeSecurityGroup API を呼び出し、インバウンドルールで
SourcePrefixListIdパラメーターを設定して、プレフィックスリストからのアクセスを承認します。 -
AuthorizeSecurityGroupEgress API を呼び出し、アウトバウンドルールで
DestPrefixListIdパラメーターを設定して、プレフィックスリストへのアクセスを承認します。
冗長なルール
ヘルスチェック機能は、冗長なルールを識別できます。ルールは、その条件が同じかそれ以上の優先度を持つ別のルールによって完全にカバーされている場合に冗長と見なされます。冗長なルールはセキュリティグループルールのクォータを消費します。クォータが枯渇して新しいルールを追加できなくなるのを防ぐために、定期的に削除してください。
-
ECS コンソール - セキュリティグループに移動します。対象のセキュリティグループの詳細ページで、アクセスルール タブをクリックし、[ヘルスチェック] をクリックします。
-
[ヘルスチェック] ダイアログボックスで、削除する冗長なルールを選択し、[選択したルールを削除] をクリックします。
セキュリティグループの複製
セキュリティグループを複製して、同じ設定を持つ複数のセキュリティグループを迅速に作成したり、リージョンやネットワークタイプをまたいでコピーしてセキュリティグループをバックアップしたりできます。複製後、新しいセキュリティグループは送信先リージョンのセキュリティグループリストに表示されます。
-
ECS コンソール - セキュリティグループに移動します。対象のセキュリティグループの 操作 列で、セキュリティグループのクローン をクリックします。
-
送信先のセキュリティグループを設定します。複製後、新しいセキュリティグループは送信先リージョンのセキュリティグループリストに表示されます。
-
[VPC ID]: 新規セキュリティグループが属する VPC です。
-
[保持ルール]: このオプションを選択すると、ソースセキュリティグループのすべてのルールが保持されます。優先度が 100 を超えるルールは、優先度が 100 に再割り当てされます。
-
[タグをターゲットセキュリティグループにコピーする]: コピー元のセキュリティグループから新しいセキュリティグループにタグをコピーするかどうかを指定します。
-
ルールのインポートとエクスポート
ルールをインポートおよびエクスポートして、バックアップ、復元、または移行できます。
ルールのインポート
インポートするセキュリティグループルールは、次の要件を満たす必要があります。
-
ファイル形式: JSON または CSV。
-
ルール数: 一度に最大 200 のルールをインポートできます。
-
ルールの優先度: 1 から 100。優先度が 100 より高いルールは無視されます。
リージョンをまたいでルールをインポートする場合、他のセキュリティグループ、プレフィックスリスト、またはポートリストを参照するルールはサポートされていません。
-
ECS コンソール - セキュリティグループに移動します。対象のセキュリティグループの詳細ページで、アクセスルール セクションの セキュリティグループルールのインポート をクリックします。
-
セキュリティグループルールのインポート ページで、選択 をクリックし、ローカルの JSON または CSV ファイルを選択してから、OK をクリックします。
インポートが失敗した場合、警告アイコンにカーソルを合わせると原因を確認できます。
ルールのエクスポート
ECS コンソール - セキュリティグループに移動します。対象のセキュリティグループの詳細ページで、アクセスルール セクションの エクスポート をクリックします。エクスポートされたルールファイル名は、次のいずれかの形式になります。
-
JSON 形式:
ecs_${region_id}_${groupID}.json。例: リージョン ID が
cn-qingdaoで、セキュリティグループ ID がsg-123の場合、エクスポートされたファイル名はecs_cn-qingdao_sg-123.jsonになります。 -
CSV 形式:
ecs_sgRule_${groupID}_${region_id}_${time}.csv。例:リージョン ID が
cn-qingdao、セキュリティグループ ID がsg-123、エクスポート日が2020-01-20の場合、エクスポートされたファイル名はecs_sgRule_sg-123_cn-qingdao_2020-01-20.csvになります。
セキュリティグループスナップショット
セキュリティグループスナップショットは、セキュリティグループルールを自動的にバックアップできます。セキュリティグループルールが変更されると、システムは自動的にスナップショットを作成します。スナップショットを使用して、ルールを特定の時点に復元し、誤操作によるルールの損失を防ぐことができます。
-
システムは、ルールが変更されてから 5 分後にスナップショットを作成します。5 分以内に複数の変更が発生した場合、システムは最初の変更前のルールに基づいて 1 つのスナップショットのみを作成します。
-
セキュリティグループスナップショットは、Object Storage Service (OSS) を使用してバックアップデータを保存します。OSS は従量課金制のサービスです。セキュリティグループスナップショットを使用する場合、OSS のストレージとリクエストに対して課金されます。
スナップショットポリシーの作成
-
ECS コンソール - セキュリティグループスナップショットに移動し、新規作成 をクリックします。
-
[スナップショットポリシーの作成] ダイアログボックスで、次のパラメーターを設定します。
-
[ポリシー名: ]スナップショットポリシーの名前を入力します。
-
[ステータス]: 有効 または 無効化 を選択します。ポリシーが有効な場合にのみ、関連付けられたセキュリティグループのスナップショットを作成できます。
-
[保持期間]: スナップショットを保持する日数を 1 ~ 30 の範囲で指定します。デフォルト値は 1 です。保持期間を過ぎたスナップショットは自動的に削除されます。
-
[OSS ストレージ設定]: スナップショットデータを保存するために使用する OSS バケットを設定します。バケット名が空の場合、システムはデフォルトのバケットを使用します。
-
-
OK をクリックします。
初めてスナップショットポリシーを作成する際、OSS バケットにアクセスするために、サービスにリンクされたロール (SLR)
ALIYUNSECURITYGROUPSNAPSHOTROLEの承認を求められます。ロールがすでに存在する場合、再度ロールを承認する必要はありません。
ポリシーとセキュリティグループの関連付け
スナップショットポリシーを作成した後、そのルールのバックアップを開始するには、ポリシーをセキュリティグループに関連付ける必要があります。
セキュリティグループをスナップショットポリシーに関連付けると、システムはすぐにセキュリティグループのスナップショットを作成します。
-
ECS コンソール - セキュリティグループスナップショットに移動します。目的のスナップショットポリシーの 操作 列で 関連セキュリティグループ をクリックします。
-
関連セキュリティグループ ダイアログボックスで、関連付けたいセキュリティグループを選択します。
スナップショットポリシーは最大 10 個のセキュリティグループに関連付けることができます。1 つのセキュリティグループは、異なる設定を持つ複数のスナップショットポリシーに関連付けることができます。
-
OK をクリックします。
スナップショットからのルールの復元
復元操作は即時に実行され、元に戻すことはできません。復元操作は、セキュリティグループ内の現在のすべてのルールをスナップショットのルールで上書きします。
-
ECS コンソール - セキュリティグループページに移動し、対象のセキュリティグループの ID をクリックします。
-
セキュリティグループの詳細ページで、スナップショットリスト タブをクリックします。 ロールバックに使用するスナップショットを見つけ、操作 列にある スナップショットの復元 をクリックします。
-
セキュリティグループのスナップショットの復元 ダイアログボックスで、復元する情報を確認します。
-
受信 および 送信 タブで、現在のセキュリティグループルール と 復元後のセキュリティグループルール を比較します。
-
情報を確認したら、OK をクリックします。
-
セキュリティグループの削除
セキュリティグループの削除は元に戻せない操作であり、セキュリティグループ内のすべてのルールを完全に削除します。セキュリティグループを削除する前に、その設定をバックアップしていることを確認してください。
コンソール
-
ECS コンソール - セキュリティグループに移動します。対象のセキュリティグループの 操作 列で、削除 をクリックします。
-
セキュリティグループの削除 ダイアログボックスで情報を確認し、OK をクリックします。
セキュリティグループがどの ECS インスタンスまたは Elastic Network Interface にも関連付けられていないにもかかわらず、セキュリティグループの削除 ダイアログボックスに 削除不可 と表示される場合は、強制削除の試行 をクリックできます。
API
DeleteSecurityGroup API を呼び出してセキュリティグループを削除します。
次のシナリオでは、セキュリティグループを削除できません。
-
セキュリティグループが ECS インスタンスまたはエラスティックネットワークインターフェイスに関連付けられています。セキュリティグループを削除する前に、インスタンスまたはエラスティックネットワークインターフェイスからセキュリティグループの関連付けを解除する必要があります。
-
セキュリティグループが別のセキュリティグループのルールで参照されています。まず参照しているルールを削除する必要があります。
-
マネージドセキュリティグループ は表示専用であり、削除できません。
-
セキュリティグループの削除保護が有効になっています。削除保護を無効にしてから再試行する必要があります。削除保護を無効にできない場合、セキュリティグループを削除できません。
DeleteSecurityGroup 操作を呼び出したときに
InvalidOperation.DeletionProtectionエラーコードが返される場合、またはコンソールに [削除保護] に関するメッセージが表示される場合は、削除保護が有効になっています。
本番環境の推奨事項
-
セキュリティグループの計画
-
単一責務:Web、データベース、キャッシュ階層など、ワークロードごとにセキュリティグループを分けて使用してください。
-
環境の分離:本番環境とテスト環境のセキュリティグループは分けて管理してください。
-
命名規則:
environment-application-purpose-sgなど、一貫したフォーマットを使用してください。例:prod-mysql-db-sg。
-
-
ルール設定
-
最小権限の原則:必要なソースに対して、必要なポートのみを開放してください。SSH (22) や RDP (3389) などの管理ポートを
0.0.0.0/0に開放することは避けてください。アクセスは常に、信頼できる固定の IP アドレスに制限してください。 -
デフォルト拒否:デフォルトでは、すべてのインバウンドトラフィックを拒否してください。必要な場合にのみ、特定のソースから特定のポートへのアクセスを許可するインバウンドルールを追加してください。
-
複数セキュリティグループの評価:インスタンスが複数のセキュリティグループに関連付けられている場合、すべてのセキュリティグループのルールが合算されて評価されます。トラフィックは、いずれかのセキュリティグループの許可ルールに一致すれば許可されます。ネットワーク接続の問題をトラブルシューティングするには、関連付けられているすべてのセキュリティグループを確認してください。
-
-
変更管理
-
本番環境での直接変更を避ける: 本番環境でセキュリティグループを変更することは高リスクの操作です。まず、セキュリティグループをクローン し、テスト環境で変更を検証してください。インスタンスのトラフィックに影響がないことを確認してから、本番環境のセキュリティグループルールを変更してください。
-
課金
セキュリティグループは無料です。
制限
制限項目 | 基本セキュリティグループの制限 | エンタープライズセキュリティグループの制限 |
特定のリージョンで、単一の Alibaba Cloud アカウントが保有できるセキュリティグループの最大数 | このクォータを表示または増量するには、クォータ ID | 基本セキュリティグループと同様 |
単一の Elastic Network Interface(ENI)に関連付けられるセキュリティグループの数 | 10 | 基本セキュリティグループと同様 |
単一の ENI に関連付けられたすべてのセキュリティグループのルール(インバウンドおよびアウトバウンド)の最大数 | 1,000 | 基本セキュリティグループと同様 |
別のセキュリティグループを権限付与オブジェクトとして指定するセキュリティグループルールの最大数(1 セキュリティグループあたり) | 20 | 0。エンタープライズセキュリティグループには、セキュリティグループを権限付与オブジェクトとするルールを追加できません。また、他のセキュリティグループルールでエンタープライズセキュリティグループを権限付与オブジェクトとして使用することもできません。 |
VPC 内のセキュリティグループに含めることができる ECS インスタンスの数 | この数は固定されていません。セキュリティグループが含めることができるプライベート IP アドレスの数に依存します。 | 制限なし |
リージョン内の Alibaba Cloud アカウントあたり、VPC 内のセキュリティグループが含めることができるプライベート IP アドレスの最大数 | 6,000 説明
| 65,536 説明 使用済み IP アドレス数は、セキュリティグループに関連付けられた ENI(インスタンスのプライマリおよびセカンダリネットワークインターフェイスを含む)の総数を表します。 |
パブリックポートへのアクセス | セキュリティ上の理由から、ECS インスタンスのポート 25 はデフォルトで制限されています。メール送信には、ポート 465 などの SSL 暗号化ポートの使用を推奨します。 | 基本セキュリティグループと同様 |