特定の IP アドレスからネットワークロードバランサー(NLB)インスタンスへのリクエストを拒否または許可する場合、アクセス制御を実装するために NLB インスタンスのセキュリティグループを構成できます。 NLB セキュリティグループは、ホワイトリストまたはブラックリストとして使用でき、きめ細かいアクセス制御を実装します。
サンプル シナリオ
NLB インスタンスがセキュリティグループに追加される前は、NLB インスタンスのリスナー ポートはデフォルトですべてのリクエストを受け入れます。
NLB インスタンスが拒否ルールを含まないセキュリティグループに追加された後、NLB インスタンスのリスナー ポートはデフォルトですべてのリクエストを受け入れます。 特定の IP アドレスからのリクエストのみを NLB インスタンスに許可する場合は、少なくとも 1 つの拒否ルールを作成する必要があります。
NLB インスタンスにアクセス制御要件があり、NLB インスタンスへのインバウンド トラフィックを制御する場合は、NLB インスタンスをセキュリティグループに追加し、ビジネス要件に基づいてセキュリティグループ ルールを構成できます。
NLB インスタンスのアウトバウンド トラフィックとは、ユーザー リクエストに返される応答のことです。 サービスが影響を受けないように、NLB セキュリティグループはアウトバウンド トラフィックを制限しません。 セキュリティグループのアウトバウンド ルールを構成する必要はありません。
NLB インスタンスが作成されると、システムは NLB インスタンスが存在する VPC にマネージド セキュリティグループを自動的に作成します。 このセキュリティグループは NLB インスタンスによって制御されるため、詳細を表示することはできますが、変更することはできません。 マネージド セキュリティグループには、次のタイプのセキュリティグループ ルールが含まれています。
優先度 1 のルール: これらのルールは、NLB インスタンスがバックエンド サーバーとの通信やヘルス チェックを有効にするために使用するローカル IP アドレスを許可します。
NLB インスタンスのローカル IP アドレスを拒否する優先度 1 のセキュリティグループ ルールを追加しないことをお勧めします。このような競合が発生すると、NLB インスタンスとバックエンド サーバー間の通信が中断される可能性があります。 NLB コンソールにログインして、NLB インスタンスのローカル IP アドレスを確認できます。
優先度 100 のルール: これらのルールはすべての IP アドレスを許可します。 構成済みの拒否ルールがない場合、このセキュリティグループの NLB インスタンスはリスナーを使用してすべてのリクエストをチェックします。
基本セキュリティグループまたは高度なセキュリティグループのデフォルトのアクセス制御ルール(非表示)には、すべてのリクエストを拒否するルールが含まれています。 この場合、NLB インスタンスのマネージド セキュリティグループのデフォルトの許可ルールが有効になります。
次のシナリオは、ホワイトリストとブラックリストの仕組みを示すために使用されます。 詳細については、「セキュリティグループ ルール」をご参照ください。
ブラックリストは、特定の IP アドレスからのアクセスを拒否します。

ホワイトリストは、特定の IP アドレスからのアクセスのみを許可します。

制限
項目 | セキュリティグループ タイプ | 説明 |
NLB でサポートされているセキュリティグループ |
|
基本セキュリティグループと高度なセキュリティグループの詳細については、「基本セキュリティグループと高度なセキュリティグループ」をご参照ください。 |
NLB でサポートされていないセキュリティグループ | マネージド セキュリティグループ | マネージド セキュリティグループの詳細については、「マネージド セキュリティグループ」をご参照ください。 |
前提条件
4 つの Elastic Compute Service(ECS)インスタンスが作成されます。 ECS インスタンスの作成方法の詳細については、「ECS インスタンスを購入する」をご参照ください。
ECS01 と ECS02 は、NLB インスタンスのバックエンド サーバーとして機能します。 アプリケーションは ECS01 と ECS02 にデプロイされます。
次のサンプル コマンドは、ECS01 と ECS02 にテスト アプリケーションをデプロイするために使用されます。
ECS03 と ECS04 は、NLB インスタンスにアクセスするために使用されるインターネットに接続されたインスタンスです。 既存の Linux サーバーを使用して NLB インスタンスにアクセスすることもできます。 この場合、ECS03 と ECS04 を作成する必要はありません。
ドメイン名が登録され、ドメイン名にインターネット コンテンツ プロバイダー(ICP)番号が取得され、カスタム ドメイン名を NLB インスタンスのドメイン名にマッピングする CNAME レコードが作成されます。 詳細については、「汎用ドメイン名を登録するAlibaba Cloud でドメイン名を登録する」、「ICP 登録プロセス」、および「ステップ 4: DNS レコードを作成する」をご参照ください。
次の表は、このトピックで使用される ECS インスタンスの構成を示しています。
インスタンス
ECS 構成
VPC
IP アドレス
手順
ECS01
インスタンス タイプ: ecs.u1-c1m1.large
CPU とメモリ: 2 vCPU と 2 GiB のメモリ
オペレーティング システム: Alibaba Cloud Linux 3.2104 LTS 64 ビット
ネットワーク タイプ: VPC
VPC01
プライベート: 192.168.0.24
パブリック: 未割り当て
インスタンスは、NLB インスタンスのバックエンド サーバーとして指定されます。
ECS02
プライベート: 192.168.0.37
パブリック: 未割り当て
ECS03
VPC02
プライベート: 192.168.0.25
パブリック: 47.XX.XX.55
インスタンスは、NLB インスタンスにアクセスするためのクライアントとして使用されます。
ECS04
プライベート: 192.168.0.26
パブリック: 101.XX.XX.251
ステップ 1: サーバーグループを作成する
NLB コンソール にログインします。
上部のナビゲーションバーで、サーバーグループを作成するリージョンを選択します。 この例では、[中国 (杭州)] が選択されています。
左側のナビゲーション ウィンドウで、NLB > [サーバーグループ] を選択します。
[サーバーグループ] ページで、[サーバーグループの作成] をクリックします。
[サーバーグループの作成] ダイアログボックスで、次のパラメーターを設定し、[作成] をクリックします。
次の表では、サーバーグループを作成するための主要なパラメーターについて説明します。 その他のパラメーターにはデフォルト値を使用します。 詳細については、「サーバーグループを作成する」をご参照ください。
パラメーター
説明
[サーバーグループ タイプ]
サーバーグループのタイプを指定します。 この例では、[サーバータイプ] が選択されています。
[サーバーグループ名]
サーバーグループの名前を入力します。 この例では、RS01 が使用されています。
[VPC]
ドロップダウン リストから VPC を選択します。 この例では、VPC1 が選択されています。 サーバーグループは、ECS01 および ECS02 と同じ VPC に存在する必要があります。
[バックエンド サーバー プロトコル]
バックエンド プロトコルを選択します。 この例では、[TCP] が選択されています。
[サーバーグループが作成されました] ダイアログボックスで、[バックエンド サーバーの追加] をクリックします。
[バックエンド サーバー] タブで、[バックエンド サーバーの追加] をクリックします。
[バックエンド サーバーの追加] パネルで、ECS01 と ECS02 を選択し、[次へ] をクリックします。
バックエンド サーバーのポートと重みを指定し、[OK] をクリックします。 この例では、ポート 80 が指定され、デフォルトの重みが使用されます。
ステップ 2: NLB インスタンスを作成し、リスナーを構成する
左側のナビゲーション ウィンドウで、 を選択します。 [インスタンス] ページで、[NLB の作成] をクリックします。
[NLB (従量課金)] ページで、次のパラメーターを設定します。
次の表では、一部のパラメーターのみについて説明します。 その他のパラメーターの詳細については、「NLB インスタンスを作成する」をご参照ください。
[リージョン]: この例では、[中国 (杭州)] が選択されています。
[ネットワーク タイプ]: この例では、[インターネット] が選択されています。
[VPC]: この例では、VPC01 が選択されています。
[今すぐ購入] をクリックして支払いを完了します。
[インスタンス] ページに戻り、作成したNLB インスタンスを見つけ、NLB インスタンスの ID をクリックします。
[リスナー] タブをクリックします。 [リスナー] タブで、[リスナーのクイック作成] をクリックします。 [リスナーのクイック作成] ダイアログボックスで、次のパラメーターを設定してポート 80 を使用する TCP リスナーを作成し、[OK] をクリックします。
パラメーター
手順
[リスナー プロトコル]
リスナー プロトコルを選択します。 この例では、[TCP] が選択されています。
[リスナー ポート]
この例では、ポート 80 が使用されています。
[サーバーグループ]
[サーバータイプ] を選択し、[サーバータイプ] の横にあるドロップダウン リストからサーバーグループを選択します。
この例では、ステップ 1: サーバーグループを作成する で作成されたサーバーグループが選択されています。
NLB インスタンスがセキュリティグループに追加されていない場合、NLB インスタンスのアクセシビリティを確認します。
curl -s http://whatismyip.akamai.com/コマンドを使用して、リクエストを送信するクライアントのパブリック IP アドレスを照会できます。ECS03 にログインします。 次のコマンドを実行して、ECS03 がNLB インスタンスにアクセスできるかどうかをテストします:
telnet ドメイン名 80。次の図に示すようにエコー応答パケットを受信した場合、ECS03 は NLB インスタンスにアクセスできます。

ECS04 にログインします。 次のコマンドを実行して、ECS04 がNLB インスタンスにアクセスできるかどうかをテストします:
telnet ドメイン名 80。次の図に示すようにエコー応答パケットを受信した場合、ECS04 は NLB インスタンスにアクセスできます。

結果は、NLB インスタンスがセキュリティグループに追加される前に、ECS03 と ECS04 が NLB インスタンスにアクセスできることを示しています。
ステップ 3: セキュリティグループを作成する
NLB インスタンスをセキュリティグループに追加する前に、ECS コンソールでセキュリティグループを作成する必要があります。 このセクションでは、2 つのセキュリティグループの作成方法について説明します。
セキュリティグループ 1 をブラックリストとして使用する
指定された IP アドレスからのアクセスを拒否する拒否ルールを追加します。 この例では、ECS03 のパブリック IP アドレス 47.XX.XX.55 からのアクセスを拒否する拒否ルールが作成されます。 デフォルトのセキュリティグループ ルールを保持できます。 次の表に、ルールの構成を示します。
ポリシー
優先度
プロトコル
ポート範囲
承認オブジェクト
拒否
1
すべて
宛先: -1/-1
送信元: 47.XX.XX.55
セキュリティグループ 2 をホワイトリストとして使用する
特定の IP アドレスからのアクセスを許可する許可ルールと、特定の IP アドレスからのアクセスを拒否する拒否ルールを追加します。 この例では、ECS03 のパブリック IP アドレス 47.XX.XX.55 からのアクセスを許可する許可ルールと、拒否ルールが作成されます。 次の表に、ルールの構成を示します。
ポリシー
優先度
プロトコル
ポート範囲
承認オブジェクト
はい
1
すべて
宛先: -1/-1
送信元: 47.XX.XX.55
拒否
100
すべて
宛先: -1/-1
送信元: 0.0.0.0/0
ECS コンソール にログインします。
左側のナビゲーション ウィンドウで、 を選択します。
上部のナビゲーションバーで、セキュリティグループを作成するリージョンを選択します。 この例では、[中国 (杭州)] が選択されています。
[セキュリティグループ] ページで、[セキュリティグループの作成] をクリックします。
[セキュリティグループの作成] ページで、[基本情報] セクションのパラメーターを設定します。
次のパラメーターを指定します。 その他のパラメーターの詳細については、「セキュリティグループを作成する」をご参照ください。
[ネットワーク]: この例では、VPC 1 が選択されています。 セキュリティグループは、NLB インスタンスと同じ VPC に存在する必要があります。
[セキュリティグループ タイプ]: この例では、[基本セキュリティグループ] が選択されています。
[セキュリティグループの作成] ページで、[アクセス ルール] セクションのパラメーターを設定します。
[インバウンド] タブで、[ルールの追加] をクリックして、セキュリティグループ 1 とセキュリティグループ 2 のルールの構成に基づいてルールを追加します。
[セキュリティグループの作成] をクリックします。
ステップ 4: NLB インスタンスをセキュリティグループに追加し、結果を確認する
セキュリティグループ 1 をブラックリストとして使用する
ステップ 3 で作成したセキュリティグループ 1 にNLB インスタンスを追加し、セキュリティグループ 1 のルールがNLB インスタンスに有効かどうかをテストします。
NLB コンソール にログインします。
上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。 この例では、[中国 (杭州)] が選択されています。
左側のナビゲーション ウィンドウで、[NLB] > [インスタンス] を選択します。 表示されるページで、ステップ 2: NLB インスタンスを作成し、リスナーを構成する で作成した NLB インスタンスを見つけ、インスタンス ID をクリックします。 インスタンスの詳細ページで、[セキュリティグループ] タブをクリックします。
[セキュリティグループ] タブで、[セキュリティグループの作成] をクリックします。 [セキュリティグループに NLB インスタンスを追加] ダイアログボックスで、ステップ 3 で作成したセキュリティグループを選択し、[OK] をクリックします。
左側のペインで、管理するセキュリティグループの ID をクリックします。 [インバウンド ポリシー] タブまたは [アウトバウンド ポリシー] タブをクリックして、セキュリティグループ ルールを表示できます。
次の表に、このトピックに関連するパラメーターを示します。
ポリシー
優先度
プロトコル
ポート範囲
承認オブジェクト
拒否
1
すべて
宛先: -1/-1送信元: 47.XX.XX.55セキュリティグループのNLB インスタンスへのアクセスが拒否されているかどうかをテストします。
curl -s http://whatismyip.akamai.comコマンドを使用して、リクエストを送信するクライアントのパブリック IP アドレスを照会できます。ECS03 にログインします。 次のコマンドを実行して、ECS03 がNLB インスタンスにアクセスできるかどうかをテストします:
telnet ドメイン名 80。次の図に示すようにエコー応答パケットを受信した場合、ECS04 は NLB インスタンスにアクセスできませんでした。

ECS04 にログインします。 次のコマンドを実行して、ECS04 がNLB インスタンスにアクセスできるかどうかをテストします:
telnet ドメイン名 80。次の図に示すようにエコー応答パケットを受信した場合、ECS04 は NLB インスタンスにアクセスできました。

結果は、NLB インスタンスがセキュリティグループ 1 に追加された後、拒否ルールで指定された IP アドレスは NLB インスタンスにアクセスできなくなったことを示しています。 拒否ルールで指定されていない IP アドレスは、NLB インスタンスにアクセスできます。
セキュリティグループ 2 をホワイトリストとして使用する
ステップ 3 で作成したセキュリティグループ 2 にNLB インスタンスを追加し、セキュリティグループ 2 のルールがNLB インスタンスに有効かどうかをテストします。
NLB コンソール にログインします。
上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。 この例では、[中国 (杭州)] が選択されています。
左側のナビゲーション ウィンドウで、[NLB] > [インスタンス] を選択します。 表示されるページで、ステップ 2: NLB インスタンスを作成し、リスナーを構成する で作成した NLB インスタンスを見つけ、インスタンス ID をクリックします。 インスタンスの詳細ページで、[セキュリティグループ] タブをクリックします。
[セキュリティグループ] タブで、[セキュリティグループの作成] をクリックします。 [セキュリティグループに NLB インスタンスを追加] ダイアログボックスで、ステップ 3 で作成したセキュリティグループ 2 を選択し、[OK] をクリックします。
左側のペインで、管理するセキュリティグループの ID をクリックします。 [インバウンド ポリシー] タブまたは [アウトバウンド ポリシー] タブをクリックして、セキュリティグループ ルールを表示できます。
ポリシー
優先度
プロトコル
ポート範囲
承認オブジェクト
はい
1
すべて
宛先: -1/-1
送信元: 47.XX.XX.55
拒否
100
すべて
宛先: -1/-1
送信元: 0.0.0.0/0
セキュリティグループのNLB インスタンスへのアクセスが拒否されているかどうかをテストします。
curl -s http://whatismyip.akamai.comコマンドを使用して、リクエストを送信するクライアントのパブリック IP アドレスを照会できます。ECS03 にログインします。 次のコマンドを実行して、ECS03 がNLB インスタンスにアクセスできるかどうかをテストします:
telnet ドメイン名 80。次の図に示すようにエコー応答パケットを受信した場合、ECS04 は NLB インスタンスにアクセスできました。

ECS04 にログインします。 コマンドを実行して、ECS04 がNLB インスタンスにアクセスできるかどうかをテストします:
telnet ドメイン名 80。次の図に示すようにエコー応答パケットを受信した場合、ECS04 は NLB インスタンスにアクセスできませんでした。

結果は、NLB インスタンスがセキュリティグループ 2 に追加された後、セキュリティグループ 2 の許可ルールで指定された IP アドレスのみが NLB インスタンスにアクセスできることを示しています。
関連情報
NLB インスタンスをセキュリティグループに追加する方法、およびセキュリティグループから NLB インスタンスを削除する方法の詳細については、「NLB インスタンスをセキュリティグループに追加する」をご参照ください。
リスナーまたはポートに基づいてきめ細かいアクセス制御を有効にする方法の詳細については、「NLB インスタンスのセキュリティグループを構成する」をご参照ください。
セキュリティグループの詳細については、「セキュリティグループ」をご参照ください。