Application Load Balancer (ALB) は IPv6 リクエストを転送できます。このトピックでは、デュアルスタック ALB インスタンス用に、IPv4 と IPv6 の Elastic Compute Service (ECS) インスタンスを含むデュアルスタックサーバーグループを設定する方法について説明します。これにより、IPv6 クライアントは ALB インスタンスを使用して、バックエンドの IPv4 および IPv6 サービスにアクセスできます。
シナリオ例
次の図に例を示します。ある企業が ALB を使用して、IPv6 クライアントからのリクエストをインターネット経由で Virtual Private Cloud (VPC) 内の IPv4 および IPv6 サービスに転送したいと考えています。この要件を満たすには、IPv4 と IPv6 をサポートする ECS インスタンスを作成し、VPC 内にデュアルスタック ALB インスタンスを作成し、IPv6 をサポートするサーバーグループを作成する必要があります。上記の手順が完了すると、IPv6 クライアントからのリクエストは ALB インスタンスを使用してバックエンドの ECS インスタンス上の IPv4 および IPv6 サービスに転送できるようになります。

制限事項
デュアルスタック ALB インスタンスをサポートするリージョンの詳細については、「ALB インスタンスの概要」をご参照ください。
デュアルスタック機能を使用するには、VPC のゾーン内の vSwitch で IPv6 機能を有効にする必要があります。
デュアルスタック ALB インスタンスは、IPv4 および IPv6 クライアントからのリクエストを IPv4 および IPv6 バックエンドサービスに転送できます。詳細については、「ALB インスタンス」をご参照ください。
IPv6 が有効になっているサーバーグループは、デュアルスタック ALB インスタンスのリスナーと転送ルールにのみ関連付けることができます。
前提条件
IPv6 をサポートする VPC が作成されていること。この例では、VPC1 という名前の VPC が中国 (上海) リージョンに作成されています。VPC で IPv6 を有効にすると、IPv6 ゲートウェイが自動的に作成されます。
VPC 内で、2 つのゾーンそれぞれに vSwitch が作成され、vSwitch で IPv6 が有効になっていること。この例では、vSwitch 1 が上海ゾーン E に、vSwitch 2 が上海ゾーン G に作成されています。
vSwitch 1 と vSwitch 2 内に ALB をデプロイするには、次の点にご注意ください:各アップグレードされた ALB インスタンスには、vSwitch 1 と vSwitch 2 からそれぞれ 3 つの IP アドレスが割り当てられます。1 つは負荷分散サービスを提供する VIP として機能し、他の 2 つはバックエンドサーバーとの通信やヘルスチェックを行うためのローカル IP アドレスとして機能します。vSwitch 1 または vSwitch 2 に十分な利用可能な IP アドレスがない場合、エラーが報告され、ALB インスタンスを作成できません。これは、アップグレードされていない ALB インスタンスには適用されません。
説明アップグレードされた ALB インスタンスが期待どおりにリソースを自動スケーリングできるように、指定する各 vSwitch には少なくとも 8 つの利用可能な IP アドレスを確保することを推奨します。
アップグレードされた ALB インスタンスがバックエンドサーバーと適切に通信できるように、バックエンドサーバーに iptables ルールやサードパーティのセキュリティポリシーソフトウェアなどのセキュリティポリシーが設定されている場合は、アップグレードされた ALB インスタンスが接続されている vSwitch の CIDR ブロックを許可するようにバックエンドサーバーを設定することを推奨します。
ドメイン名を登録し、そのドメイン名の ICP (Internet Content Provider) 番号を取得していること。
ステップ 1:ECS インスタンスの作成と設定
VPC コンソールにログインします。
左側のナビゲーションウィンドウで、[vSwitch] をクリックします。
vSwitch のリージョンを選択します。この例では、[中国 (上海)] が選択されています。
[vSwitch] ページで、管理する vSwitch を見つけ、[操作] 列の を選択します。
[Elastic Compute Service] ページの [カスタム起動] タブで、ECS01 という名前の IPv4 ECS インスタンスと ECS02 という名前の IPv6 ECS インスタンスを作成します。ECS インスタンスが追加されるセキュリティグループは、ポート 80 でのトラフィックを許可する必要があります。詳細については、「[カスタム起動] タブでインスタンスを作成」をご参照ください。
ECS01 と ECS02 にリモートでログインします。詳細については、「ECS リモート接続方法の選択」をご参照ください。
ECS01 で次のコマンドを実行して、NGINX サービスをデプロイします:
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ipv4 rs." > index.htmlECS02 で次のコマンドを実行して、NGINX サービスをデプロイします:
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ipv6 rs." > index.htmlECS02 の IPv6 アドレスを設定します。詳細については、「IPv6 通信」をご参照ください。
説明[イメージ] セクションで [Alibaba Cloud Linux 3.2104 LTS 64 ビット] を選択し、[IPv6] セクションで [IPv6 アドレスを無料で割り当てる] を選択した場合は、このステップをスキップしてください。
ECS02 にログインします。
ECS02 の IPv6 アドレスを設定します。
ip addr | grep inet6またはifconfig | grep inet6コマンドを実行します。次の図に示すように、ECS02 に IPv6 アドレスが設定されている場合は、このステップをスキップします。

コマンドの出力に inet6 の情報が含まれていない場合、ECS02 で IPv6 は無効になっています。まず、ECS02 で IPv6 を有効にします。
コマンドの出力に inet6 の情報が含まれている場合、ECS02 で IPv6 は有効になっており、ECS02 に割り当てられた IPv6 アドレスを識別できます。ECS02 の IPv6 アドレスを設定します。
ステップ 2:ECS02 のセキュリティグループルールの設定
ECS02 のセキュリティグループルールを設定して、インバウンドの IPv6 トラフィックを許可します。
ECS コンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
上部のナビゲーションバーで、セキュリティグループのリージョンを選択します。この例では、[中国 (上海)] が選択されています。
[セキュリティグループ] ページで、管理するセキュリティグループを見つけ、[操作] 列の [ルールの管理] をクリックします。
[セキュリティグループの詳細] タブの [ルール] セクションで、[インバウンド] タブをクリックします。
[ルールの追加] をクリックします。次の情報に基づいて、IPv6 リクエストのセキュリティグループルールを設定します。[送信] をクリックします。
パラメーター | 説明 |
操作 | ルールの操作を選択します。この例では、[許可] が選択されています。 |
[優先度] | ルールの優先度を選択します。値が小さいほど優先度が高くなります。有効値:1~100。 この例では、デフォルト値の [1] が使用されます。 |
プロトコル | 許可するインバウンドリクエストのタイプを選択します。この例では、[すべての ICMPv6] が選択されています。 |
ソース | ルールが適用される IPv6 CIDR ブロックを入力します。 この例では、::/0 が使用されます。これは、ルールがすべての IPv6 アドレスに適用されることを示します。 説明 ビジネス要件に基づいて IPv6 アドレスを指定できます。 |
[宛先 (現在のインスタンス)] | IPv6 クライアントからのリクエストを受け入れるポートの範囲を指定します。 [プロトコル] パラメーターを [すべての ICMPv6] に設定した場合、[宛先] ドロップダウンリストから [すべて (-1/-1)] が自動的に選択され、変更できません。 |
説明 | ルールの説明を入力します。 |
ステップ 3:ALB インスタンスの作成
ALB コンソールにログインします。
[インスタンス] ページで、[ALB の作成] をクリックします。
購入ページでパラメーターを設定し、[今すぐ購入] をクリックし、プロンプトに従って支払いを完了します。
次の表では、一部のパラメーターのみを説明しています。他のパラメーターにはデフォルト値を使用します。パラメーターの詳細については、「ECS インスタンスの作成」をご参照ください。
パラメーター
説明
[リージョン]
ALB インスタンスを作成するリージョン。この例では、[中国 (上海)] が選択されています。
ネットワークタイプ
ALB インスタンスのネットワークタイプを選択します。システムは、選択されたネットワークタイプに基づいて、ALB インスタンスにパブリックまたはプライベート IP アドレスを割り当てます。この例では、[インターネット] が選択されています。
説明[インターネット] ネットワークタイプは、IPv4 ALB インスタンスでのみサポートされています。デフォルトでは、IPv6 ALB インスタンスは内部向けです。 この例では、インターネット向けの IPv6 ALB インスタンスが作成されます。ステップ 4 で、IPv6 アドレスはパブリック IPv6 アドレスに変更されます。
VPC
ALB インスタンスをデプロイする VPC を選択します。
説明VPC で IPv6 機能が有効になっていることを確認してください。
ゾーン
少なくとも 2 つのゾーンを選択します。この例では、[上海ゾーン E] と [上海ゾーン G] が選択されています。
各ゾーンで vSwitch を選択します。この例では、ゾーン E の vSwitch 1 とゾーン G の vSwitch 2 が選択されています。
IP バージョン
ALB インスタンスの IP バージョンを選択します。この例では、[デュアルスタック] が選択されています。
エディション
ALB インスタンスのエディションを選択します。この例では、[Standard] が選択されています。
インスタンス名
ALB インスタンスの名前を入力します。
サービスリンクロール
初めて ALB インスタンスを作成するときは、[サービスリンクロールの作成] をクリックして [AliyunServiceRoleForAlb] ロールを作成します。ポリシー [AliyunServiceRolePolicyForAlb] がサービスリンクロールにアタッチされ、ALB インスタンスが他のクラウドサービスにアクセスできるようになります。詳細については、「ALB のシステムポリシー」をご参照ください。
デュアルスタック ALB インスタンスを作成した後、次の手順を実行して ALB インスタンスの IPv6 アドレスをパブリック IPv6 アドレスに変更する必要があります。詳細については、「IP バージョン」をご参照ください。
[インスタンス] ページに戻り、ALB インスタンスの ID をクリックします。
インスタンスの詳細 タブで、基本情報 セクションに移動し、ネットワーク パラメーターを見つけます。次に、[IPv6: プライベート] の横にある ネットワークタイプの変更 をクリックします。
ネットワークタイプの変更 メッセージで、OK をクリックします。
変更が有効になった後、IPv6 ネットワークタイプがパブリックに変更されたことを確認できます。
ステップ 4:サーバーグループの作成
左側のナビゲーションウィンドウで、 を選択します。
サーバーグループ ページで、サーバーグループの作成 をクリックします。
[サーバーグループの作成] ダイアログボックスで、パラメーターを設定し、[作成] をクリックします。
次の表では、一部のパラメーターのみを説明しています。他のパラメーターにはデフォルト値を使用します。詳細については、「サーバーグループの作成と管理」をご参照ください。
パラメーター
説明
サーバーグループタイプ
サーバーグループのタイプを指定します。この例では、サーバータイプ が選択されています。
サーバーグループ名
サーバーグループの名前を入力します。
[VPC]
VPC ドロップダウンリストから VPC を選択します。VPC 内のサーバーのみがサーバーグループに追加できます。
説明ALB インスタンスが作成された VPC を選択します。選択した VPC で IPv6 が有効になっていることを確認してください。
バックエンドサーバープロトコル
バックエンドプロトコルを選択します。この例では、[HTTP] が選択されています。
スケジューリングアルゴリズム
スケジューリングアルゴリズムを選択します。この例では、重み付きラウンドロビン が選択されています。
IPv6 のマウント
IPv6 を有効にするかどうかを指定します。この例では、[IPv6] がオンになっています。
セッション維持
セッション維持を有効にするかどうかを指定します。この例では、デフォルト値が使用されます。セッション維持は無効になっています。
ヘルスチェック
ヘルスチェック機能を有効にするかどうかを指定します。この例では、ヘルスチェック機能が有効になっています。
[ヘルスチェック設定]
ヘルスチェック機能を有効にした後、[変更] をクリックしてヘルスチェック設定を構成します。
サーバーグループ ページで、管理するサーバーグループの ID をクリックします。
[バックエンドサーバー] タブをクリックし、バックエンドサーバーの追加 をクリックします。
バックエンドサーバーの追加 パネルで、ECS01 と ECS02 を選択します。[IP] 列で、ECS01 の IPv4 アドレスと ECS02 の IPv6 アドレスを選択し、[次へ] をクリックします。
ポート/重み ステップで、ECS01 と ECS02 のポートと重みを指定し、[OK] をクリックします。
この例では、両方の ECS インスタンスがポート番号 80 とデフォルトの重み 100 を使用します。
ステップ 5:リスナーの設定
[インスタンス] ページで、管理する ALB インスタンスの ID をクリックします。
[リスナー] タブをクリックし、リスナーの作成 をクリックします。
リスナーの設定 ステップで、パラメーターを設定し、[次へ] をクリックします。
次の表では、一部のパラメーターのみを説明しています。他のパラメーターにはデフォルト値を使用します。詳細については、「HTTP リスナーの追加」をご参照ください。
パラメーター
説明
リスナープロトコルの選択
リスナープロトコルを選択します。この例では、[HTTP] が選択されています。
リスナーポート
リクエストを受信し、バックエンドサーバーに転送するためのリスナーポートを指定します。この例では、ポート 80 が指定されています。
リスナー名
リスナーの名前を入力します。
詳細設定
この例では、デフォルト設定が使用されます。[変更] をクリックして設定を変更できます。
サーバーグループ ステップで、サーバータイプ パラメーターを設定し、指定された サーバータイプ に基づいてサーバーグループを選択し、バックエンドサーバーを確認してから [次へ] をクリックします。
確定 ステップで、設定を確認し、[送信] をクリックします。
OK をクリックして [リスナー] タブに戻ります。ヘルスチェックステータス 列のリスナーステータスが [正常] の場合、ECS01 と ECS02 は ALB インスタンスによって転送されたリクエストを処理できます。
ステップ 6:DNS レコードの作成
実際のビジネスシナリオでは、CNAME レコードを使用してカスタムドメイン名を ALB インスタンスのドメイン名にマッピングすることを推奨します。
左側のナビゲーションウィンドウで、 を選択します。
[インスタンス] ページで、ALB インスタンスのドメイン名をコピーします。
次の手順を実行して、CNAME レコードを作成します:
説明ドメイン名が Alibaba Cloud Domains を使用して登録されていない場合は、DNS レコードを設定する前にドメイン名を Alibaba Cloud DNS に追加する必要があります。詳細については、「ドメイン名の管理」をご参照ください。
Alibaba Cloud DNS コンソールにログインします。
[パブリックゾーン] ページで、ドメイン名を見つけ、[操作] 列の [設定] をクリックします。
ドメイン名詳細ページの [設定] タブで、[レコードの追加] をクリックします。
[レコードの追加] パネルで、パラメーターを設定し、[OK] をクリックします。次の表にパラメーターを説明します。
パラメーター
説明
[レコードタイプ]
ドロップダウンリストから [CNAME] を選択します。
ホスト名
ドメイン名のプレフィックスを入力します。この例では、@ が入力されます。
説明ルートドメインを使用する場合は、
@を入力します。クエリソース
[デフォルト] を選択します。
レコード値
CNAME を入力します。これは ALB インスタンスのドメイン名です。
[TTL]
DNS サーバーにキャッシュされる CNAME レコードの TTL (Time-To-Live) 値を選択します。この例では、デフォルト値が使用されます。
ステップ 7:ネットワーク接続のテスト
テストを実行する前に、クライアントが IPv6 をサポートしていることを確認してください。クライアントが IPv6 をサポートしているかどうかを確認するには、http://test-ipv6.com/ にアクセスしてテストを実行します。
IPv6 をサポートするクライアントを使用して、サーバー ECS01 と ECS02 にアクセスします。
クライアントの CLI を開きます。
次のコマンドを複数回実行して、IPv6 クライアントからのリクエストがラウンドロビンに基づいて IPv4 および IPv6 ECS インスタンスに転送されるかどうかをテストします。
curl -6 http://<ドメイン名> -v次のエコー応答パケットは、IPv6 クライアントが IPv4 ECS インスタンスにアクセスできることを示しています。
次のエコー応答パケットは、IPv6 クライアントが IPv6 ECS インスタンスにアクセスできることを示しています。
上記の結果は、IPv6 クライアントからのリクエストがラウンドロビンに基づいて VPC 内の IPv4 および IPv6 サービスに転送されることを示しています。
リソースのリリース
ECS インスタンスとセキュリティグループをリリースします。
ECS01 とそのセキュリティグループを削除します:
上記の手順を繰り返して、ECS02 とそのセキュリティグループを削除します。
DNS レコードを削除します:
詳細については、「DNS レコードの削除」をご参照ください。
ALB リソースをリリースします:
ALB コンソールにログインします。上部のナビゲーションバーで、ALB インスタンスが存在するリージョンを選択します。ALB インスタンスを見つけ、[処理] 列の
アイコンをクリックし、[リリース] をクリックします。表示されるメッセージで、[確認] をクリックします。バックエンドサーバーの削除方法の詳細については、「バックエンドサーバーの削除」をご参照ください。
サーバーグループの削除方法の詳細については、「サーバーグループの削除」をご参照ください。
VPC リソースをリリースします:
VPC コンソールにログインします。上部のナビゲーションバーで、VPC が存在するリージョンを選択します。
VPC の右側にある [削除] をクリックします。システムは、VPC にまだ関連付けられていて削除されていないクラウドサービスやネットワークリソースがあるかどうかをチェックします。VPC は、関連付けられているリソースがなくなってからでないと削除できません。
関連ドキュメント
ALB の利用シーンとコンポーネントについては、「ALB とは」をご参照ください。
ALB の機能については、「機能」をご参照ください。
ALB のクォータとクォータ増加のリクエスト方法については、「制限事項」をご参照ください。
ALB が利用可能なリージョンとゾーンについては、「リージョンとゾーン」をご参照ください。
ALB の課金ルール、課金項目、および価格については、「ALB 課金の概要」をご参照ください。