セキュリティグループルールを使用して、Elastic Compute Service (ECS) インスタンスのインバウンドトラフィックとアウトバウンドトラフィックを管理できます。 セキュリティグループルールは、特定のネットワークトラフィックを許可または拒否する、不要なポートを閉じる、特定のプロトコルのトラフィックを制限する、アプリケーションに対するアクセス許可を設定するなど、さまざまなシナリオに適しています。 このトピックでは、セキュリティグループルールを追加、変更、クエリ、削除、インポート、およびエクスポートする方法について説明します。
注意事項
セキュリティグループルールを管理する前に、次の項目に注意してください。
セキュリティグループ内のECSインスタンスへのトラフィックを制御するセキュリティグループのインバウンドルールと、インスタンスからのトラフィックを制御するアウトバウンドルールを設定できます。 ECSインスタンスが属する複数のセキュリティグループのルールは、順番にソートされます。 セキュリティグループルールは、ECSインスタンスのインバウンドまたはアウトバウンドネットワークトラフィックを許可または拒否するために使用されます。
セキュリティグループの機能と使用に関する提案の詳細については、「概要」をご参照ください。
カスタムセキュリティグループルールに加えて、セキュリティグループには、有効であるが非表示の既定のアクセス制御ルールが含まれています。 詳細については、「基本的なセキュリティグループと高度なセキュリティグループ」をご参照ください。
セキュリティグループルールの構成とセキュリティグループルールの並べ替えポリシーの詳細については、「セキュリティグループルール」をご参照ください。
セキュリティグループには、限られた数のルールしか含めることができません。 最小数のルールを追加することを推奨します。 詳細については、「制限」トピックのセキュリティグループの制限セクションを参照してください。
シナリオ
ECSインスタンスが外部サービスを提供する必要がある場合は、インバウンドアクセスを許可するインバウンドセキュリティグループルールを追加できます。
ECSインスタンスが攻撃を受けている場合、インバウンドセキュリティグループルールを追加してインバウンドアクセスを拒否できます。
ECSインスタンスを外部ネットワークにアクティブに接続する場合、セキュリティグループの種類と内部接続ポリシーに基づいて、アウトバウンドアクセスを許可するアウトバウンドセキュリティグループルールを追加するかどうかを決定する必要があります。
アウトバウンドトラフィックまたはインバウンドトラフィックを制御したくない場合は、対応する方向のセキュリティグループルールを削除できます。
セキュリティグループ内のルールを他のセキュリティグループにすばやくコピーする場合は、セキュリティグループルールをエクスポートおよびインポートできます。 詳細については、このトピックの「セキュリティグループルールのインポートとエクスポート」をご参照ください。
セキュリティグループが適しているシナリオの詳細については、「さまざまなユースケースのセキュリティグループ」をご参照ください。
セキュリティグループルールの追加
セキュリティグループルールは、アクション、優先度、プロトコルタイプ、ポート範囲、許可オブジェクトなどの属性によって定義されます。 トラフィックがセキュリティグループルールの承認オブジェクト、ポート範囲、およびプロトコルタイプと一致する場合、トラフィックはセキュリティグループルールと一致します。 次に、セキュリティグループルールで定義されている優先度とアクションに基づいて、トラフィックが許可されているかどうかを判断します。 トラフィックがセキュリティグループルールと一致しない場合、デフォルトのセキュリティグループルールが使用されます。
許可オブジェクト: インバウンドルールのトラフィックの送信元またはアウトバウンドルールのトラフィックの送信先。 複数のIPアドレス、セキュリティグループ、プレフィックスリストを設定できます。
セキュリティグループルールでセキュリティグループとプレフィックスリストを許可オブジェクトとして指定した場合、セキュリティグループルールは指定されたセキュリティグループとプレフィックスリストのすべてのIPアドレスに対して有効になります。
異なるセキュリティグループ内のリソースが相互に通信できるようにする場合は、セキュリティグループ間の相互アクセスを許可するようにセキュリティグループルールを設定する必要があります。 内部ネットワーク経由でのアクセスを許可するには、CIDRブロックではなく、セキュリティグループを認証オブジェクトとして指定する必要があります。
デフォルトでは、クラシックネットワークに存在するECSインスタンスの内部ネットワークへのアクセスを許可するインバウンドセキュリティグループルールはありません。 セキュリティ上の理由から、CIDRブロックに基づくアクセスを有効にしないことを推奨します。
ポート範囲: トラフィックを一致させるために使用されるポート。 詳細については、「共通ポート」をご参照ください。
プロトコルタイプ: トラフィックのプロトコルタイプ。
TCPは、主にwebブラウジング、電子メール送信、リモートログオン、ファイルのアップロードとダウンロードなど、高い信頼性を必要とするアプリケーションに適しています。
UDPは、オンラインゲームやビデオ会議など、精度よりも速度に対する要求が高いアプリケーションに主に適しています。
インターネット制御メッセージプロトコル (ICMP) は、主に、pingコマンドの使用やエラーレポートや診断情報の送信などのシナリオで、ネットワークデバイス間で制御情報を送信するために使用されます。
Generic Routing Encapsulation (GRE) は、高いセキュリティを必要とし、IP over IPなどの異なるネットワークを介してデータが送信されるアプリケーションに主に適しています。
Priority: 一致するトラフィックの優先度。 値1は、最も高い優先度を示す。
異なる優先度を有するルールの場合、トラフィックは、より高い優先度を有するルールと照合される。 優先度の高いルールがトラフィックと一致する場合、ルールで指定されたアクションはトラフィックに対して実行され、優先度の低いルールはトラフィックに適用されません。
優先度が同じでアクションが異なるルールの場合、拒否ルールが適用されます。 拒否ルールがトラフィックと一致しない場合、許可ルールが適用されます。
Action: トラフィックを許可するか拒否するかを指定します。
セキュリティグループルールで指定されたポートに対応するアプリケーションが起動され、ポートが0.0.0.0でリッスンするように設定されていることを確認します。 現在のポートステータスを表示する方法については、「インスタンスにデプロイされたサービスにアクセスできない場合はどうすればよいですか」トピックの「サービスのステータスとサービスのポートのリスニングステータスの確認」をご参照ください。
ECSコンソールの使用
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、を選択します。
上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。
[セキュリティグループリスト] ページで、管理するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
方法1: セキュリティグループルールをすばやく追加する
この方法は、共通TCPルールの設定に適しています。 [クイック追加] をクリックします。 [クイック追加] ダイアログボックスで、[操作] と [権限付与オブジェクト] を設定し、1つ以上のポートを選択します。
[クイック追加] ダイアログボックスのポート範囲に許可または拒否するポートが含まれていない場合は、ポートを選択してセキュリティグループルールを作成し、ルールのポート範囲を変更できます。 方法2: セキュリティグループルールを手動で追加を使用して、必要なポートを指定することもできます。
方法2: セキュリティグループルールを手動で追加する
アクション、優先度、プロトコルタイプ、ポート範囲、許可オブジェクトなどのパラメーターを設定して、セキュリティグループルールを追加します。 以下の手順を実行します。
[ルールの追加] をクリックします。
ルールリストで、新しいセキュリティグループルールを設定し、[操作] 列の [保存] をクリックします。
セキュリティグループルールの設定方法については、セキュリティグループルールを参照してください。
API の呼び出し
5つのルールを使用して、ECSインスタンスのインバウンドトラフィックとアウトバウンドトラフィックを制御できます。 5つのルールは、送信元IPアドレス、送信元ポート、宛先IPアドレス、宛先ポート、およびプロトコルタイプを含む。 Quintupleルールは、既存のセキュリティグループルールと完全に互換性があります。 API操作を呼び出して、セキュリティグループの5つのルールを設定できます。 詳細については、「セキュリティグループルール」トピックの「セキュリティグループの3つのルールと5つのルール」セクションをご参照ください。
AuthorizeSecurityGroup操作を呼び出して、インバウンドセキュリティグループルールを追加します。
AuthorizeSecurityGroupEgress操作を呼び出して、アウトバウンドセキュリティグループルールを追加します。
セキュリティグループルールの変更
セキュリティグループルールを変更すると、新しいセキュリティグループルールがすぐに有効になります。 変更されたセキュリティグループルールがビジネス要件を満たし、ネットワークセキュリティを確保するために、ネットワークトラフィックとネットワーク接続を監視する必要がある場合があります。 詳細については、「CloudMonitor の概要」をご参照ください。
ECSコンソールの使用
左側のナビゲーションウィンドウで、
を選択します。 [セキュリティグループリスト] ページで、セキュリティグループルールを変更するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。変更するセキュリティグループルールを見つけて、[操作] 列の [編集] をクリックします。 ルールを変更し、[保存] をクリックします。
API の呼び出し
ModifySecurityGroupRule操作を呼び出して、インバウンドセキュリティグループルールを変更します。
ModifySecurityGroupEgressRule操作を呼び出して、アウトバウンドセキュリティグループルールを変更します。
セキュリティグループルールの照会
セキュリティグループに対してヘルスチェックを実行して、冗長なルールを特定できます。 これにより、セキュリティグループの構成が簡素化され、管理作業負荷が軽減され、ネットワーク管理が容易になり、セキュリティの脆弱性によるリスクが軽減されます。
ECSコンソールの使用
方法1: 単一のセキュリティグループのルールを表示する
左側のナビゲーションウィンドウで、
を選択します。 [セキュリティグループリスト] ページで、セキュリティグループルールを表示するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。表示するルールの種類に基づいて、[インバウンド] タブまたは [アウトバウンド] タブをクリックします。
説明ルールリストの上の検索ボックスに、セキュリティグループルールを検索するポートまたは権限付与オブジェクトを入力します。
方法1: ECSインスタンスが追加された複数のセキュリティグループのすべてのルールを表示
左側のナビゲーションペインで
を選択します。 セキュリティグループルールを表示するインスタンスを検索し、インスタンスIDをクリックしてインスタンスの詳細ページに移動します。[セキュリティグループ] タブで、インスタンスが追加されたすべてのセキュリティグループを表示します。
各セキュリティグループに対応する [操作] 列の [ルールの管理] をクリックすると、すべてのセキュリティグループのルールが表示されます。
API操作の呼び出し
DescribeSecurityGroupAttribute操作を呼び出して、1つ以上のセキュリティグループルールを照会します。
セキュリティグループルールの削除
セキュリティグループルールを削除する前に、この削除操作の影響を理解して、セキュリティグループルールの偶発的な削除によって引き起こされる不要なネットワークセキュリティの問題を防止してください。 削除されたセキュリティグループルールを使用する場合は、同じルールを作成します。
ECSコンソールの使用
左側のナビゲーションウィンドウで、
を選択します。 [セキュリティグループリスト] ページで、削除するセキュリティグループルールを持つセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。削除するセキュリティグループルールを見つけて、[操作] 列の [削除] をクリックします。
[セキュリティグループルールの削除] メッセージで、ルール情報が正しいことを確認し、[OK] をクリックします。
API の呼び出し
RevokeSecurityGroup操作を呼び出して、1つ以上のインバウンドセキュリティグループルールを削除します。
RevokeSecurityGroupEgress操作を呼び出して、1つ以上のアウトバウンドセキュリティグループルールを削除します。
セキュリティグループの冗長ルールを確認する
セキュリティグループでヘルスチェックを実行して、セキュリティグループ内の冗長なルールを特定できます。 ルールAがルールBよりも低い優先度を有し、ルールBがルールaのすべての条件を含む場合、ルールAは冗長ルールであると見なされる。 冗長なルールが存在する場合は、ルールの数が上限に達しないように、ルールを削除することを推奨します。
各セキュリティグループには限られた数のルールを含めることができ、ECSインスタンス上の各elastic network interface (ENI) は限られた数のセキュリティグループルールに関連付けることができます。 セキュリティグループルールの制限とクォータの詳細については、「制限」トピックのセキュリティグループの制限を参照してください。
ECSコンソールの使用
左側のナビゲーションウィンドウで、
を選択します。 [セキュリティグループリスト] ページで、セキュリティグループルールを照会するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。[アクセスルール] セクションで、
をクリックします。
[ヘルスチェック] ダイアログボックスで、冗長なルールが存在するかどうかを確認します。
次の図は、セキュリティグループに2つの重複ルールが含まれていることを示しています。
冗長なルールを選択し、[OK] をクリックしてルールを削除します。
セキュリティグループルールのインポートとエクスポート
ECSコンソールでは、セキュリティグループルールをエクスポートおよびインポートできます。 この機能は、セキュリティグループルールのバックアップ、復元、移行などのシナリオに適しています。
セキュリティグループルールをインポートする前に、インポートの失敗を防ぐために次の制限が満たされていることを確認してください。
セキュリティグループルールの優先度の値は 1~100 となります。 セキュリティグループルールの優先度が100を超える場合、インポートするルールからルールを削除し、残りのルールをインポートしてから、ECSコンソールで削除したルールを作成する必要があります。
ECSコンソールでセキュリティグループルールをJSONまたはCSVファイルとしてコンピューターにエクスポートしてバックアップすることができます。 ファイル形式が正しく、ファイルがAlibaba Cloudセキュリティグループルールファイルの命名規則に従っていることを確認してください。
一度に200個以下のルールをインポートすることを推奨します。
リージョン間でルールをインポートする場合、セキュリティグループルール内の権限付与オブジェクトをセキュリティグループまたはプレフィックスリストにすることはできません。
ECSコンソールの使用
左側のナビゲーションウィンドウで、
を選択します。 セキュリティグループリストページで、エクスポートするセキュリティグループルールを持つセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。[アクセスルール] セクションで、セキュリティグループルールをインポートまたはエクスポートします。
セキュリティグループルールのインポート
をクリックします。 [セキュリティグループルールのインポート] ダイアログボックスで、[ファイルの選択] をクリックし、インポートする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
です。
セキュリティグループのルールに関するFAQとベストプラクティス
セキュリティグループの構成、セキュリティグループルール、ホストのペナルティとブロック解除手順、およびリソースクォータ管理については、「セキュリティに関するFAQ」をご参照ください。
[プロトコルタイプ] および [ポート範囲] パラメーターの設定方法については、「 [共通ポート] 」および「インスタンスが接続を受け入れるために使用するデフォルトポートの変更」をご参照ください。
ECSインスタンスやENIなどのクラウドリソースを新しいセキュリティグループに追加できます。 詳細については、「セキュリティグループでのECSインスタンスの管理」および「セキュリティグループでのENIの管理」をご参照ください。
セキュリティグループの内部アクセス制御ポリシーを変更する方法については、「基本セキュリティグループの内部アクセス制御ポリシーの変更」をご参照ください。
セキュリティグループルールを設定するためのベストプラクティスとユースケース:
ECSインスタンスのファイアウォールを有効にし、外部アクセスをブロックするようにセキュリティグループルールを設定した場合、インスタンスに接続できない可能性があります。 システムファイアウォールを有効および無効にするためのベストプラクティス:
その他のベストプラクティス: