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

Server Load Balancer:NLB セキュリティグループを使用したブラックリストとホワイトリストの設定

最終更新日:Mar 27, 2026

特定の IP アドレスから Network Load Balancer (NLB) インスタンスへのアクセスを拒否または許可する必要がある場合は、インスタンスをセキュリティグループに関連付けて、そのトラフィックを制御できます。セキュリティグループルールを設定することで、ブラックリストまたはホワイトリストを実装し、正確なアクセス制御を実現できます。

利用シーン

  • NLB インスタンスがセキュリティグループに追加される前は、デフォルトで NLB インスタンスのリスナーポートはすべてのリクエストを受け入れます。

  • 拒否ルールを含まないセキュリティグループに NLB インスタンスが追加された後、デフォルトで NLB インスタンスのリスナーポートはすべてのリクエストを受け入れます。特定の IP アドレスからのリクエストのみを NLB インスタンスに許可したい場合は、少なくとも 1 つの拒否ルールを作成する必要があります。

NLB インスタンスにアクセス制御の要件があり、NLB インスタンスへのインバウンドトラフィックを制御したい場合は、NLB インスタンスをセキュリティグループに追加し、ビジネス要件に基づいてセキュリティグループルールを設定できます。

重要
  • NLB インスタンスのアウトバウンドトラフィックは、ユーザーリクエストへの応答を指します。サービスに影響が出ないように、NLB セキュリティグループはアウトバウンドトラフィックを制限しません。セキュリティグループのアウトバウンドルールを設定する必要はありません。

  • NLB インスタンスが作成されると、システムは NLB インスタンスが存在する VPC に自動的にマネージドセキュリティグループを作成します。このセキュリティグループは NLB インスタンスによって制御されるため、詳細を表示することはできますが、変更することはできません。マネージドセキュリティグループには、次の種類のセキュリティグループルールが含まれます。

    • 優先度 1 のルール:これらのルールは、NLB インスタンスが使用するローカル IP アドレスを許可し、インスタンスとバックエンドサーバー間の通信およびヘルスチェックを可能にします。

      NLB インスタンスとバックエンドサーバー間の通信が中断される可能性があるため、NLB インスタンスのローカル IP アドレスを拒否する優先度 1 のセキュリティグループルールを追加しないことを推奨します。NLB コンソールにログインして、NLB インスタンスのローカル IP アドレスを確認できます。

    • 優先度 100 のルール:これらのルールはすべての IP アドレスを許可します。拒否ルールが設定されていない場合、このセキュリティグループ内の NLB インスタンスは、リスナーを使用してすべてのリクエストをチェックします。

    • 基本セキュリティグループまたは高度セキュリティグループのデフォルトのアクセス制御ルール (非表示) には、すべてのリクエストを拒否するルールが含まれています。この場合、NLB インスタンスのマネージドセキュリティグループのデフォルトの許可ルールが有効になります。

このトピックでは、セキュリティグループを使用してブラックリストとホワイトリストを実装する 2 つのシナリオについて説明します。セキュリティグループルールの優先順位付けについては、「セキュリティグループルールの優先度」をご参照ください。

ブラックリスト:特定の IP アドレスからのアクセスを拒否

image.png

ホワイトリスト:特定の IP アドレスからのアクセスのみを許可

image.png

制限事項

項目

セキュリティグループタイプ

説明

NLB でサポートされるセキュリティグループ

  • 一般セキュリティグループ

  • エンタープライズセキュリティグループ

  • セキュリティグループと NLB インスタンスは、同じ Virtual Private Cloud (VPC) に属している必要があります。

  • NLB インスタンスに関連付けることができるセキュリティグループの数とセキュリティグループルールの数は、Elastic Compute Service (ECS) セキュリティグループの制限に従います。

  • NLB インスタンスは最大 4 つのセキュリティグループに追加できます。NLB インスタンスが追加されるセキュリティグループは、同じタイプである必要があります。

    NLB インスタンスが基本セキュリティグループに追加されている場合、そのインスタンスを高度セキュリティグループに追加するには、NLB インスタンスを基本セキュリティグループから削除する必要があります。NLB インスタンスが高度セキュリティグループに追加されている場合、そのインスタンスを基本セキュリティグループに追加するには、NLB インスタンスを高度セキュリティグループから削除する必要があります。

  • パブリックプレビュー期間中の 2022 年 9 月 30 日より前に作成された NLB インスタンスは、セキュリティグループに追加できません。セキュリティグループを使用するには、NLB インスタンスを置き換えるか、新しい NLB インスタンスを購入してください。

基本セキュリティグループと高度セキュリティグループの詳細については、「基本セキュリティグループと高度セキュリティグループ」をご参照ください。

NLB でサポートされないセキュリティグループ

マネージドセキュリティグループ

マネージドセキュリティグループの詳細については、「マネージドセキュリティグループ」をご参照ください。

前提条件

4 つの ECS インスタンスを作成します。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

  • ECS01 と ECS02 は NLB インスタンスのバックエンドサーバーとして使用され、両方のインスタンスにアプリケーションがデプロイされます。

    次のコマンドは、ECS01 と ECS02 にテストアプリケーションをデプロイする例を示しています。

    ECS01 にサービスをデプロイするコマンド

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS01." > index.html
    

    ECS02 にサービスをデプロイするコマンド

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS02." > index.html
    
  • ECS03 と ECS04 は、NLB インスタンスへのアクセスに使用されるパブリック IP アドレスを持つインスタンスです。既存の Linux サーバーを使用して NLB インスタンスにアクセスすることもできるため、ECS03 と ECS04 を作成する必要はありません。

  • ドメイン名を登録し、そのICP 登録を取得し、CNAME レコードを設定して、カスタムドメイン名を NLB インスタンスにマッピングしておきます。

    次の表に、このトピックで使用する 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:サーバーグループの作成

  1. NLB コンソールにログインします。

  2. 上部のナビゲーションバーで、サーバーグループを作成するリージョンを選択します。この例では、中国 (杭州) を使用します。

  3. 左側のナビゲーションウィンドウで、NLB > サーバーグループ を選択します。

  1. サーバーグループ」ページで、「サーバーグループの作成」をクリックします。

  2. サーバーグループの作成 ダイアログボックスで、次のパラメーターを設定し、作成 をクリックします。

    このトピックでは、主要なパラメーターのみを説明します。他のパラメーターはデフォルト値のままにできます。詳細については、「サーバーグループの作成」をご参照ください。

    パラメーター

    説明

    タイプ

    サーバーグループのタイプを選択します。この例では、サーバータイプ が選択されています。

    サーバーグループ名

    サーバーグループの名前を入力します。この例では RS01 を使用します。

    VPC

    ドロップダウンリストから VPC を選択します。この例では、ECS01 と ECS02 を含む VPC01 を使用します。

    バックエンドサーバープロトコル

    バックエンドサーバーのプロトコルを選択します。この例では、[TCP] が選択されています。

  3. サーバーグループが作成されました」ダイアログボックスで、バックエンドサーバーの追加 をクリックします。

  4. バックエンドサーバー]タブで、[バックエンドサーバーの追加]をクリックします。

  5. [バックエンドサーバーの追加] パネルで、作成した ECS01 および ECS02 インスタンスを選択し、[次のステップ] をクリックします。

  6. バックエンドサーバーのポートと重みを設定し、[OK] をクリックします。この例では、ポートは 80 に設定され、デフォルトの重みが使用されます。

ステップ 2:NLB インスタンスとリスナーの作成

  1. 左側のナビゲーションウィンドウで、NLB > インスタンス を選択します。インスタンス ページで、NLB の作成 をクリックします。

  2. [Network Load Balancer (従量課金)] ページで、次の構成を完了します。

    このトピックでは、主要なパラメーターのみを説明します。他のパラメーターについては、「インスタンスの作成」をご参照ください。

    • リージョン: この例では、中国 (杭州) を使用します。

    • インスタンスのネットワークタイプ: この例では インターネット を使用します。

    • VPC:この例では VPC01 を使用します。

  3. 今すぐ購入 をクリックし、画面の指示に従って購入を完了します。

  4. インスタンス」ページに戻り、新しく作成された NLB インスタンスを検索し、その NLB インスタンス ID をクリックします。

  5. リスナー」タブをクリックします。リスナー タブで、「リスナーのクイック作成」をクリックします。「リスナーのクイック作成」ダイアログボックスで、以下のパラメーターを設定して、ポート 80 で TCP リスナーを作成し、OK をクリックします。

    パラメーター

    説明

    リスナープロトコルの選択

    リスナーのプロトコルを選択します。この例では、[TCP] が選択されています。

    リスニングポート

    リスナーポートを入力します。この例では 80 を使用します。

    サーバーグループ

    [サーバー] を選択し、[サーバー] の下のサーバーグループを選択します。

    この例では、「ステップ 1:サーバーグループの作成」で作成したサーバーグループを使用します。

  6. セキュリティグループに関連付ける前に、NLB インスタンスへのアクセスを確認します。curl -s http://whatismyip.akamai.com/ コマンドを使用して、現在のクライアントのパブリック IP アドレスを特定します。

    1. ECS03 インスタンスにログインし、telnet <domain_name> 80 コマンドを実行して、NLB インスタンスへのアクセスをテストします。

      次の図のような応答は、接続が成功したことを示します。

      p698514.png

    2. ECS04 インスタンスにログインします。telnet <domain_name> 80 コマンドを実行して、NLB インスタンスへのアクセスをテストします。

      次の図のような応答は、接続が成功したことを示します。

      p698636.png

    結果:NLB インスタンスがセキュリティグループに関連付けられる前に、ECS03 と ECS04 の両方が正常にアクセスできます。

ステップ 3:セキュリティグループの作成

NLB インスタンスをセキュリティグループに追加する前に、ECS コンソールでセキュリティグループを作成する必要があります。次のルールで 2 つのセキュリティグループを作成します。

  • セキュリティグループ 1 (ブラックリスト用)

    拒否ポリシーを持つルールを追加します。この例では、ECS03 インスタンスのパブリック IP アドレス (47.XX.XX.55) からのアクセスを拒否します。デフォルトのセキュリティグループルールはそのままにしておくことができます。

    ポリシー

    優先度

    プロトコル

    ポート範囲

    承認オブジェクト

    拒否

    1

    すべて

    宛先:-1/-1

    ソース:47.XX.XX.55

  • セキュリティグループ 2 (ホワイトリスト用)

    許可ルールと拒否ルールを追加します。この例では、ECS03 インスタンスのパブリック IP アドレス (47.XX.XX.55) からのアクセスを許可し、他のすべてのトラフィックを拒否します。以下の表を参照してください。

    ポリシー

    優先度

    プロトコル

    ポート範囲

    承認オブジェクト

    許可

    1

    すべて

    宛先:-1/-1

    ソース:47.XX.XX.55

    拒否

    100

    すべて

    宛先:-1/-1

    ソース:0.0.0.0/0

  1. ECS コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、ネットワーク & セキュリティ > セキュリティグループ を選択します。

  3. 上部のナビゲーションバーで、セキュリティグループを作成するリージョンを選択します。この例では、中国 (杭州) を使用します。

  4. セキュリティグループ ページで、セキュリティグループの作成 をクリックします。

  5. セキュリティグループの作成]ページで、[基本情報]セクションのパラメーターを設定します。

    このトピックでは、主要なパラメーターのみを説明します。他のパラメーターについては、「セキュリティグループの作成」をご参照ください。

    • ネットワーク: この例では、NLB インスタンスを含むのと同じ VPC である VPC1 を使用します。

    • タイプ: この例では、基本セキュリティグループを使用します。

  6. セキュリティグループの作成 ページで、アクセスルール セクションのパラメーターを設定します。

    1. インバウンド タブで、手动添加 をクリックし、セキュリティグループ 1(ブラックリスト用) および セキュリティグループ 2(ホワイトリスト用)

    2. セキュリティグループの作成 をクリックします。

ステップ 4:セキュリティグループへの追加と検証

ブラックリスト

ステップ 3:セキュリティグループの作成」で作成したセキュリティグループ 1 に NLB インスタンスを追加し、セキュリティグループ 1 のルールが NLB インスタンスへのアクセスを制御することを確認します。

  1. NLB コンソールにログインします。

  2. 上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。この例では、中国 (杭州) を使用します。

  3. NLB の NLB インスタンス ページで、「手順 2: NLB インスタンスの作成とリスナーの設定」で作成した NLB インスタンスを見つけ、インスタンス ID をクリックします。インスタンスの詳細 タブで、セキュリティグループ タブをクリックします。

  4. セキュリティグループ タブで、セキュリティグループの追加 をクリックします。セキュリティグループに NLB インスタンスを追加する ダイアログボックスで、手順 3: セキュリティグループを作成する で作成したセキュリティグループを選択し、OK をクリックします。

  5. 左側のパネルで、対象のセキュリティグループの ID をクリックします。インバウンドポリシー タブまたは アウトバウンドポリシー タブをクリックすると、セキュリティグループルールを表示できます。

    次の表は、このシナリオに関連するセキュリティグループルールを示しています。

    ポリシー

    優先度

    プロトコル

    ポート範囲

    承認オブジェクト

    拒否

    1

    すべて

    宛先:-1/-1

    ソース:47.XX.XX.55

  6. NLB インスタンスがセキュリティグループに追加された後のアクセス結果を確認します。curl -s http://whatismyip.akamai.com/ コマンドを使用して、現在のクライアントのパブリック IP アドレスを特定します。

    1. ECS03 インスタンスにログインします。telnet <domain_name> 80 コマンドを実行して、NLB インスタンスへのアクセスをテストします。

      接続がタイムアウトし、アクセスが拒否されたことがわかります。p698637.png

    2. ECS04 インスタンスにログインします。telnet <domain_name> 80 コマンドを実行して、NLB インスタンスへのアクセスをテストします。

      応答が返され、接続が成功したことがわかります。p698638.png

    結果:NLB インスタンスが セキュリティグループ 1 (ブラックリスト) に追加されると、拒否ルールで指定された IP アドレスからのトラフィックはブロックされ、他の IP アドレスからのトラフィックは許可されます。

ホワイトリスト

ステップ 3:セキュリティグループの作成」で作成したセキュリティグループ 2 に NLB インスタンスを追加し、セキュリティグループ 2 のルールが NLB インスタンスへのアクセスを制御するかどうかを確認します。

  1. NLB コンソールにログインします。

  2. 上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。この例では、中国 (杭州) を使用します。

  3. NLB インスタンス ページで、手順2:NLB インスタンスを作成し、リスナーを設定する で作成した NLB インスタンスを見つけ、インスタンス ID をクリックします。インスタンスの詳細 タブで、セキュリティグループ タブをクリックします。

  4. セキュリティグループ タブで、セキュリティグループの追加 をクリックします。 セキュリティグループに NLB インスタンスを追加する ダイアログボックスで、手順 3: セキュリティグループの作成で作成したセキュリティグループ 2 を選択し、OK をクリックします。

  5. 左側パネルで、対象のセキュリティグループのIDをクリックします。インバウンドポリシー タブまたは アウトバウンドポリシー タブをクリックすると、セキュリティグループルールを表示できます。

    ポリシー

    優先度

    プロトコル

    ポート範囲

    承認オブジェクト

    許可

    1

    すべて

    宛先:-1/-1

    ソース:47.XX.XX.55

    拒否

    100

    すべて

    宛先:-1/-1

    ソース:0.0.0.0/0

  6. NLB インスタンスがセキュリティグループに追加された後のアクセス結果を確認します。curl -s http://whatismyip.akamai.com/ コマンドを使用して、現在のクライアントのパブリック IP アドレスを特定します。

    1. ECS03 インスタンスにログインします。telnet <domain_name> 80 コマンドを実行して、NLB インスタンスへのアクセスをテストします。

      応答が返され、接続が成功したことがわかります。p738563.png

    2. ECS04 インスタンスにログインします。telnet <domain_name> 80 コマンドを実行して、NLB インスタンスへのアクセスをテストします。

      接続がタイムアウトし、アクセスが拒否されたことがわかります。p738568.png

    結果:NLB インスタンスが セキュリティグループ 2 (ホワイトリスト) に追加されると、許可ルールで指定された IP アドレスからのトラフィックのみが許可されます。

参考