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

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

最終更新日:Jul 17, 2026

特定の IP アドレスから Network Load Balancer (NLB) インスタンスへのリクエストを拒否または許可する場合、NLB インスタンスのセキュリティグループを設定してアクセス制御を実装できます。NLB のセキュリティグループは、きめ細かなアクセス制御を実装するホワイトリストまたはブラックリストとして使用できます。

シナリオ例

デフォルトでは、NLB インスタンスがセキュリティグループに関連付けられているかどうかにかかわらず、そのリスナーポートはすべてのインバウンドリクエストを受け付けます。許可ルールのみを持つセキュリティグループを追加しても、この動作は変わりません。特定の IP アドレスへのアクセスを制限するには、セキュリティグループに少なくとも 1 つの拒否ルールを追加する必要があります。

NLB セキュリティグループはインバウンドトラフィックにのみ適用されます。アウトバウンドトラフィック (クライアントリクエストへの応答) は決して制限されないため、アウトバウンドルールは不要です。

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

NLB インスタンスを作成すると、システムは同じ Virtual Private Cloud (VPC) 内にマネージドセキュリティグループを自動的に作成します。このセキュリティグループは読み取り専用であり、ルールを表示することはできますが、変更することはできません。

マネージドセキュリティグループには、次のルールが含まれています。

優先度

アクション

プロトコル

ソース

ポート範囲

説明

1

許可

すべて

NLB ローカル IP アドレス

すべて

NLB インスタンスとバックエンドサーバー間の通信を有効にし、ヘルスチェックのトラフィックを許可します

100

許可

すべて

0.0.0.0/0

すべて

デフォルトですべてのインバウンドトラフィックを許可します

(暗黙的)

拒否

すべて

0.0.0.0/0

すべて

ベーシックセキュリティグループおよびアドバンストセキュリティグループに組み込まれたデフォルトの deny-all ルールです。優先度 100 の許可ルールが優先されます

重要

NLB のローカル IP アドレスを対象とする優先度 1 の拒否ルールを追加しないでください。このようなルールはマネージドセキュリティグループと競合し、NLB インスタンスとバックエンドサーバー間の通信を妨げる可能性があります。NLB インスタンスのローカル IP アドレスを確認するには、NLB コンソールにログインします。

以下のシナリオで、ホワイトリストとブラックリストがどのように機能するかを説明します。詳細については、「セキュリティグループのルール」をご参照ください。

ブラックリストは、特定のIPアドレスからのアクセスを拒否します。

image.png

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

image.png

制限事項

項目

セキュリティグループの種類

説明

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

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

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

  • セキュリティグループと NLB インスタンスは、同じ仮想プライベートクラウド (VPC) に属している必要があります。

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

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

    NLB インスタンスを基本セキュリティグループに追加済みで、高度セキュリティグループにも追加したい場合は、まず NLB インスタンスを基本セキュリティグループから削除する必要があります。同様に、NLB インスタンスを高度セキュリティグループに追加済みで、基本セキュリティグループにも追加したい場合も、まず NLB インスタンスを高度セキュリティグループから削除する必要があります。

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

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

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

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

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

前提条件

4 つの Elastic Compute Service (ECS) インスタンスを作成します。ECS インスタンスの作成方法の詳細については、「ECS インスタンスの購入」をご参照ください。

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

    以下のサンプルコマンドを使用して、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 インスタンスにアクセスするために使用する、インターネットに接続可能なインスタンスです。既存の Linux サーバーを使用して NLB インスタンスにアクセスすることもできます。その場合、ECS03 と ECS04 を作成する必要はありません。

  • ドメイン名の登録、ドメイン名のインターネットコンテンツプロバイダー (ICP) 番号の取得、およびカスタムドメイン名を NLB インスタンスのドメイン名にマッピングするための CNAME レコードの作成が完了している必要があります。詳細については、「ドメイン名の登録」、「ICP申請プロセス」、および「ステップ 4:DNS レコードの作成」をご参照ください。

    次の表に、このトピックで使用される ECS インスタンスの設定を示します。

    インスタンス

    ECS 設定

    VPC

    IP アドレス

    手順

    ECS01

    • インスタンスタイプ:ecs.u1-c1m1.large

    • CPU とメモリ:2 vCPU と 2 GiB のメモリ

    • オペレーティングシステム:Alibaba Cloud Linux 3.2104 LTS 64-bit

    • ネットワークタイプ: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 を選択します。この例では、VPC01 を選択します。サーバーグループは、ECS01 および ECS02 と同じ VPC に存在する必要があります。

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

    バックエンドプロトコルを選択します。この例では、[TCP] を選択します。

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

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

  3. バックエンドサーバーの追加 パネルで、ECS01 と ECS02 を選択し、次のステップ をクリックします。

  4. バックエンドサーバーのポートと重みを指定し、[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 インスタンスがセキュリティグループに追加されていない場合、NLB インスタンスのアクセシビリティを確認します。コマンド curl -s http://whatismyip.akamai.com/ を使用して、リクエストを送信するクライアントのパブリック IP アドレスを照会できます。

    1. ECS03 にログオンし、次のコマンドを実行して、ECS03 が NLB インスタンスにアクセスできるかどうかをテストします: telnet Domain name 80

      エコー応答パケットを受信した場合は、ECS03 から NLB インスタンスにアクセスできることを意味します。

      [root@iZbp1esczkzr2jlz    ~]# curl -s http://whatismyip.akamai.com/
      47.xxx.55[root@iZbp1exxx    lz    ~]# telnet xxx.com 80
      Trying 47.xxx.164...
      Connected to xxx.com.
      
    2. ECS04 にログインします。次のコマンドを実行して、ECS04 が NLB インスタンスにアクセスできるかどうかをテストします: telnet ドメイン名 80

      エコー応答パケットを受信した場合は、ECS04 から NLB インスタンスにアクセスできることを意味します。

      [root@iZbp1esczkr2jlxxx ~]# curl -s http://whatismyip.akamai.com/
      101.xxx.251[root@iZbp1escxxx jl    ~]# telnet nxxx xxx xxx.s.com 80
      Trying 47.xxx.164...
      Connected to xxx.com.
      

    この結果は、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 アドレスからのアクセスを許可するルールと、それ以外のアクセスを拒否するルールを追加します。この例では、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. セキュリティグループの作成 ページで、基本情報 セクションのパラメーターを設定します。

    以下のパラメーターを設定します。他のパラメーターの詳細については、「セキュリティグループの作成」をご参照ください。

    • [ネットワーク]:この例では、VPC01 を選択します。セキュリティグループは、NLB インスタンスと同じ VPC に存在する必要があります。

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

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

    1. インバウンド タブで、ルールを追加 をクリックして、セキュリティグループ 1セキュリティグループ 2 のルールの設定に基づいてルールを追加します。

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

ステップ 4:NLB インスタンスをセキュリティグループに追加し、結果を検証する

ブラックリストとしてセキュリティグループ 1 を使用する

ステップ 3 で作成したセキュリティグループ 1 に NLB インスタンスを追加し、セキュリティグループ 1 のルールが NLB インスタンスで有効になるか確認します。

  1. NLBコンソールにログインします。
  2. 上部メニューで、NLB インスタンスがデプロイされているリージョンを選択します。この例では、[中国 (杭州)] を選択します。

  3. 左側のナビゲーションペインで、[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 にログオンします。 次のコマンドを実行して、ECS03 が NLB インスタンスにアクセスできるか確認します: telnet Domain name 80

      エコー応答パケットを受信しなかった場合は、ECS03 から NLB インスタンスにアクセスできないことを意味します。

      [root@izbp1esczkr2jlzx6 ~]# curl -s http://whatismyip.akamai.com/
      47.xxx.55
      [root@izbp1esczkr2jlzx6 ~]# telnet xxx.xxx.com 80
      Trying 47.xxx.189...
      telnet: connect to address 47.xxx.189: Connection timed out
      
    2. ECS04 にログオンします。次のコマンドを実行して、ECS04 が NLB インスタンスにアクセスできるかどうかをテストします: telnet ドメイン名 80

      エコー応答パケットを受信した場合は、ECS04 から NLB インスタンスにアクセスできることを意味します。

      [root@iZbp1esczkr2jlxxx ~]# curl -s http://whatismyip.akamai.com/
      101.xxx.251[root@iZbp1escxxx jlxxx ~]# telnet xxx.com 80
      Trying 47.xxx.164...
      Connected to xxx.xxx.xxx.xxx.com.
      

    この結果は、NLB インスタンスが セキュリティグループ 1 に追加された後、拒否ルールで指定された IP アドレスからは NLB インスタンスにアクセスできなくなることを示しています。拒否ルールで指定されていない IP アドレスからは、NLB インスタンスにアクセスできます。

ホワイトリストとしてセキュリティグループ 2 を使用する

ステップ 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 にログオンします。次のコマンドを実行して、ECS03 が NLB インスタンスにアクセスできるかどうかをテストします: telnet Domain name 80

      エコー応答パケットを受信した場合は、ECS03 から NLB インスタンスにアクセスできることを意味します。

      [root@izbp1esczkr2jlz ~]# curl -s http://whatismyip.akamai.com/
      47.xxx.55
      [root@izbp1esczkr2jlz ~]# telnet xxx.com 80
      Trying 47.xxx.164...
      Connected to xxx.com.
      
    2. ECS04 にログオンします。NLB インスタンスにアクセスできるかテストするために、コマンド telnet ドメイン名 80 を実行します。

      エコー応答パケットを受信しなかった場合は、ECS04 から NLB インスタンスにアクセスできないことを意味します。

      [   @iZbp1esczkzr2jlz    ~]# curl -s http://whatismyip.akamai.com/
      101.xxx.251[   @iZbp1esczkzr2    ~]# telnet xxx.xxx.com 80
      Trying 47.xxx.164...
      telnet: connect to address 47.xxx.164: Connection timed out
      

    この結果は、NLB インスタンスが セキュリティグループ 2 に追加された後、セキュリティグループ 2 の許可ルールで指定された IP アドレスのみが NLB インスタンスにアクセスできることを示しています。

関連ドキュメント