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

Server Load Balancer:NLB を使用した IPv6 サービスの負荷分散

最終更新日:Jan 14, 2026

Network Load Balancer (NLB) は IPv6 リクエストを転送できます。このトピックでは、IPv4 および IPv6 の Elastic Compute Service (ECS) インスタンスをデュアルスタック NLB インスタンスに追加する方法について説明します。これにより、IPv6 クライアントは、NLB インスタンスのバックエンドサーバーにデプロイされた IPv4 および IPv6 サービスにアクセスできるようになります。

次の図は、このトピックの例を示しています。ある企業が、IPv6 クライアントからのリクエストを NLB に転送させ、IPv6 クライアントが VPC (Virtual Private Cloud) 内の IPv4 および IPv6 サービスにアクセスできるようにしたいと考えています。この要件を満たすには、IPv4 の ECS インスタンスと IPv6 の ECS インスタンスを作成する必要があります。また、デュアルスタックの NLB インスタンスを作成し、IPv6 をサポートするサーバーグループを作成する必要もあります。これにより、IPv6 クライアントは、NLB インスタンスのバックエンドサーバーとして機能する ECS インスタンス上の IPv4 および IPv6 サービスにアクセスできるようになります。

image

制限事項

  • デュアルスタック NLB インスタンスが利用可能なリージョンの詳細については、「NLB インスタンス」をご参照ください。

  • デュアルスタック機能を有効にする場合は、VPC のゾーンにある vSwitch で IPv6 を有効にする必要があります。

  • デュアルスタック NLB インスタンスは、IPv6 クライアントからのリクエストを IPv4 および IPv6 のバックエンドサービスに転送できます。

  • 既存の IPv4 NLB インスタンスをデュアルスタック NLB インスタンスにスペックアップすることはできません。デュアルスタック NLB インスタンスは新規に作成する必要があります。

  • IPv4 NLB インスタンスのリスナーを作成する際、IPv6 が有効になっているサーバーグループにリスナーを関連付けることはできません。

前提条件

  • 中国 (上海) リージョンに VPC (VPC1) が作成され、その VPC で IPv6 が有効になっていること。IPv6 を有効にすると、IPv6 ゲートウェイが自動的に作成されます。詳細については、「VPC の IPv6 の有効化」をご参照ください。

  • 中国 (上海) ゾーン E に vSwitch (vSwitch1) が、中国 (上海) ゾーン G に vSwitch (vSwitch2) が作成されていること。vSwitch1 と vSwitch2 で IPv6 が有効になっていること。詳細については、「IPv4 と IPv6 をサポートする vSwitch の作成」をご参照ください。

    NLB インスタンスが期待どおりにスケールできるように、各 vSwitch に少なくとも 8 つの IP アドレスを予約してください。
  • ドメイン名が登録され、そのドメイン名のインターネットコンテンツプロバイダー (ICP) 番号が取得されていること。詳細については、「Alibaba Cloud でのドメイン名の登録」および「ICP 登録プロセス」をご参照ください。

ステップ 1:ECS インスタンスの作成と設定

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

  2. 左側のナビゲーションウィンドウで、[vSwitch] をクリックします。

  3. vSwitch のリージョンを選択します。この例では、[中国 (上海)] が選択されています。

  4. [vSwitch] ページで、管理したい vSwitch を見つけ、[操作] 列の [クラウドサービスの追加] > [ECS インスタンス] を選択します。

  5. [Elastic Compute Service] ページの [カスタム起動] タブで、ECS01 という名前の IPv4 ECS インスタンスと ECS02 という名前の IPv6 ECS インスタンスを作成します。ECS インスタンスが追加されるセキュリティグループは、ポート 80 でのトラフィックを許可する必要があります。詳細については、「[カスタム起動] タブでのインスタンスの作成」をご参照ください。

    この例での ECS の構成

    ECS インスタンス

    リージョン

    VPC

    vSwitch

    IP バージョン

    イメージ

    ECS01

    中国 (上海)

    VPC1

    ゾーン E の vSwitch1

    IPv4

    Alibaba Cloud Linux 3.2104 LTS 64

    ECS02

    中国 (上海)

    VPC1

    ゾーン G の vSwitch2

    IPv6

    説明

    IPv6 ECS インスタンスを作成する際、[ネットワークとセキュリティグループ] セクションの [IPv6][無料で IPv6 アドレスを割り当てる] を選択します。

    Alibaba Cloud Linux 3.2104 LTS 64

  6. ECS01 と ECS02 にリモートでログインします。詳細については、「ECS リモート接続メソッドの選択」をご参照ください。

  7. ECS01 で次のコマンドを実行して、NGINX サービスをデプロイします。

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! this is ipv4 rs." > index.html
  8. ECS02 で次のコマンドを実行して、NGINX サービスをデプロイします。

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! this is ipv6 rs." > index.html
  9. ECS02 の IPv6 アドレスを設定します。詳細については、「IPv6 通信」をご参照ください。

    説明

    [イメージ] セクションで [Alibaba Cloud Linux 3.2104 LTS 64] が選択され、[ネットワークとセキュリティグループ] セクションの [IPv6][無料で IPv6 アドレスを割り当てる] が選択されている場合は、このステップをスキップしてください。

    1. ECS02 にログインします。

    2. ECS02 の IPv6 アドレスを設定します。

      ip addr | grep inet6 または ifconfig | grep inet6 コマンドを実行します。

      次の図に示すように、ECS02 に IPv6 アドレスが設定されている場合は、このステップをスキップします。

      1122-1.png

      1. コマンドの出力に inet6 の情報が含まれていない場合、ECS02 で IPv6 が無効になっています。まず、IPv6 サービスを有効にしてください

      2. コマンドの出力に inet6 の情報が含まれている場合、ECS02 で IPv6 が有効になっており、ECS02 に割り当てられた IPv6 アドレスを特定できます。ECS02 の IPv6 アドレスを設定してください

ステップ 2:ECS02 のセキュリティグループルールの設定

ECS02 のセキュリティグループルールを設定して、インバウンドの IPv6 トラフィックを許可します。

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

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

  3. 上部のナビゲーションバーで、セキュリティグループのリージョンを選択します。この例では、[中国 (上海)] が選択されています。

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

  5. [セキュリティグループ] ページで、管理したいセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。

  6. [セキュリティグループ詳細] タブの [ルール] セクションにある [インバウンド] タブで、[ルールの追加] をクリックします。

  7. [セキュリティグループルールの作成] ダイアログボックスで、パラメーターを設定します。その後、[送信] をクリックします。次の表にパラメーターを示します。

    パラメーター

    説明

    アクション

    ルールの操作を選択します。この例では、[許可] が選択されています。

    優先度

    ルールの優先度を選択します。値が小さいほど、優先度が高くなります。有効な値:1~100

    この例では、デフォルト値の [1] が使用されます。

    プロトコル

    許可するリクエストのプロトコルタイプを選択します。この例では、[すべての ICMPv6] が選択されています。

    ソース

    ドロップダウンリストから [IPv6] を選択し、::/0 を入力します。これは、ルールがすべての IPv6 アドレスに適用されることを示します。

    説明

    ビジネス要件に基づいて、特定の IPv6 アドレスを指定できます。

    宛先 (現在のインスタンス)

    リクエストの宛先 IP アドレスとポートを指定します。

    [プロトコル] パラメーターを [すべての ICMPv6] に設定すると、[-1/-1] が自動的に選択され、変更できません。

ステップ 3:NLB インスタンスの作成

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

  2. [インスタンス] ページで、[NLB の作成] をクリックします。

  3. 購入ページで、パラメーターを設定し[今すぐ購入] をクリックします。

    次の表では、一部のパラメーターのみを説明しています。他のパラメーターはデフォルト値のままにします。詳細については、「NLB インスタンスの作成と管理」をご参照ください。

    設定例

    パラメーター

    説明

    リージョン

    NLB インスタンスを作成するリージョンを選択します。

    ネットワークタイプ

    NLB インスタンスのネットワークタイプを選択します。システムは、選択されたネットワークタイプに基づいて、パブリックまたはプライベート IP アドレスを NLB インスタンスに割り当てます。この例では、[インターネット] が選択されています。

    説明

    [インターネット] ネットワークタイプは、IPv4 NLB インスタンスでのみサポートされています。デフォルトでは、IPv6 NLB インスタンスは [内部向け] です。この例では、インターネット向けの IPv6 NLB インスタンスが必要です。ステップ 4 を実行して、IPv6 アドレスをパブリック IPv6 アドレスに変更します。

    VPC

    NLB インスタンスをデプロイする VPC を選択します。

    説明

    VPC で IPv6 機能が有効になっていることを確認してください。

    ゾーン

    少なくとも 2 つのゾーンを選択します。この例では、[上海ゾーン E][上海ゾーン G] が選択されています。上海ゾーン E の vSwitch1 と上海ゾーン G の vSwitch2 が選択されています。

    IP バージョン

    NLB インスタンスの IP バージョンを選択します。この例では、[デュアルスタックネットワーク] が選択されています。

    インスタンス名

    NLB インスタンスの名前を入力します。

    リソースグループ

    NLB インスタンスのリソースグループを選択します。

    サービスリンクロール

    初めて NLB インスタンスを作成するときは、[サービスリンクロールの作成] をクリックして、[AliyunServiceRoleForNlb] サービスリンクロールを作成します。このロールには、NLB が他のクラウドサービスにアクセスすることを許可する [AliyunServiceRolePolicyForNlb] ポリシーが割り当てられます。詳細については、「NLB のシステムポリシー」をご参照ください。

  4. デュアルスタック NLB インスタンスを作成すると、デフォルトでプライベート IPv6 アドレスが割り当てられます。次の手順を実行して、プライベート IPv6 アドレスをパブリック IPv6 アドレスに変更します。

    1. [インスタンス] ページに戻り、NLB インスタンスの ID をクリックします。

    2. インスタンスの詳細 タブで、基本情報 セクションに移動し、ネットワーク パラメーターを見つけます。次に、[IPv6:プライベート] の横にある ネットワークタイプの変更 をクリックします。

    3. ネットワークタイプの変更 メッセージで、OK をクリックします。

      上記の手順を完了すると、プライベート IPv6 アドレスがパブリック IPv6 アドレスに変更されます。

ステップ 4:サーバーグループの作成

  1. 上部のナビゲーションバーで、NLB インスタンスがデプロイされているリージョンを選択します。

  2. [サーバーグループ] ページで、[サーバーグループの作成] をクリックします。

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

    次の表では、主要なパラメーターのみを説明しています。他のパラメーターはデフォルト値を使用します。詳細については、「サーバーグループの作成と管理」をご参照ください。

    パラメーター

    説明

    サーバーグループタイプ

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

    サーバーグループ名

    サーバーグループの名前を入力します。

    VPC

    サーバーグループの VPC を選択します。

    説明

    VPC で IPv6 が有効になっており、VPC が NLB インスタンスと同じリージョンにあることを確認してください。

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

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

    スケジューリングアルゴリズム

    スケジューリングアルゴリズムを選択します。この例では、[加重ラウンドロビン] が選択されています。

    IPv6 のマウント

    IPv6 を有効にするかどうかを指定します。この例では、[IPv6] が有効になっています。

    ヘルスチェック

    ヘルスチェック機能を有効にするかどうかを指定します。この例では、デフォルト設定が使用されます。

  4. [操作] 列で、バックエンドサーバーの変更 をクリックし、次に バックエンドサーバーの追加 をクリックします。

  5. [バックエンドサーバーの追加] パネルで、[サーバータイプ][ECS/ENI] に設定し、ECS01 と ECS02 を選択し、[IP] 列で ECS01 の IPv4 アドレスと ECS02 の IPv6 アドレスを選択し、[次へ] をクリックします。

  6. ポート/重み ステップで、ECS01 と ECS02 の重みとポートを設定し、[OK] をクリックします。

    この例では、両方の ECS インスタンスがポート 80 とデフォルトの重み 100 を使用します。

ステップ 5:リスナーの設定

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

  2. [インスタンス] ページで、NLB インスタンスを見つけ、[操作] 列の [リスナーの作成] をクリックします。

  3. リスナーの設定 ステップで、パラメーターを設定し、[次へ] をクリックします。

    次の表では、一部のパラメーターのみを説明しています。他のパラメーターはデフォルト値のままにします。詳細については、「TCP リスナーの追加」をご参照ください。

    パラメーター

    説明

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

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

    リスナーポート

    リクエストを受信してバックエンドサーバーに転送するためのリスナーポートを指定します。この例では、ポート 80 が選択されています。

    リスナー名

    リスナーの名前を入力します。

    詳細設定

    この例では、デフォルト設定が使用されます。[変更] をクリックして設定を変更できます。

  4. サーバーグループ ステップで、サーバータイプ を選択し、サーバータイプ の横にあるドロップダウンリストからサーバーグループを選択し、バックエンドサーバーを確認してから、[次へ] をクリックします。

  5. 確定 ステップで、設定を確認し、[送信] をクリックします。

  6. OK をクリックして [リスナー] タブに戻ります。ヘルスチェックステータス のリスナーのステータスが [正常] に変わると、ECS01 と ECS02 は NLB インスタンスからのリクエストを転送できるようになります。

ステップ 6:DNS レコードの設定

実際のビジネスシナリオでは、CNAME レコードを使用してカスタムドメイン名を NLB インスタンスのドメイン名にマッピングすることを推奨します。

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

  2. [インスタンス] ページで、管理したい NLB インスタンスのドメイン名をコピーします。

  3. 次の手順を実行して、CNAME レコードを作成します:

    説明

    ドメイン名が Alibaba Cloud Domains を使用して登録されていない場合は、DNS レコードを設定する前にドメイン名を Alibaba Cloud DNS に追加する必要があります。詳細については、「ドメイン名の管理」をご参照ください。ドメイン名が Alibaba Cloud Domains を使用して登録されている場合は、このステップをスキップしてください。

    1. Alibaba Cloud DNS コンソールにログインします。

    2. [権威 DNS 解決] ページで、ドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。

    3. ドメイン名詳細ページの [DNS 設定] タブで、[DNS レコードの追加] をクリックします。

    4. [DNS レコードの追加] パネルで、パラメーターを設定し、[OK] をクリックします。次の表にパラメーターを示します。

      パラメーター

      説明

      レコードタイプ

      ドロップダウンリストから [CNAME] を選択します。

      ホスト名

      ドメイン名のプレフィックスです。この例では、@ が入力されます。

      説明

      ドメイン名がルートドメインの場合は、@ を入力します。

      DNS リクエストソース

      [デフォルト] を選択します。

      レコード値

      CNAME、つまり NLB インスタンスのドメイン名を入力します。

      TTL 期間

      DNS サーバーにキャッシュされる CNAME レコードの生存時間 (TTL) 値を指定します。この例では、デフォルト値が使用されます。

ステップ 7:結果の検証

  1. テスト用のドメイン名を取得します。

    1. CNAME レコードを設定してカスタムドメイン名を NLB インスタンスのドメイン名にマッピングした場合、カスタムドメイン名をテストドメイン名として使用します。

    2. カスタムドメイン名を使用しない場合は、NLB コンソールにログインし、NLB インスタンスがデプロイされているリージョンを選択し、[ドメイン名] 列で NLB インスタンスのドメイン名をコピーします。そのドメイン名をテストドメイン名として使用します。

  2. NLB インスタンスの可用性をテストします。

    説明

    NLB インスタンスの可用性をテストするには、クライアントが IPv6 をサポートしていることを確認してください。

    1. IPv6 サービスにアクセスできる Linux クライアントを使用してテストを実行します。CentOS を使用していて telnet がインストールされていない場合は、yum install -y telnet コマンドを実行して telnet をインストールします。

    2. telnet ドメイン名 ポート コマンドを実行します。次の応答パケットで、[nlb-... に接続しました] は、NLB インスタンスがバックエンドサーバーにリクエストを転送できることを示します。

      Trying *.*.*.*...
      Connected to www.example.com.
      Escape character is '^]'

      ブラウザからドメイン名 (例:http://ドメイン名) にアクセスします。次の図は、NLB インスタンスがバックエンドサーバーにリクエストを転送できることを示しています。

      image

  3. (オプション) エラーをシミュレートします。

    1. ECS01 で systemctl stop nginx.service コマンドを実行して、アプリケーションを停止します。

    2. 数分待ってから、再度 telnet ドメイン名 ポート コマンドを実行します。[nlb-... に接続しました] という応答パケットが返されます。

      Trying *.*.*.*...
      Connected to www.example.com.
      Escape character is '^]'

      ブラウザからドメイン名 (例:http://ドメイン名) にアクセスします。次の図は、NLB インスタンスがバックエンドサーバーにリクエストを転送できることを示しています。

      image

    3. ECS01 で systemctl start nginx.service コマンドを実行してアプリケーションを再起動し、ECS02 で systemctl stop nginx.service コマンドを実行してアプリケーションを停止します。

    4. 数分待ってから、再度 telnet ドメイン名 ポート コマンドを実行します。[nlb-... に接続しました] というエコー応答パケットが返されます。

      Trying *.*.*.*...
      Connected to www.example.com.
      Escape character is '^]'

      ブラウザからドメイン名 (例:http://ドメイン名) にアクセスします。次の図は、NLB インスタンスがバックエンドサーバーにリクエストを転送できることを示しています。

      image

    5. テスト結果は、単一のバックエンドサーバーのエラーが NLB インスタンスの可用性に影響しないことを示しています。

リソースのリリース

  1. ECS インスタンスとセキュリティグループをリリースします。

    1. ECS01 とそのセキュリティグループを削除します:

      1. ECS コンソールにログインします。上部のナビゲーションバーで、ECS01 インスタンスが存在するリージョンを選択し、ECS01 の右側にある image.png アイコンをクリックします。表示されるダイアログボックスで、[リリース] を選択してインスタンスを即座にリリースします。

      2. ECS コンソールにログインします。上部のナビゲーションバーで、ECS01 が存在するリージョンを選択し、ECS01 のセキュリティグループを選択してから、[削除] をクリックしてセキュリティグループを削除します。

    2. 上記の手順を繰り返して、ECS02 とそのセキュリティグループを削除します。

  2. (オプション) DNS レコードを削除します。

    詳細については、「DNS レコードの削除」をご参照ください。

  3. NLB リソースをリリースします。

    1. NLB コンソールにログインします。上部のナビゲーションバーで、NLB インスタンスが存在するリージョンを選択します。NLB インスタンスを見つけ、[操作] 列の image.png アイコンをクリックし、[リリース] をクリックします。表示されるメッセージで、[確認] をクリックします。

    2. NLB コンソールにログインします。 上部のナビゲーションバーで、NLB インスタンスが存在するリージョンを選択します。 [サーバーグループ] ページで、サーバーグループを見つけ、[アクション] 列の image.png アイコンをクリックし、[削除] をクリックします。 表示されるメッセージで、[OK] をクリックします。

  4. VPC リソースをリリースします。

    1. VPC コンソールにログインします。上部のナビゲーションバーで、VPC が存在するリージョンを選択します。

    2. [操作] 列の [削除] をクリックし、[強制的に削除] を選択して VPC と vSwitch を削除します。

関連ドキュメント