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

Server Load Balancer:NLB を使用した IPv6 サービスのロードバランス

最終更新日:Jun 22, 2026

Network Load Balancer (NLB) は IPv6 ネットワークリクエストを転送できます。このトピックでは、デュアルスタック NLB インスタンスの IPv6 アタッチメントを有効にする方法について説明します。この機能を有効にすると、NLB インスタンスは IPv4 と IPv6 両方の Elastic Compute Service (ECS) インスタンスをバックエンドサーバーとして使用できるようになります。これにより、IPv6 ネットワーク上のクライアントは、NLB インスタンスを介してバックエンドサーバーにデプロイされている IPv4 および IPv6 サービスにアクセスできるようになります。

利用シーン

このトピックでは、NLB インスタンスを使用して IPv6 クライアントからのリクエストを転送し、インターネット経由で Virtual Private Cloud (VPC) 内の IPv4 および IPv6 サービスにアクセスする方法について説明します。IPv4 と IPv6 の両方のアドレスを持つ ECS インスタンス、VPC 内のデュアルスタック NLB インスタンス、および IPv6 アタッチメントが有効化されたサーバーグループを作成します。NLB インスタンスは、IPv6 クライアントからのリクエストを、バックエンド ECS インスタンスにデプロイされた IPv4 および IPv6 サービスにルートします。

image

制限事項

  • デュアルスタック NLB インスタンスをサポートするリージョンの一覧については、「デュアルスタック NLB をサポートするリージョン」をご参照ください。

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

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

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

  • IPv4 NLB インスタンスのリスナーを作成する場合、IPv6 アタッチメントが有効になっているサーバーグループを追加することはできません。

前提条件

  • China (Shanghai) リージョンに VPC1 という名前の VPC を作成し、VPC の IPv6 CIDR ブロックを有効化してあること。 これにより、IPv6 ゲートウェイが自動的に作成されます。

  • China (Shanghai) リージョンのゾーン E に vSwitch1 という名前の vSwitch、ゾーン G に vSwitch2 という名前の vSwitch を作成してあること。 両方の vSwitch で IPv6 を有効化してあること。

    NLB インスタンスが必要に応じてスケールできるようにするには、NLB インスタンスをデプロイする各 vSwitch で少なくとも 8 つの IP アドレスを予約してください。
  • ドメイン名を登録し、ICP 登録を完了してあること。

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

  1. VPC コンソールにログインします。
  2. 左側のナビゲーションペインで、vSwitch をクリックします。

  3. vSwitch があるリージョンを選択します。このトピックでは、例として China (Shanghai) を使用します。

  4. vSwitch ページで、目的の vSwitch を探し、操作 列でクラウドサービスの追加 > ECS インスタンスを選択します。

  5. Elastic Compute Service (ECS) ページの [カスタム起動] タブで、2 つの ECS インスタンスを作成します。IPv4 インスタンスに ECS01、IPv6 インスタンスに ECS02 という名前を付けます。ECS インスタンスに関連付けられたセキュリティグループで、ポート 80 のトラフィックが許可されていることを確認してください。詳細については、「ウィザードを使用したインスタンスの作成」をご参照ください。

    このトピックでの ECS インスタンスの設定

    インスタンス名

    リージョン

    VPC 名

    vSwitch

    IP バージョン

    イメージ

    ECS01

    China (Shanghai)

    VPC1

    ゾーン E の vSwitch1

    IPv4

    Alibaba Cloud Linux 3.2104 LTS 64-bit

    ECS02

    China (Shanghai)

    VPC1

    ゾーン G の vSwitch2

    IPv6

    説明

    IPv6 アドレスを持つインスタンスを作成する場合は、[ネットワークとセキュリティグループ] セクションの [IPv6] パラメーターで [IPv6 アドレスを無料で割り当て] を選択してください。

    Alibaba Cloud Linux 3.2104 LTS 64-bit

  6. ECS01 および ECS02 インスタンスにリモート接続します。詳細については、「接続方法」をご参照ください。

  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 通信」をご参照ください。

    説明

    ECS02 インスタンスが Alibaba Cloud Linux 3.2104 LTS 64-bit イメージを使用しており、インスタンス作成時に [ネットワークとセキュリティグループ] セクションの [IPv6] パラメーターで [IPv6 アドレスを無料で割り当て] を選択した場合は、このステップをスキップできます。

    1. VPC 内の ECS02 インスタンスにリモート接続します。

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

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

      次のような出力が返された場合、IPv6 アドレスはすでに設定されており、以降の手順はスキップできます。

      [root@iZbpxxx fxe4Z ~]# ip addr | grep inet6
          inet6 ::1/128 scope host
          inet6 2408:4005:xxx:xxx:7cd5:aa9c/128 scope global dynamic noprefixroute
          inet6 fe80::xxx:cc1c/64 scope link noprefixroute
      1. コマンドの出力に inet6 が含まれない場合、インスタンスの IPv6 サービスは有効になっていません。まず、IPv6 サービスを有効にする必要があります。

      2. inet6 の出力は返されたものの、scope global を含む行がない場合は、IPv6 アドレスの設定に進むことができます。

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

IPv6 クライアントからのインバウンドリクエストを許可するには、ECS02 インスタンスに IPv6 セキュリティグループルールを設定する必要があります。

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

  2. 左側メニューで、[Network & Security] > [Security Groups] を選択します。

  3. 上部メニューで、セキュリティグループが属するリージョンを選択します。 このトピックでは China (Shanghai) を使用します。

  4. セキュリティグループ ページで、対象のセキュリティグループを見つけ、操作 列の ルールの管理 をクリックします。

  5. セキュリティグループの詳細 ページで、アクセスルール セクションの インバウンド タブをクリックし、ルールを追加 をクリックします。

  6. セキュリティグループルールの作成 ページで、次のパラメーターを使用して IPv6 セキュリティグループルールを設定し、送信 をクリックします。

    パラメーター

    説明

    [ポリシー]

    トラフィックを許可するか拒否するかを指定します。 このトピックでは、許可 を選択します。

    [優先順位]

    セキュリティグループルールの優先度です。 値が小さいほど、優先度が高くなります。 有効な値の範囲は 1~100 です。

    このトピックでは、デフォルト値の 1 を使用します。

    [プロトコル]

    トラフィックのプロトコルタイプです。 このトピックでは、[すべての ICMP-IPv6] を選択します。

    [送信元]

    タイプに IPv6 を選択し、::/0 と入力して、すべての IPv6 アドレスからのアクセスを許可します。

    説明

    このトピックで設定するソースは、デモ用です。 ビジネス要件に基づいて、特定の IPv6 CIDR ブロックからのアクセスを許可できます。

    宛先 (このインスタンス)

    トラフィックの宛先 IP アドレスとポートです。

    プロトコル[すべての ICMP-IPv6] に設定した場合、このパラメーターはデフォルトで すべて (-1/-1) になり、変更できません。

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

  1. NLBコンソールにログインします。
  2. インスタンス ページで、NLB の作成 をクリックします。

  3. 購入ページで、次のパラメーターを設定し、[今すぐ購入] をクリックして、画面の指示に従ってインスタンスを作成します。

    このトピックでは、このシナリオに関連するパラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。詳細については、「NLB インスタンスの作成と管理」をご参照ください。

    設定の詳細

    パラメーター

    説明

    リージョン

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

    ネットワークタイプ

    インスタンスのネットワークタイプを選択します。選択したネットワークタイプによって、インスタンスがプライベート IP アドレスとパブリック IP アドレスのどちらを受け取るかが決まります。このトピックでは、[インターネット] を選択します。

    説明

    [インスタンスネットワークタイプ][パブリック] タイプを選択した場合、この設定は IPv4 にのみ適用されます。IPv6 のネットワークタイプは、デフォルトでプライベートです。このトピックでは、IPv6 にパブリックネットワークタイプを使用します。これを行うには、手順 4 を実行して、IPv6 のネットワークタイプをパブリックに変更する必要があります。

    VPC

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

    説明

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

    [ゾーン]

    少なくとも 2 つのゾーンを選択します。このトピックでは、上海ゾーン E と vSwitch1、および上海ゾーン G と vSwitch2 を選択します。

    IP バージョン

    インスタンスの IP バージョンを選択します。このトピックでは、[デュアルスタック] を選択します。

    インスタンス名

    インスタンスのカスタム名を入力します。

    [リソースグループ]

    リソースグループを選択します。

    [サービスにリンクされたロール]

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

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

    1. インスタンス ページに戻り、対象の NLB インスタンスを見つけて、その ID をクリックします。

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

    3. ネットワークタイプの変更 ダイアログボックスで、OK をクリックします。

      変更が完了すると、IPv6 のネットワークタイプがプライベートからパブリックに変更されます。

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

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

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

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

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

    パラメーター

    説明

    [サーバーグループタイプ]

    サーバーグループに追加するバックエンドサーバーのタイプ。このトピックでは、サーバータイプ を選択します。

    [サーバーグループ名]

    サーバーグループのカスタム名を入力します。

    VPC

    サーバーグループが属する VPC。

    説明

    選択した VPC で IPv6 が有効になっており、それが NLB インスタンスの作成時に選択した VPC と同じであることを確認してください。

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

    バックエンドサーバープロトコルを選択します。このトピックでは、[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. [インスタンス]ページでターゲットインスタンスを探し、[操作] 列 の [リスナーの作成] をクリックします。

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

    このトピックでは、このシナリオに関連するパラメーターのみを説明します。その他のパラメーターはデフォルト値を使用してください。リスナーの設定方法の詳細については、「TCP リスナーの追加」をご参照ください。

    パラメーター

    説明

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

    リスナーのプロトコルです。このトピックでは、TCP を選択します。

    [リスナーポート]

    リクエストを受信してバックエンドサーバーに転送するためのリスナーポートです。このトピックでは、80 と入力します。

    [リスナー名]

    リスナーのカスタム名を入力します。

    [詳細設定]

    デフォルト設定を使用します。[変更] をクリックして変更することもできます。

  4. サーバーグループ 設定ウィザードで、サーバータイプ と、サーバータイプ の下の対象のサーバーグループを選択し、バックエンドサーバー情報を表示して、次へ をクリックします。

  5. [確定]ページで、設定内容を確認し、[送信] をクリックします。

  6. [OK] をクリックして [リスナー]タブに戻ります。リスナーの [ヘルスチェックステータス]が [正常]に変わることは、バックエンドサーバー ECS01 および ECS02 が NLB インスタンスの転送するリクエストを処理できることを示します。

ステップ 6:DNS 解決の設定

本番環境では、CNAME レコードを追加して、ドメイン名を NLB インスタンスのドメイン名にマッピングすることを推奨します。

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

  2. インスタンス ページで、作成された NLB インスタンスの DNS 名をコピーします。

  3. CNAME レコードを追加します。

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

    2. Add Record パネルで、CNAME レコードに次のパラメーターを設定し、OK をクリックします。

      パラメーター

      説明

      レコードタイプ

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

      ホストレコード

      ドメイン名のプレフィックス。このトピックでは、@ を入力します。

      説明

      ルートドメインの場合、ホスト名を @ に設定します。

      DNS リクエストソース

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

      レコード値

      ドメイン名の CNAME アドレスを入力します。これは、ご利用の NLB インスタンスの DNS 名です。

      TTL

      Time to Live (TTL) は、DNS サーバーがレコードをキャッシュする期間を指定します。デフォルト値を使用します。

ステップ 7: 結果の検証

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

    説明

    テストを開始する前に、クライアントが IPv6 サービスをサポートしていることを確認してください。

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

    2. telnet <domain_name> <port> コマンドを実行します。Connected to nlb-... を含むレスポンスが返された場合、NLB インスタンスがバックエンドサーバーにリクエストを転送していることを確認できます。

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

      ブラウザで http://<domain_name> にアクセスします。次のコンテンツが表示された場合、NLB インスタンスがバックエンドサーバーにリクエストを転送できることを示します。

      ページには Hello World ! this is ipv6 rs. というテキストが表示されます。

  2. (オプション) 障害をシミュレートします。

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

    2. 数分待ってから、クライアントから再度 telnet <domain_name> <port> コマンドを実行します。Connected to nlb-... を含むレスポンスメッセージが引き続き返されます。

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

      ブラウザで http://<domain_name> にアクセスします。次のコンテンツが表示された場合、NLB インスタンスが引き続き正常なバックエンドサーバーにリクエストを転送していることを示します。

      ページには Hello World ! this is ipv4 rs. というテキストが表示され、検証が成功したことを示します。

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

    4. 数分待ってから、クライアントから再度 telnet <domain_name> <port> コマンドを実行します。Connected to nlb-... を含むレスポンスメッセージが引き続き返されます。

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

      ブラウザで http://<domain_name> にアクセスします。次のコンテンツが表示された場合、NLB インスタンスが正常なバックエンドサーバーにリクエストを転送していることを示します。

      レスポンステキスト Hello World ! this is ipv6 rs. が返され、リクエストが IPv6 バックエンドサーバーに正常に転送されたことを示します。

    5. 単一のバックエンドサーバーの障害は、NLB インスタンスの可用性に影響しません。

リソースのリリース

  1. ECS、セキュリティグループやその他のリソースをクリーンアップします。

    1. ECS01 インスタンスとそのセキュリティグループを削除します。

      1. ECS コンソールにログインします。上部メニューで、インスタンスがデプロイされているリージョンを選択します。ECS01 インスタンスを見つけ、[操作] 列の image.png アイコンをクリックして リリース を選択し、即時リリースを選択して操作を確定します。

      2. ECS コンソールにログインします。上部メニューで、インスタンスがデプロイされているリージョンを選択します。ECS01 に関連付けられているカスタムセキュリティグループを選択し、削除 をクリックしてセキュリティグループを削除します。

    2. 上記の手順に従って、ECS02 インスタンスとそのセキュリティグループを削除します。

  2. DNS レコードを削除します。

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

  3. NLB リソースをクリーンアップします。

    1. NLB コンソールにログインします。上部メニューで、インスタンスがデプロイされているリージョンを選択します。インスタンスの [操作] 列にある image.png アイコンをクリックし、リリース を選択して操作を確定します。

    2. NLB コンソールにログインします。上部メニューで、インスタンスがデプロイされているリージョンを選択します。サーバーグループ ページで、サーバーグループの [操作] 列にある image.png アイコンをクリックし、削除 を選択して操作を確定します。

  4. VPC リソースをクリーンアップします。

    1. VPC コンソールにログインします。上部メニューで、インスタンスがデプロイされているリージョンを選択します。

    2. インスタンスの [操作] 列で 削除 をクリックします。表示されるダイアログボックスで、強制削除のオプションを選択して VPC と vSwitch を削除します。

関連ドキュメント

  • NLB のユースケースやコンポーネントなどについては、「NLB とは」をご参照ください。

  • NLB の機能については、「機能」をご参照ください。

  • NLB のクォータとその引き上げ方法については、「制限」をご参照ください。

  • NLB をサポートするリージョンについては、「NLB のリージョンとゾーン」をご参照ください。

  • NLB の課金方法については、「課金」をご参照ください。