セキュリティグループルールを使用して、Elastic Compute Service (ECS) インスタンスのインバウンドトラフィックとアウトバウンドトラフィックを管理できます。 セキュリティグループルールは、特定のネットワークトラフィックを許可または拒否する、不要なポートを閉じる、特定のプロトコルのトラフィックを制限する、アプリケーションのアクセス許可を構成するなど、さまざまなシナリオに適しています。 このトピックでは、セキュリティグループルールの追加、変更、クエリ、削除、インポート、およびエクスポートの方法について説明します。
手順
セキュリティグループルールを管理する前に、次の点に注意してください。
セキュリティグループのインバウンドルールを構成して、セキュリティグループ内の ECS インスタンスへのトラフィックを制御し、アウトバウンドルールを構成してインスタンスからのトラフィックを制御できます。 1 つの ECS インスタンスが属する複数のセキュリティグループのルールは順番にソートされます。 セキュリティグループルールは、ECS インスタンスのインバウンドまたはアウトバウンドネットワークトラフィックを許可または拒否するために使用されます。
セキュリティグループの機能と使用上の推奨事項の詳細については、「概要」をご参照ください。
カスタムセキュリティグループルールに加えて、セキュリティグループには、有効であるが非表示のデフォルトのアクセス制御ルールが含まれています。 詳細については、「基本セキュリティグループと高度なセキュリティグループ」をご参照ください。
セキュリティグループルールの構成とセキュリティグループルールのソートポリシーについては、「セキュリティグループルール」をご参照ください。
セキュリティグループに含めることができるルール数は限られています。 ルールは最小限に追加することをお勧めします。 詳細については、「制限」トピックの「セキュリティグループ」セクションをご参照ください。
シナリオ
ECS インスタンスが外部サービスを提供する必要がある場合は、インバウンドアクセスを許可するインバウンドセキュリティグループルールを追加できます。
ECS インスタンスが攻撃を受けている場合は、インバウンドアクセスを拒否するインバウンドセキュリティグループルールを追加できます。
ECS インスタンスが外部ネットワークにアクティブに接続するようにするには、セキュリティグループの種類と内部接続ポリシーに基づいて、アウトバウンドアクセスを許可するアウトバウンドセキュリティグループルールを追加するかどうかを決定する必要があります。
アウトバウンドまたはインバウンドトラフィックを制御したくない場合は、対応する方向のセキュリティグループルールを削除できます。
セキュリティグループ内のルールを他のセキュリティグループにすばやくコピーする場合は、セキュリティグループルールをエクスポートおよびインポートできます。 詳細については、このトピックの「セキュリティグループルールのインポートとエクスポート」セクションをご参照ください。
セキュリティグループが適しているその他のシナリオについては、「セキュリティグループの使用ガイドラインとユースケース」をご参照ください。
セキュリティグループルールの追加
セキュリティグループルールは、操作、優先度、プロトコルタイプ、ポート範囲、権限付与オブジェクトなどの属性によって定義されます。 トラフィックがセキュリティグループルールの権限付与オブジェクト、ポート範囲、およびプロトコルタイプと一致する場合、トラフィックはセキュリティグループルールと一致します。 次に、システムは、セキュリティグループルールで定義されている優先度と操作に基づいて、トラフィックが許可されるかどうかを判断します。 トラフィックがセキュリティグループルールと一致しない場合は、デフォルトのセキュリティグループルールが使用されます。
権限付与オブジェクト: インバウンドルールのトラフィックの送信元、またはアウトバウンドルールのトラフィックの宛先。 複数の IP アドレス、セキュリティグループ、およびプレフィックスリストを構成できます。
セキュリティグループルールでセキュリティグループとプレフィックスリストを権限付与オブジェクトとして指定すると、セキュリティグループルールは、指定されたセキュリティグループとプレフィックスリスト内のすべての IP アドレスに適用されます。
異なるセキュリティグループのリソースが相互に通信できるようにするには、セキュリティグループ間で相互アクセスを許可するようにセキュリティグループルールを構成する必要があります。 内部ネットワーク経由でアクセスを許可するには、CIDR ブロックではなく、セキュリティグループを権限付与オブジェクトとして指定する必要があります。
デフォルトでは、クラシックネットワークにある ECS インスタンスの内部ネットワークへのアクセスを許可するインバウンドセキュリティグループルールはありません。 セキュリティ上の理由から、CIDR ブロックに基づいてアクセスを有効にしないことをお勧めします。
ポート範囲: トラフィックの照合に使用されるポート。 セキュリティグループルールでポート範囲またはポートリストを指定できます。 ポートリストを指定すると、ポートリストに含まれるすべてのポートがルールによって制限されます。 詳細については、「共通ポート」をご参照ください。
プロトコルタイプ: トラフィックのプロトコルタイプ。
TCP は主に、Web 閲覧、電子メール送信、リモートログイン、ファイルのアップロードとダウンロードなど、高い信頼性を必要とするアプリケーションに適しています。
UDP は主に、オンラインゲームやビデオ会議など、精度よりも速度の要件が高いアプリケーションに適しています。
インターネット制御メッセージプロトコル (ICMP) は主に、ping コマンドの使用、エラーレポートと診断情報の送信など、シナリオでネットワークデバイス間で制御情報を送信するために使用されます。
Generic Routing Encapsulation (GRE) は主に、高いセキュリティを必要とし、IP over IP など、異なるネットワーク間でデータが送信されるアプリケーションに適しています。
優先度: 一致するトラフィックの優先度。 値 1 は最高の優先度を示します。
優先度が異なるルールの場合、トラフィックは優先度の高いルールと照合されます。 優先度の高いルールがトラフィックと一致する場合、ルールで指定された操作がトラフィックに対して実行され、優先度の低いルールはトラフィックに適用されません。
優先度が同じだが操作が異なるルールの場合、拒否ルールが適用されます。 拒否ルールがトラフィックと一致しない場合は、許可ルールが適用されます。
操作: トラフィックを許可するか拒否するかを指定します。
セキュリティグループルールで指定されたポートに対応するアプリケーションが起動され、ポートが 0.0.0.0 でリッスンするように構成されていることを確認してください。 現在のポートステータスを表示する方法については、「インスタンスにデプロイされたサービスにアクセスできない場合はどうすればよいですか?」トピックの「サービスのステータスとサービスのポートのリッスンステータスを確認する」セクションをご参照ください。
ECS コンソールを使用する
ECS console - Security Groups に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[セキュリティグループ] ページで、管理するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
方法 1: セキュリティグループルールをすばやく追加する
この方法は、一般的な TCP ルールを構成する場合に適しています。 [クイック追加] をクリックします。 [クイック追加] ダイアログボックスで、[権限付与ポリシー] と [権限付与オブジェクト] を構成し、1 つ以上のポートを選択します。
[クイック追加] ダイアログボックスのポート範囲に、許可または拒否するポートが含まれていない場合は、ポートを選択してセキュリティグループルールを作成し、ルールのポート範囲を変更できます。 方法 2: セキュリティグループルールを手動で追加する を使用して、必要なポートを指定することもできます。
方法 2: セキュリティグループルールを手動で追加する
操作、優先度、プロトコルタイプ、ポート範囲、権限付与オブジェクトなどのパラメーターを構成して、セキュリティグループルールを追加します。 次の手順を実行します。
[ルールの追加] をクリックします。
ルールリストで、新しいセキュリティグループルールを構成し、[操作] 列の [保存] をクリックします。
セキュリティグループルールの構成方法については、「セキュリティグループルール」をご参照ください。
API 操作を呼び出す
5 タプルルールを使用して、ECS インスタンスのインバウンドトラフィックとアウトバウンドトラフィックを制御できます。 5 タプルルールには、送信元 IP アドレス、送信元ポート、宛先 IP アドレス、宛先ポート、およびプロトコルタイプが含まれます。 5 タプルルールは、既存のセキュリティグループルールと完全に互換性があります。 API 操作を呼び出して、セキュリティグループの 5 タプルルールを構成できます。 詳細については、「セキュリティグループルール」トピックの「セキュリティグループのトライアドルールとクインティプルルール」セクションをご参照ください。
AuthorizeSecurityGroup 操作を呼び出して、インバウンドセキュリティグループルールを追加します。
AuthorizeSecurityGroupEgress 操作を呼び出して、アウトバウンドセキュリティグループルールを追加します。
セキュリティグループルールの変更
セキュリティグループルールを変更すると、新しいセキュリティグループルールがすぐに有効になります。 変更されたセキュリティグループルールがビジネス要件を満たし、ネットワークセキュリティを確保するために、ネットワークトラフィックとネットワーク接続を監視する必要がある場合があります。 詳細については、「CloudMonitor とは」をご参照ください。
ECS コンソールを使用する
ECS console - Security Groups に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[セキュリティグループ] ページで、セキュリティグループルールを変更するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
変更するセキュリティグループルールを見つけ、[変更] を [操作] 列でクリックします。ルールを変更し、[保存] をクリックします。
API 操作を呼び出す
ModifySecurityGroupRule 操作を呼び出して、インバウンドセキュリティグループルールを変更します。
ModifySecurityGroupEgressRule 操作を呼び出して、アウトバウンドセキュリティグループルールを変更します。
セキュリティグループルールのクエリ
セキュリティグループルールを追加した後、ECS コンソールでセキュリティグループルールの詳細を表示します。
ECS コンソールを使用する
方法 1: 単一セキュリティグループのルールを表示する
ECS console - Security Groups に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[セキュリティグループ] ページで、セキュリティグループルールを表示するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
表示するルールのタイプに基づいて、[イントラネット受信] タブまたは [イントラネット送信] タブをクリックします。
説明ルールリストの上にある検索ボックスに、ポートまたは権限付与オブジェクトを入力して、セキュリティグループルールを検索します。
方法 2: ECS インスタンスが追加されている複数のセキュリティグループのすべてのルールを表示する
ECS console - Instance に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
セキュリティグループルールを表示するインスタンスを見つけ、インスタンス ID をクリックして [インスタンスの詳細] ページに移動します。
[セキュリティグループ] タブで、インスタンスが追加されているすべてのセキュリティグループを表示します。
各セキュリティグループに対応する [操作] 列の [ルールの管理] をクリックして、すべてのセキュリティグループのルールを表示します。
API 操作を呼び出す
DescribeSecurityGroupAttribute 操作を呼び出して、1 つ以上のセキュリティグループルールをクエリします。
セキュリティグループルールの削除
セキュリティグループルールを削除する前に、この削除操作の影響を理解し、セキュリティグループルールの誤削除によって不要なネットワークセキュリティの問題が発生しないようにしてください。 削除されたセキュリティグループルールを使用する場合は、同じルールを作成します。
ECS コンソールを使用する
ECS console - Security Groups に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[セキュリティグループ] ページで、セキュリティグループルールを削除するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
削除するセキュリティグループルールを見つけ、[操作] 列の [削除] をクリックします。
[セキュリティグループルールの削除] メッセージで、ルール情報が正しいことを確認し、[OK] をクリックします。
API 操作を呼び出す
RevokeSecurityGroup 操作を呼び出して、1 つ以上のインバウンドセキュリティグループルールを削除します。
RevokeSecurityGroupEgress 操作を呼び出して、1 つ以上のアウトバウンドセキュリティグループルールを削除します。
セキュリティグループの冗長ルールの確認
セキュリティグループのヘルスチェックを実行して、セキュリティグループの冗長ルールを特定できます。 ルール A の優先度がルール B よりも低く、ルール B にルール A のすべての条件が含まれている場合、ルール A は冗長ルールと見なされます。 冗長ルールが存在する場合は、ルール数が上限に達しないように、ルールを削除することをお勧めします。
各セキュリティグループに含めることができるルール数、および ECS インスタンス上の各 Elastic Network Interface (ENI) に関連付けることができるセキュリティグループルール数には制限があります。 セキュリティグループルールの制限とクォータの詳細については、「制限」トピックの「セキュリティグループ」セクションをご参照ください。
ECS コンソールを使用する
ECS console - Security Groups に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[セキュリティグループ] ページで、セキュリティグループルールをクエリするセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
[アクセスルール] セクションで、
をクリックします。
[ヘルスチェック] ダイアログボックスで、冗長ルールが存在するかどうかを確認します。
次の図は、セキュリティグループに 2 つの重複ルールが含まれていることを示しています。
冗長ルールを選択し、[OK] をクリックしてルールを削除します。
セキュリティグループルールのインポートとエクスポート
ECS コンソールでは、セキュリティグループルールをエクスポートおよびインポートできます。 この機能は、セキュリティグループルールのバックアップ、復元、移行などのシナリオに適しています。
セキュリティグループルールをインポートする前に、インポートエラーを防ぐために、次の制限が満たされていることを確認してください。
セキュリティグループルールの優先度は 1 から 100 の範囲です。 セキュリティグループルールの優先度が 100 を超える場合は、インポートするルールからルールを削除し、残りのルールをインポートしてから、ECS コンソールで削除されたルールを作成する必要があります。
ECS コンソールでセキュリティグループルールを JSON ファイルまたは CSV ファイルとしてコンピューターにエクスポートしてバックアップできます。 ファイル形式が正しく、ファイルが Alibaba Cloud セキュリティグループルールファイルの命名規則に従っていることを確認してください。
一度に 200 以下のルールをインポートすることをお勧めします。
リージョン間でルールをインポートする場合、ルール内の権限付与オブジェクトをセキュリティグループまたはプレフィックスリストにすることはできず、ルール内のポート範囲をポートリストにすることはできません。
ECS コンソールを使用する
ECS console - Security Groups に移動します。
上部のナビゲーションバーで、管理するリソースのリージョンとリソースグループを選択します。
[セキュリティグループ] ページで、セキュリティグループルールをエクスポートするセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
[アクセスルール] セクションで、セキュリティグループルールをインポートまたはエクスポートします。
セキュリティグループルールをインポートする
をクリックします。 [セキュリティグループルールのインポート] ダイアログボックスで、[選択] をクリックし、インポートする JSON ファイルまたは CSV ファイルを選択します。 次に、[インポートの開始] をクリックします。
セキュリティグループルールがインポートチェックに失敗した場合、[警告] アイコンにポインターを移動して、失敗の詳細を表示できます。
セキュリティグループルールをエクスポートする
をクリックし、ファイル形式を選択して、選択した形式のファイルとしてセキュリティグループルールをコンピューターにエクスポートします。
JSON 形式
エクスポートされた JSON ファイルは、次の命名規則に準拠しています:
ecs_${regionID}_${groupID}.json
。regionID
がcn-qingdao
で、groupID
がsg-123
の場合、エクスポートされた JSON ファイルの名前はecs_cn-qingdao_sg-123.json
です。CSV 形式
エクスポートされた CSV ファイルは、次の命名規則に準拠しています:
ecs_sgRule_${groupID}_${regionID}_${time}.csv
。regionID
がcn-qingdao
、groupID
がsg-123
、time
が2020-01-20
の場合、エクスポートされた CSV ファイルの名前はecs_sgRule_sg-123_cn-qingdao_2020-01-20.csv
です。
セキュリティグループルールのよくある質問とベストプラクティス
セキュリティグループの構成、セキュリティグループルール、ホストペナルティとブロック解除手順、およびリソースクォータ管理については、「セキュリティに関するよくある質問」をご参照ください。
[プロトコルタイプ] パラメーターと [ポート範囲] パラメーターを構成する方法については、「共通ポート」と「インスタンスが接続を受け入れるために使用するデフォルトポートを変更する」をご参照ください。
ECS インスタンスや ENI などのクラウドリソースを新しいセキュリティグループに追加できます。詳細については、「セキュリティグループの ECS インスタンスを管理する」と「セキュリティグループの ENI を管理する」をご参照ください。
セキュリティグループの内部アクセス制御ポリシーを変更する方法については、「ベーシックセキュリティグループの内部アクセス制御ポリシーを変更する」をご参照ください。
セキュリティグループルールを構成するためのベストプラクティスとユースケース:
ECS インスタンスのファイアウォールを有効にし、セキュリティグループルールを構成して外部アクセスをブロックすると、インスタンスに接続できなくなる場合があります。システムファイアウォールの有効化と無効化に関するベストプラクティス:
その他のベストプラクティス: