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

Server Load Balancer:レイヤ7リスナーをCLBからALBに手動で移行するためのベストプラクティス

最終更新日:Oct 24, 2024

Application Load Balancer (ALB) は、Classic load Balancer (CLB) よりも高いレイヤー7負荷分散機能と高度なルーティング機能を提供します。 ALBは、アプリケーション層で大量のネットワークトラフィックのバランスを取ることができ、Web application Firewall (WAF) とインターフェイスします。 トラフィック転送と保護はALBに対して分離されます。 ALBは、ユーザーエクスペリエンスを向上させるより高度な機能をサポートします。 このトピックでは、レイヤー7リスナーをCLBからALBに手動で移行する方法について説明します。

サンプルシナリオ

次の図は、このトピックで例として使用されるシナリオを示しています。 中国 (杭州) リージョンでインターネット向けCLBインスタンスを購入した企業。 CLBインスタンスには、リダイレクトルール、ドメイン名ベースの転送ルール、およびURLベースの転送ルールが設定されています。 CLBインスタンスは、ドメイン名を使用してインターネットに接続するサービスを提供します。 クライアントがドメイン名www.example.netにアクセスすると、ネットワークトラフィックはAレコードに基づいてCLBインスタンスにルーティングされます。 CLBインスタンスは、転送ルールに基づいてネットワークトラフィックをECS01およびECS02に転送します。

image

ビジネス開発により、CLBインスタンスからALBインスタンスにサービスを移行したいと考えています。 サービスの安定性を確保するために、サービスの提供に使用されるドメイン名やバックエンドサーバーのIPアドレスを変更する必要はありません。 上記の要件を満たすために、企業は中国 (杭州) リージョンでALBインスタンスを購入し、CLBインスタンスの転送ルールがネットワークトラフィックを転送するのと同じ方法でネットワークトラフィックを転送するALB転送ルールを設定できます。 次に、企業は異なる重みを持つDNSレコードを設定して、ネットワークトラフィックをCLBインスタンスからALBインスタンスに移行できます。

image

注意事項

  • CLBALBは、 従量課金の課金方法。 CLBALBの請求項目と価格は異なります。 CLBからALBにサービスを移行すると、課金される料金が変更される場合があります。 詳細については、以下のトピックをご参照ください。

  • ALBインスタンスとCLBインスタンスは、同じバックエンドサーバーを使用する必要があります。これは、同じ仮想プライベートクラウド (VPC) にデプロイする必要があります。

  • CLBインスタンスのTCPまたはUDPリスナーからALBインスタンスにサービスを移行することはできません。 サービスは、HTTPまたはHTTPSリスナーからのみ移行できます。

  • IPv4 CLBインスタンスからIPv4またはデュアルスタックALBインスタンスにサービスを移行できます。 サービスをIPv6 CLBインスタンスからデュアルスタックALBインスタンスにのみ移行できます。

前提条件

  • リスナーとバックエンドサーバーは、サービスを移行するCLBインスタンスに対して設定されます。 CLBインスタンスにAレコードが設定され、CLBインスタンスがドメイン名を使用してサービスを提供できるようになります。 詳細については、「概要」をご参照ください。

  • ECS01とECS02はバックエンドサーバーとしてCLBインスタンスに追加され、Elastic Compute Service (ECS) インスタンスはVPC1で作成されます。

  • CLBインスタンスにリダイレクトルールと転送ルールが設定されています。 詳細については、「HTTPリクエストをHTTPSにリダイレクトする」および「ドメイン名またはURLに基づいてリクエストを転送する」をご参照ください。

  • ECS03とECS04はVPC1で作成され、digはECS04にインストールされます。 ECS03は、移行前にネットワークトラフィックをテストするために使用されます。 ECS04は、移行中のトラフィックの配信方法を確認するために使用されます。

をクリックして、この例のCLBおよびALBのパラメーターを表示します。

パラメーター

CLB

ALB

ネットワークタイプ

インターネットに接続

サービスアドレス: 47.XX. XX.144

インターネットに接続

ドメイン名: alb-a8mmh2qez5jo ****** .cn-hangzhou.alb.aliyuncs.com

サービスの提供に使用されるドメイン名

www.example.net

www.example.net

リスナープロトコル

HTTP (ポート80)

HTTP (ポート80)

バックエンドサーバー

ECS01およびECS02

ECS01およびECS02

リダイレクション

HTTPリクエストをHTTPSリスナーのポート80からポート443にリダイレクトするリダイレクトルールは、CLBインスタンスに設定されています。

ALBインスタンスのHTTPリスナーにリダイレクトルールを設定する必要があります。 次の情報に基づいてリダイレクトルールを設定します。

  • 一致条件: パスを /* に設定します。

  • 転送アクション: HTTPSリスナーのポート443にリクエストを転送します。

転送ルール

ドメイン名ベースおよびURLベースの転送ルールは、CLBインスタンスのHTTPSリスナーに対して設定されます。

  • ドメイン名: www.example.net

  • URL: /home

  • vServerグループ: vServerグループのバックエンドサーバーはECS01とECS02です。

ALBインスタンスのHTTPSリスナーに対して、ドメイン名ベースおよびURLベースの転送ルールを設定する必要があります。 次の情報に基づいて転送ルールを設定します。

  • ドメイン名: www.example.net

  • URL: /home *

  • 宛先サーバーグループ: ECS01とECS02が属するサーバーグループ。

手順

image

手順1: ALBインスタンスの作成

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

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

  3. Application Load Balancerページで、パラメーターを設定します。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    リージョン

    ALBインスタンスを作成するリージョンを選択します。 リージョンは、CLBインスタンスが存在するリージョンと同じである必要があります。 この例では、中国 (杭州) が選択されています。

    ネットワークタイプ

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

    • イントラネット: ALBインスタンスにはプライベートIPアドレスのみがあり、ALBインスタンスがデプロイされているVPC内のリソースからのみアクセスできます。

    • インターネット: ALBインスタンスにはパブリックIPアドレスとプライベートIPアドレスがあります。 デフォルトでは、インターネット接続ALBインスタンスはEIPを使用してインターネット経由でサービスを提供します。 インターネットを選択した場合、EIPのインスタンス料金とデータ転送料金が課金されます。

      • パブリックIPアドレス: EIPは、インターネット経由でサービスを提供し、ALBインスタンスをインターネットに公開するために使用されます。

      • プライベートIPアドレス: VPCのリソースがALBインスタンスにアクセスできるようにします。

    ALBインスタンスのネットワークタイプを変更できます。 詳細については、「ALBインスタンスのネットワークタイプの変更」をご参照ください。

    説明

    ALBインスタンスにIPv4アドレスとIPv6アドレスの両方が割り当てられている場合、IPv4アドレスはインターネット経由でサービスを提供するために使用されます。 IPv6アドレスを使用してインターネット経由でサービスを提供する場合は、プライベートIPv6アドレスをパブリックIPv6アドレスに変更する必要があります。 この場合、IPv6ゲートウェイ料金が課金されます。 詳細については、「課金ルール」をご参照ください。

    [VPC]

    CLBインスタンスのバックエンドサーバーがデプロイされているVPCを選択します。 この例では、VPC1が選択されています。

    Zone

    ゾーンとvSwitchを選択します。

    1. ALBはマルチゾーン展開をサポートしています。 現在のリージョンに2つ以上のゾーンがある場合、高可用性を確保するために少なくとも2つのゾーンを選択する必要があります。 ALBは追加料金を請求しません。

    2. ALBインスタンスの各ゾーンにvSwitchを選択する必要があります。 使用可能なvSwitchがない場合は、プロンプトに従って作成します。

    3. オプション: 選択した各ゾーンのelastic IPアドレス (EIP) を選択します。

      • 使用可能なEIPがない場合は、デフォルトのオプション [EIPを自動的に割り当てる] を使用します。 その後、BGPマルチライン帯域幅とデフォルトのセキュリティ保護モードを使用する従量課金EIPが自動的に作成され、ALBインスタンスに関連付けられます。

      • または、既存のEIPをALBインスタンスに関連付けることもできます。

        説明
        • インターネット共有帯域幅インスタンスに追加されていない従量課金 (データ転送課金) EIPのみをALBインスタンスに関連付けることができます。

        • 同じALBインスタンスの異なるゾーンに指定するEIPは、同じタイプである必要があります。

    IPモード

    ALBインスタンスのIPモードを選択します。

    • 静的IP: 各ゾーンで使用できるIPアドレスは1つだけです。 IPアドレスは変更できません。 静的IPアドレスを使用するALBインスタンスは、1秒あたり最大100,000クエリ (QPS) をサポートします。

    • 動的IP: 各ゾーンで1つ以上のIPアドレスを使用できます。 ALBインスタンスが使用するIPアドレスの数は、負荷とともに増加します。 このIPモードは、最大100万個のQPSをサポートします。

    IPバージョン

    IPバージョンを選択します。 IPv4 CLBインスタンスからIPv4またはデュアルスタックALBインスタンスにサービスを移行できます。 サービスをIPv6 CLBインスタンスからデュアルスタックALBインスタンスにのみ移行できます。 ビジネス要件に基づいてIPバージョンを選択します。

    • IPv4: このオプションを選択した場合、ALBインスタンスにはIPv4クライアントのみがアクセスできます。

    • デュアルスタック: このオプションを選択すると、IPv4およびIPv6クライアントからALBインスタンスにアクセスできます。 デュアルスタックALBインスタンスの制限の詳細については、「IPバージョン」をご参照ください。

    エディション

    ALBインスタンスのエディションを選択します。

    • 基本: 基本ALBインスタンスは、ドメイン名、URL、HTTPヘッダーに基づくリクエスト転送などの基本的なルーティング機能をサポートしています。

    • 標準: 標準ALBインスタンスは、基本ALBインスタンスの機能に加えて、高度なルーティング機能をサポートしています。 標準ALBインスタンスは、カスタムTLSセキュリティポリシー、リダイレクト、および書き換えをサポートしています。

    • WAF有効化: 標準ALBインスタンスからのアップグレードとして、WAF有効化ALBインスタンスはWebアプリケーションを保護するためにwebアプリケーションファイアウォール (WAF) 3.0と統合されます。 ネットワークトラフィックは、トラフィックがALBリスナーに転送される前にWAFによってフィルタリングされます。 WAF対応ALBインスタンスの制限の詳細については、「WAF対応ALBインスタンスの制限」をご参照ください。

    基本ALBインスタンス、標準ALBインスタンス、およびWAF対応ALBインスタンスの違いの詳細については、「機能と機能」をご参照ください。

    インターネット共有帯域幅インスタンスとの関連付け

    ALBインスタンスが2つのゾーンにデプロイされ、インターネット共有帯域幅インスタンスに関連付けられていない場合、ALBインスタンスのデフォルトの最大インターネット帯域幅は400 Mbit/sです。

    より高い帯域幅が必要な場合は、EIP帯域幅プランをALBインスタンスに関連付けます。 [EIP帯域幅プランに関連付ける] を選択した場合、インターネット共有帯域幅インスタンスを選択する必要があります。 利用可能なインターネット共有帯域幅インスタンスがない場合は、[EIP帯域幅プランの購入] をクリックし、インターネット共有帯域幅インスタンスを購入します。 次に、ALB購入ページに戻り、刷新をクリックして購入したインターネット共有帯域幅インスタンスを選択します。

    従量課金インターネット共有帯域幅インスタンスを購入することを推奨します。 インターネット共有帯域幅インスタンスの購入方法の詳細については、「EIP帯域幅プランの作成」をご参照ください。

    説明

    このパラメーターは、[ネットワークタイプ][インターネット] に設定した場合にのみ使用できます。

    課金方法

    デフォルトでは、[データ転送課金] が選択されています。 最大帯域幅は参照のみに使用されます。 帯域幅の上限を示します。 リソース競合が発生すると、各ALBインスタンスに割り当てられる帯域幅は、最大帯域幅値よりも低くなり得る。 EIPの課金の詳細については、「EIP課金」をご参照ください。

    説明

    このパラメーターは、[ネットワークタイプ][インターネット] に設定され、[EIP帯域幅プランに関連付ける] が選択されていない場合にのみ使用できます。

    [インスタンス名]

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

    リソースグループ

    ALBインスタンスが属するリソースグループを選択します。

    サービスリンクロールの作成に関する注意事項

    初めてALBインスタンスを作成するときは、[作成] をクリックしてサービスにリンクされたロールを作成します。 サービスにリンクされたロールを使用すると、ALBはelastic network Interface (ENI) 、セキュリティグループ、EIP、インターネット共有帯域幅インスタンスなどのクラウドサービスとリソースにアクセスできます。 詳細については、「ALBのサービスにリンクされたロール」をご参照ください。

    説明

    このパラメーターは、ALBインスタンスを初めて作成したときにのみ表示されます。

  4. [今すぐ購入] をクリックし、支払いを完了します。

手順2: ALBインスタンスのサーバーグループを作成する

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

  2. 上部のナビゲーションバーで、ALBインスタンスが存在するリージョンを選択します。 この例では、中国 (杭州) が選択されています。

  3. 左側のナビゲーションウィンドウで、ALB > サーバーグループを選択します。

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

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

    パラメーター

    説明

    サーバーグループタイプ

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

    サーバーグループ名

    サーバーグループの名前を入力します。 この例では、RS1が使用される。

    [VPC]

    [VPC] ドロップダウンリストからVPCを選択します。 VPC内のサーバーのみをサーバーグループに追加できます。 この例では、VPC1が選択されています。 CLBインスタンスのバックエンドサーバーはVPC1にデプロイされています。

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

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

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

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

    リソースグループ

    ALBインスタンスが属するリソースグループを選択します。

    IPv6サポート

    IPv6を有効にするかどうかを指定します。 この例では、デフォルト設定が使用されています。 IPv6は無効です。

    セッション永続性

    セッション維持を有効にするかどうかを指定します。 この例では、デフォルト設定が使用されています。 セッション維持は無効です。

    永続的な接続

    永続的なTCP接続機能を有効にするかどうかを指定します。 この例では、この機能は有効です。

    ヘルスチェックの設定

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

    詳細設定

    この例では、デフォルト設定を使用します。

  6. 表示されるダイアログボックスで、[バックエンドサーバーの追加] をクリックします。 [バックエンドサーバー] タブで、[バックエンドサーバーの追加] をクリックします。

  7. では、バックエンドサーバーの追加パネルのバックエンドサーバーを選択します。CLBインスタンスをクリックし、次へ.

    この例では、ECS01およびECS02が選択される。

  8. [ポート /重み] ステップで、ECSインスタンスのポートと重みを設定し、[OK] をクリックします。

    この例では、ポートが80に設定され、デフォルトの重み100が使用されます。

    説明

    動的IPモードのALBインスタンスは、最大100万個のQPSをサポートします。 標準ALBインスタンスは、最大1,000のバックエンドサーバーをサポートします。 特定の期間のトラフィックスパイクに耐えるために、スケーリンググループを使用してALBインスタンスをスケーリングし、コストを削減できます。

手順3: ALBインスタンスのリスナーの設定

この例では、ALBインスタンスのリダイレクトルール、ドメイン名ベースの転送ルール、およびURLベースの転送ルールを設定する方法について説明します。

説明
  • CLBインスタンスにリダイレクトルールが設定されている場合、ALBインスタンスのHTTPリスナーにもリダイレクトルールを設定する必要があります。

  • ドメイン名ベースの転送ルールとURLベースの転送ルールがCLBインスタンスに設定されている場合、ALBインスタンスのCLBインスタンスと同じ方法で有効になるドメイン名ベースとURLベースの転送ルールも設定する必要があります。

HTTPリスナーとHTTPSリスナーの追加

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

  2. 上部のナビゲーションバーで、ALBインスタンスが存在するリージョンを選択します。 この例では、中国 (杭州) が選択されています。

  3. 次のいずれかの方法を使用して、リスナー構成ウィザードを開きます。

    • インスタンス ページで、管理するALBインスタンスを見つけ、操作 列の [リスナーの作成] をクリックします。

    • インスタンス ページで、管理するALBインスタンスのIDをクリックします。 リスナー タブで、[リスナーの作成] をクリックします。

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

    パラメーター

    説明

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

    リスナープロトコルを選択します。

    この例では、HTTPが選択されています。

    リスナーポート

    ALBインスタンスがリッスンするポートを指定します。 ALBインスタンスは、指定されたポートでリクエストをリッスンし、リクエストをバックエンドサーバーに転送します。 有効な値: -1 から 65535 ほとんどの場合、ポート80はHTTPに使用され、ポート443はHTTPSに使用されます。

    説明

    ALBインスタンスがリッスンするポートは一意である必要があります。

    この例では、ポート80が指定されています。

    リスナー名

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

    詳細設定

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

  5. サーバーグループの選択ステップで、サーバータイプのサーバーグループを選択します。バックエンドサーバーを表示し、次へをクリックします。

    この例では、RS1が選択される。

  6. 構成レビューステップで、設定を確認し、送信をクリックします。

  7. HTTPSリスナーを追加します。 詳細については、「HTTPSリスナーの追加」をご参照ください。

    次のセクションでは、このトピックに関連するパラメーターについて説明します。

    • リスナープロトコルの選択: この例では、HTTPSが選択されています。

    • リスナーポート: この例では、ポート443が使用されます。

リダイレクトルールの設定

ALBインスタンスのHTTPリスナーのリダイレクトルールを設定して、ALBインスタンス宛てのすべてのHTTPリクエストをHTTPSポート443にリダイレクトします。

  1. [リスナー] タブで、HTTPリスナーのIDをクリックします。 リスナーの詳細ページで、[転送ルール] タブをクリックします。

  2. 転送ルールタブで、新しいルールの追加をクリックします。

  3. 転送ルールの追加セクションで、次のパラメーターを設定し、OKをクリックします。

    重定向配置

    パラメーター

    説明

    If (すべての条件に一致)

    ドロップダウンリストから [パス] および [正確でワイルドカードのパターンマッチング] を選択します。 次に、/* と入力します。

    アクション:

    ドロップダウンリストから [リダイレクト] を選択し、次のパラメーターを設定します。

    • プロトコル: この例では、HTTPSが選択されています。

    • ドメイン名: この例では、デフォルト値 ${host} が使用されています。

    • ポート: HTTPSリスナーのポート番号を入力します。 この例では、ポート443が使用される。

    • パス: この例では、デフォルト値 ${Path} が使用されています。

    • クエリ: この例では、デフォルト値 ${Query} が使用されています。

    • ステータスコード: この例では、301が使用されます。

ドメイン名ベースの転送ルールとURLベースの転送ルールの作成

ALBインスタンスのHTTPSリスナーに対して、ドメイン名ベースの転送ルールとURLベースの転送ルールを作成します。

  1. [リスナー] タブに戻り、作成したHTTPSリスナーのIDをクリックします。 リスナーの詳細ページで、[転送ルール] タブをクリックします。

  2. 転送ルールタブで、新しいルールの追加をクリックします

  3. [転送ルールの追加] セクションで、パラメーターを設定し、[OK] をクリックします。 下表にパラメーターを示します。

    域名转发规则配置

    パラメーター

    説明

    If (すべての条件に一致)

    1. ドロップダウンリストから、[ドメイン名] および [正確でワイルドカードのパターンマッチング] を選択します。 この例では、www.example.netが入力されます。

    2. [条件の追加] をクリックし、ドロップダウンリストから [パス] を選択します。 この例では、/home * を入力します。

    アクション:

    [転送] を選択し、ドロップダウンリストから [サーバータイプ] のサーバーグループを選択します。 この例では、RS1が選択される。

    説明

    選択したサーバーグループのバックエンドサーバーは、CLBインスタンスの転送ルールで指定されたvServerグループのバックエンドサーバーと同じである必要があります。

ステップ4: トラフィックテストの実行

アクセスログの有効化

ALBとSimple Log Serviceは、ALBインスタンスの負荷を監視して問題を特定できるアクセスログ機能を提供します。

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

  2. 上部のナビゲーションバーで、ALBインスタンスが存在するリージョンを選択します。 この例では、中国 (杭州) が選択されています。

  3. [インスタンス] ページで、管理するALBインスタンスを見つけ、そのIDをクリックします。

  4. インスタンスの詳細ページで、[アクセスログ] タブをクリックします。 [アクセスログ] タブで、[アクセスログの作成] をクリックします。

  5. [アクセスログの作成] ダイアログボックスで、[プロジェクト] および [ログストア] パラメーターを設定し、[OK] をクリックします。 表示されるメッセージで、情報を確認して [OK] をクリックします。

    パラメーター

    説明

    プロジェクト

    Simple Log Serviceプロジェクトは、リソースの分離と管理に使用されます。

    • [プロジェクトの選択]: ドロップダウンリストからプロジェクトを選択します。

    • プロジェクトの作成: フィールドにプロジェクト名を入力します。 プロジェクトが自動的に作成されます。

    ログストア

    Simple Log ServiceのLogstoreは、ログの収集、保存、およびクエリに使用されます。

    • Logstoreの選択: ドロップダウンリストからLogstoreを選択します。

    • Logstoreの作成: フィールドにLogstore名を入力します。 Logstoreは自動的に作成されます。 プロジェクトの作成を選択した場合は、Logstoreの作成を選択します。

    サービス連携ロールの作成に関する注意事項

    この操作を実行すると、システムはサービスにリンクされたロールを作成し、必要な権限をALBに付与します。

ネットワークトラフィックのテスト

  1. ECS03にログオンします。 詳細については、「接続方法の概要」をご参照ください。

  2. 次のコマンドを実行してhostsファイルを変更します。

    sudo vi /etc/hosts

    hostsファイルを開き、ALBインスタンスのIPアドレスとドメイン名をファイルに追加します。 変更を保存してファイルを閉じます。

    118.XX.XX.39 www.example.net
  3. 次のコマンドを実行して、リダイレクトルールが期待どおりに機能するかどうかを確認します。

    curl -X GET -L -v   http://www.example.net

    次の図は結果を示しています。CLB迁移ALB流程测试

  4. ALBコンソールに移動します。アクセスログのタブALBインスタンスの横にあるリンクをクリックします。ストレージパスアクセスログを表示します。

    访问日志Simple Log Serviceコンソールでは、request_uri、http_host、upstream_addr、およびstatusフィールドに基づいて、ALBインスタンスのドメイン名ベースおよびURLベースの転送ルールの操作ログを表示できます。

ステップ5: CLBからALBへのワークロードの移行

CLBがリクエストを処理する方法を次の図に示します。 リダイレクトルールは、HTTPポート80からHTTPSポート443にリクエストをリダイレクトするように設定されています。 HTTPSは、複数のドメイン名へのアクセスをサポートします。 この例では、ドメイン名e example.netが使用されます。

image

警告
  • 移行を実行する前に、CLBインスタンスとALBインスタンスの転送ルールを比較することを推奨します。 転送ルールが完全にテストされていることを確認し、同じ方法でネットワークトラフィックを転送します。 そうしないと、サービスに悪影響が生じる可能性があります。

  • CLBインスタンスのオフピーク時に移行を実行することを推奨します。

移行を実行する前に、AレコードをCLBインスタンスに追加して、サービスのドメイン名をCLBインスタンスのIPアドレスにマッピングする必要があります。

image

ALBインスタンスでカナリアリリースを実行した後、CLBインスタンスからALBインスタンスにワークロードを移行できます。 この例では、Alibaba Cloud DNSを使用してDNSレコードを管理し、カナリアリリースを実行します。 次の手順は、ワークロードをCLBからALBに移行する方法を示しています。 Alibaba Cloud DNSの詳細については、「パブリック権限DNS解決」をご参照ください。

image

ステップ1. CLBインスタンスの一時ドメイン名の設定

DNSレコードの重みの要件を満たすために、CNAMEレコードをALBインスタンスに追加することを推奨します。 CNAMEレコードで、CLBインスタンスの一時ドメイン名をCLBインスタンスのIPアドレスにマップします。

説明

同じドメイン名の異なるDNSレコードに重みを指定するには、DNSレコードのタイプ、ホスト名、およびISP回線が同じである必要があります。 レコード、CNAMEレコード、およびAAAAレコードがサポートされています。

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

  2. [ドメイン名解決] ページで、ドメイン名www.example.netを見つけてクリックします。 ドメイン名は、CLBインスタンスのIPアドレスを指します。

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

    パラメーター

    説明

    レコードタイプ

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

    ホスト名

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

    DNSリクエストソース

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

    レコード値

    一時ドメイン名を入力します。 この例では、web0.example.netが入力されます。

    TTL

    CNAMEレコードのtime-to-live (TTL) 値を指定します。 TTLは、レコードがDNSサーバーにキャッシュされる期間を決定します。 この例では、TTLは5秒に設定されています。

    この例では、Alibaba Cloud DNS Enterprise Ultimate Editionが使用されています。 TTL値は参照用です。 ビジネス要件に基づいてTTL値を指定します。 詳細については、「エディション」をご参照ください。

  4. DNS設定ページのIPアドレスを指すAレコードを検索します。CLBインスタンスをクリックし、変更[アクション] 列に表示されます。

  5. [DNSレコードの変更] パネルで、[ホスト名] パラメーターを変更し、[OK] をクリックします。 この例では、Hostnameパラメーターはweb0に設定されています。 他のパラメータは変更されない。

手順2: ALBインスタンスのCNAMEレコードの追加

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

  2. 上部のナビゲーションバーで、ALBインスタンスが存在するリージョンを選択します。 この例では、中国 (杭州) が選択されています。

  3. ALBドメイン名を管理およびコピーするインスタンスを見つけます。

  4. CNAMEレコードを作成するには、次の手順を実行します。

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

    2. 管理するドメイン名を見つけて、[操作] 列の [設定] をクリックします。 この例では、ドメイン名はCLBインスタンスのドメイン名です。

    3. DNS設定ページで、レコードの追加をクリックします。

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

      パラメーター

      説明

      レコードタイプ

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

      ホスト名

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

      DNSリクエストソース

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

      レコード値

      CNAMEを入力します。 CNAMEは、ALBインスタンスのドメイン名です。

      TTL

      CNAMEレコードのTTL値を指定します。 TTLは、レコードがDNSサーバーにキャッシュされる期間を決定します。 この例では、TTLは5秒に設定されています。

      この例では、Alibaba Cloud DNS Enterprise Ultimate Editionが使用されています。 TTL値は参照用です。 ビジネス要件に基づいてTTL値を指定します。 詳細については、「エディション」をご参照ください。

      説明
      • 新しいCNAMEレコードはすぐに有効になります。 変更されたCNAMEレコードが有効になるのに必要な時間は、ローカルDNSキャッシュ内のCNAMEレコードのTTL値によって決まります。 デフォルトのTTL値は10分です。

      • 作成するCNAMEレコードが既存のレコードと競合する場合は、別のドメイン名を指定します。

ステップ3: DNSレコードの重みを指定し、カナリアリリースを実行する

  1. [ドメイン名の解決] ページで、管理するドメイン名をクリックします。 [DNS設定] ページの左側のナビゲーションウィンドウで、[重み設定] をクリックします。

  2. 重み付きラウンドロビンページをクリックします。アクション列のEnableWeightをクリックし、セット重量をクリックします。

    同じドメイン名の異なるDNSレコードに重みを指定するには、DNSレコードのタイプ、ホスト名、およびISP回線が同じである必要があります。 レコード、CNAMEレコード、およびAAAAレコードがサポートされています。

  3. [重みの設定] パネルで、CLBおよびALBインスタンスのDNSレコードの重みを指定します。 CLBインスタンスのDNSレコードの重みを100に設定します。 ALBインスタンスのDNSレコードの重みを0に設定します。

    域名权重设置

  4. CLBインスタンスのDNSレコードの重みを徐々に減らし、ALBインスタンスのDNSレコードの重みを徐々に増やします。 サービスが影響を受けないようにしてください。

  5. ECS04にログオンし、掘るコマンドを複数回実行して、移行後のネットワークトラフィックをテストします。

    dig www.example.net

    以下の図は結果を示す。 結果は、リクエストがDNSレコードの重みに基づいてALBおよびCLBインスタンスに転送されることを示しています。流量测试1流量测试2

ステップ4: すべてのワークロードをCLBからALBに移行する

CLBインスタンスのDNSレコードの重みを0に徐々に減らし、ALBインスタンスのDNSレコードの重みを100に徐々に増やします。 サービスが影響を受けないようにしてください。 次に、すべてのワークロードがCLBインスタンスからALBインスタンスに移行されます。 CLBインスタンスのすべての永続接続が閉じられ、リクエストがCLBインスタンスに送信されなくなった後、適切な期間が経過した後にCLBインスタンスをリリースできます。 CLBインスタンスのリリース方法の詳細については、「CLBインスタンスのリリース」をご参照ください。

次の図は、移行完了後にALBインスタンスがリクエストを処理する方法を示しています。

image

DNSサービスプロバイダーでCNAMEレコードの重みを指定できない場合は、をクリックして別の移行ソリューションを表示します。

image

高度な機能

ALBは、CLBよりもレイヤー7で優れた負荷分散機能と高度な機能を提供します。 次のトピックは、ALBに精通するのに役立ちます。

次の表に、CLBALBの高度な機能の違いを示します。

機能

CLB

ALB

サーバーグループ管理

デフォルトのサーバーグループ、vServerグループ、およびプライマリ /セカンダリサーバーグループがサポートされています。

サーバーグループがサポートされています。

HTTPからHTTPSへのリダイレクト

リスナーの作成時にリダイレクトを設定できます。 詳細については、「CLBを使用したHTTPリクエストのHTTPSへのリダイレクト」をご参照ください。

リダイレクトの転送ルールを作成できます。 詳細については、「HTTPリクエストをHTTPSリスナーにリダイレクトする」をご参照ください。

HTTPSリスナーの複数の証明書

詳細については、「HTTPS経由で複数のドメイン名を提供するようにCLBインスタンスを設定する」をご参照ください。

詳細については、「HTTPS経由で複数のドメイン名を提供するようにALBインスタンスを設定する」をご参照ください。

一方向認証を使用するHTTPSサービス

Alibaba Cloudによって発行された証明書とサードパーティの証明書がサポートされています。 詳細については、「HTTPSリクエストの一方向認証の設定」をご参照ください。

証明書管理サービスを使用して証明書を管理できます。 詳細については、「通信を暗号化するHTTPSの設定」をご参照ください。

双方向認証を使用するHTTPSサービス

Alibaba Cloudによって発行された証明書とサードパーティの証明書がサポートされています。 詳細については、「HTTPSリスナーの相互認証の設定」をご参照ください。

Alibaba Cloudによって発行された証明書がサポートされています。 証明書管理サービスを使用して証明書を管理できます。 詳細については、「HTTPSリスナーの相互認証の設定」をご参照ください。

WAF による保護

透過プロキシモードとCNAMEレコードモードがサポートされています。 詳細については、「レイヤー7 CLBインスタンスのWAFへの追加」および「ドメイン名のWAFへの追加」をご参照ください。

サービス統合モード、透過プロキシモード、およびCNAMEレコードモードがサポートされています。

  • WAF 3.0のサービス統合モードとWAF 2.0の透過プロキシモードの詳細については、「WAFとの統合」をご参照ください。

  • WAF対応ALBインスタンスのメリットとWAF対応ALBインスタンスの有効化方法の詳細については、「WAF対応ALBインスタンスの有効化と管理」をご参照ください。

よくある質問

  1. 移行前と移行後にCLBインスタンスとALBインスタンスの設定を変更しないでください。

    リージョン、ネットワークタイプ、リスナープロトコル、およびバックエンドサーバーは変更しないでください。 ALBインスタンスは、CLBインスタンスのバックエンドサーバーと同じVPCにある必要があります。 ALBインスタンスとバックエンドサーバーは異なるゾーンに配置できます。

  2. CLBで使用される証明書とALBで使用される証明書の違いは何ですか?

    CLBALBは、HTTPSによる暗号化送信をサポートしています。 CLBは、Alibaba Cloudによって発行された証明書とサードパーティの証明書をサポートしています。 ALBが使用する証明書は、Alibaba Cloud Certificate Management Serviceによって管理されます。

  3. CLBALBのアクセス制御の違いは何ですか?

    • CLBはリスナーのアクセス制御をサポートしています。 リスナーごとに異なるアクセス制御リスト (ACL) を設定できます。 詳細については、「概要」をご参照ください。

    • ALBは、IPv4およびデュアルスタックインスタンスを提供します。 IPv4 ALBインスタンスでは、リスナーごとに異なるACLを設定できます。 詳細については、「ACL」をご参照ください。 デュアルスタックALBインスタンスはアクセス制御をサポートしていません。

  4. CLBALBのドメイン名解決の違いは何ですか?

    • CLBはAレコードをサポートし、カスタムドメイン名をCLBインスタンスのIPアドレスに解決します。

    • ALBインスタンスの場合:

      • ユーザーがより便利な方法でサービスにアクセスできるようにするには、CNAMEレコードを使用してカスタムドメイン名をALBインスタンスのドメイン名にマップすることを推奨します。

      • カスタムドメイン名を特定のIPアドレスに解決する場合は、特定のIPアドレスを持つALBインスタンスを使用し、aレコードを使用してカスタムドメイン名をALBインスタンスのIPアドレスに解決することを推奨します。

関連ドキュメント