Application Load Balancer (ALB) はIPv6リクエストを転送できます。 このトピックでは、デュアルスタックALBインスタンス用にIPv4およびIPv6 Elastic Compute Service (ECS) インスタンスを含むデュアルスタックサーバーグループを設定する方法について説明します。 これにより、IPv6クライアントは、ALBインスタンスを使用してバックエンドのIPv4およびIPv6サービスにアクセスできます。
サンプルシナリオ
以下の図は一例です。 ALBを使用して、IPv6クライアントからのリクエストをインターネット経由で仮想プライベートクラウド (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インスタンスは、ECSインスタンス、ENI、エラスティックコンテナインスタンス、およびIPアドレスのバックエンドサーバーにデプロイされたIPv4バックエンドサービスにIPv6クライアントからのリクエストを転送できます。 Function Computeタイプのバックエンドサーバーはサポートされていません。
デュアルスタックALBインスタンスは、IPv6クライアントからのリクエストを、ECSインスタンス、ENI、およびエラスティックコンテナインスタンスのバックエンドサーバーにデプロイされたIPv6バックエンドサービスに転送できます。 IPアドレスまたはFunction Computeタイプのバックエンドサーバーはサポートされていません。
IPv4 ALBインスタンスをデュアルスタックインスタンスにアップグレードすることはできません。 必要に応じてデュアルスタックALBインスタンスを作成できます。
デュアルスタックサーバーグループをIPv4 ALBインスタンスのリスナーに関連付けることはできません。
前提条件
IPv6をサポートするVPCが中国 (上海) リージョンに作成されます。 この例では、VPC1という名前のVPCが作成されます。 IPv6を有効にすると、IPv6ゲートウェイが自動的に作成されます。 IPv6ゲートウェイのインターネット帯域幅が有効になっていることを確認します。
VPCのIPv6を有効にする方法の詳細については、「デュアルスタックVPCの作成」をご参照ください。
IPv6ゲートウェイのインターネット帯域幅を有効にする方法の詳細については、「IPv6インターネット帯域幅の有効化と管理」をご参照ください。
vSwitchは、中国 (上海) リージョンのゾーンEとゾーンGのそれぞれに作成されます。 この例では、ゾーンEのvSwitchはvSwitch 1、ゾーンGのvSwitchはvSwitch 2という名前です。 vSwitch 2ではIPv6が有効になっています。 詳細については、「vSwitchのIPv6の有効化」をご参照ください。
ドメイン名を登録し、そのドメイン名に対してICP (Internet content provider) 番号を取得する。 詳細については、「ジェネリックドメイン名の登録」および「ICPファイリングプロセス」をご参照ください。
ステップ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.html
ECS02で次のコマンドを実行し、NGINXサービスをデプロイします。
yum install -y nginx systemctl start nginx.service cd /usr/share/nginx/html/ echo "Hello World ! this is ipv6 rs." > index.html
IPv6アドレスをECS02に割り当てます。
説明IPv6セクションで [IPv6アドレス無料の割り当て] が選択されている場合は、この手順をスキップします。
この例では、IPv6アドレスが手動でECS02に割り当てられる。 詳細については、「手順4: IPv6アドレスの設定」をご参照ください。
vi /etc/sysconfig/network-scripts/ifcfg-eth0
コマンドを実行して、ネットワークインターフェイスコントローラー (NIC) の構成ファイルを開きます。 コマンドのeth0をNICの実際の識別子に置き換えます。 ファイルに次の設定を追加します。DHCPV6C=yes IPV6INIT=yes
設定を追加した後、Escキーを押し、:wqと入力し、enterキーを押してファイルを保存して終了します。
ECS02を再起動します。
reboot
ECS02を再起動して、IPv6がECS02に対して有効かどうかを確認します。
ip addr | grep inet6
またはifconfig | grep inet6
コマンドを実行します。コマンド出力にinet6に関する情報が含まれている場合、IPv6はECS02に対して有効です。
コマンド出力にinet6に関する情報が含まれていない場合、IPv6はECS02に対して無効になります。
次の図は、IPv6がECS02に対して有効になっていることを示しています。
手順2: ECS02のセキュリティグループルールの設定
ECS02のセキュリティグループルールを設定して、インバウンドIPv6トラフィックを許可します。
ECSコンソールにログインします。
左側のナビゲーションウィンドウで、を選択します。
上部のナビゲーションバーで、セキュリティグループのリージョンを選択します。 この例では、中国 (上海) が選択されています。
セキュリティグループページで、管理するセキュリティグループを見つけて、アクション列のルールの管理をクリックします。
セキュリティグループの詳細タブで、アクセスルールセクションのインバウンドタブをクリックします。
[ルールの追加] をクリックし、パラメーターを設定します。 次に、[操作] 列の [保存] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
Action
ルールのアクションを選択します。 この例では、[許可] が選択されています。
優先度
ルールの優先度を選択します。 数字が小さいほど、優先度が高くなります。 有効な値: 1 ~ 100
この例では、デフォルト値1が使用されます。
プロトコルタイプ
許可されるリクエストのタイプを選択します。 この例では、[すべてのICMP (IPv6)] が選択されています。
ポート範囲
IPv6クライアントからの要求を受け入れるポートの範囲を指定します。
[プロトコルタイプ] パラメーターを [すべてのICMP (IPv6)] に設定すると、[宛先] ドロップダウンリストから -1/-1が自動的に選択され、変更できません。
権限付与オブジェクト
ルールが適用されるIPv6 CIDRブロックを入力します。
この例では、::/0が使用されます。これは、ルールがすべてのIPv6アドレスに適用されることを示します。
説明ビジネス要件に基づいてIPv6アドレスを指定できます。
説明
ルールの説明を入力します。
手順3: ALBインスタンスの作成
ALBコンソールにログインします。
インスタンスページで、ALBの作成をクリックします。
購入ページで、パラメーターを設定し、今すぐ購入、プロンプトに従って支払いを完了します。
次の表に、一部のパラメーターのみを示します。 他のパラメーターにはデフォルト値を使用します。 パラメーターの詳細については、「ECSインスタンスの作成」をご参照ください。
パラメーター
説明
リージョン
ALBインスタンスを作成するリージョン。 この例では、中国 (上海) が選択されています。
ネットワークタイプ
ALBインスタンスのネットワークタイプを選択します。 選択したネットワークタイプに基づいて、ALBインスタンスにパブリックIPアドレスまたはプライベート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モードを選択します。 この例では、[静的IP] が選択されています。
IPバージョン
ALBインスタンスのIPバージョンを選択します。 この例では、Dual-stackが選択されています。
エディション
ALBインスタンスのエディションを選択します。 この例では、[標準] が選択されています。
[インスタンス名]
ALBインスタンスの名前を入力します。
サービスにリンクされたロール
初めてALBインスタンスを作成するときは、[サービスにリンクされたロールの作成] をクリックしてAliyunServiceRoleForAlbロールを作成します。 ALBインスタンスが他のクラウドサービスにアクセスできるように、ポリシーAliyunServiceRolePolicyForAlbがサービスにリンクされたロールにアタッチされています。 詳細については、「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 DNSコンソールにログインします。
ドメイン名の解決ページで、ドメイン名の追加をクリックします。
ドメイン名の追加ダイアログボックスでドメイン名を入力し、OKをクリックします。
重要CNAMEレコードを追加する前に、TXTレコードを使用してドメイン名の所有権を確認する必要があります。
管理するドメイン名を見つけて、アクション列のDNS設定をクリックします。
ドメイン名の詳細ページのDNS設定タブで、DNSレコードの追加をクリックします。
[DNSレコードの追加] パネルでパラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。
パラメーター
説明
レコードタイプ
ドロップダウンリストから [CNAME] を選択します。
ホスト名
ドメイン名のプレフィックスを入力します。 この例では、@ を入力します。
説明ルートドメイン名を使用する場合は、
@
と入力します。DNSリクエストソース
[デフォルト] を選択します。
レコード値
ALBインスタンスのドメイン名であるCNAMEを入力します。
TTL
DNSサーバーにキャッシュされるCNAMEレコードの有効期限 (TTL) 値を指定します。 この例では、デフォルト値が使用されます。
ステップ7: ネットワーク接続のテスト
テストを実行する前に、クライアントがIPv6をサポートしていることを確認してください。 クライアントがIPv6をサポートしているかどうかを確認するには、http://test-ipv6.com/
にアクセスしてテストを実行します。
IPv6をサポートするクライアントを使用して、サーバECS01およびECS02にアクセスする。
クライアントのCLIを開きます。
次のコマンドを複数回実行して、IPv6クライアントからのリクエストがラウンドロビンに基づいてIPv4およびIPv6 ECSインスタンスに転送されるかどうかをテストします。
curl -6 http://<Domain name> -v
次のエコー応答パケットは、IPv6クライアントがIPv4 ECSインスタンスにアクセスできることを示します。
次のエコー応答パケットは、IPv6クライアントがIPv6 ECSインスタンスにアクセスできることを示します。
上記の結果は、IPv6クライアントからのリクエストがラウンドロビンに基づいてVPCのIPv4およびIPv6サービスに転送されることを示しています。
リリースリソース
ECSインスタンスとセキュリティグループをリリースします。
DNSレコードを削除します。
詳細については、「DNSレコードの削除」をご参照ください。
ALBリソースをリリース:
にログインします。ALBコンソール. 上部のナビゲーションバーで、ALBインスタンスが存在するリージョンを選択し、ALBインスタンスの右側にあるアイコンをクリックします。 表示されるメッセージで、[リリース] を選択し、[OK] をクリックします。
バックエンドサーバーを削除する方法の詳細については、「バックエンドサーバーの削除」をご参照ください。
サーバーグループを削除する方法の詳細については、「サーバーグループの削除」をご参照ください。
VPCリソースのリリース:
VPCコンソールにログインします。 上部のナビゲーションバーで、VPCが存在するリージョンを選択します。
VPCの右側にある [削除] をクリックします。 [強制削除] を選択し、[OK] をクリックしてVPCとvSwitchを削除します。