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

Server Load Balancer:ALBとGAを統合してアプリケーションの高速化を実現

最終更新日:Nov 04, 2024

Application Load Balancer (ALB) にデプロイされたサービスにグローバルユーザーがアクセスできる場合、高いネットワーク遅延、ネットワークのジッター、およびインターネット品質の低下によるパケット損失により、ユーザーエクスペリエンスが低下する可能性があります。 上記の問題に対処するために、ALBをGlobal Accelerator (GA) と統合して、ユーザーリクエストを最寄りのアクセスポイントにルーティングし、リクエストをAlibaba Cloud内部ネットワーク経由でサーバーに転送できます。 ALBがGAと統合されたら、ALBコンソールでGAを有効にできます。 これはGA構成を単純化する。

GAの概要

GAは、安定したBGP回線とAlibaba Cloudの混雑のないグローバルネットワークを使用して、インターネット向けアプリケーションを高速化します。 GAは、ビジネスシステムがリージョンをまたいでデプロイされている場合や、グローバルユーザーがアクセスできる場合に、ネットワークの待ち時間、ネットワークのジッター、パケット損失を削減できます。 ユーザーは、世界中の最も近いアクセスポイントに接続することで、ビジネスシステムにアクセスできます。 GAは、webアプリケーションの高可用性と高性能を保証します。 GAの詳細については、「Global Acceleratorとは 」をご参照ください。

ALBがGAと統合された後、GAコンソールでGAを設定または管理する必要なく、ALBコンソールでGAを有効にできます。 これにより、構成プロセスが大幅に簡素化されます。

主な機能

  • アプリケーションの高速化: グローバルユーザーからのリクエストは、最も近いアクセスポイントにルーティングされ、ユーザーエクスペリエンスが向上します。

  • 簡単な設定: GAは、簡単な設定の後にALBコンソールで設定および有効にできます。

シナリオの使用

GAは、次のようなシナリオで、複数のリージョンのグローバルユーザーからのアクセスを高速化するのに理想的です。

  • ゲームプラットフォームの高速化: ログオンシステムやeコマースシステムなどのゲームプラットフォームは、GAを使用して、遅いログオンに関するユーザーの苦情を減らすことができます。

  • エンタープライズアプリケーションの高速化: 多国籍企業はGAを使用して、グローバル従業員のコラボレーション効率とエクスペリエンスを向上させることができます。

  • インターネットアプリケーションの高速化: インターネットアプリケーションはGAを使用してユーザーエクスペリエンスとロイヤルティを向上させることができます。 GAは製品の人気を高めるのに役立ちます。

リージョン内のALBに高可用性サービスを展開し、複数のリージョンのグローバルユーザーがそのサービスにアクセスできるようにします。 インターネットの品質が悪いため、一部のユーザーは高いネットワーク遅延を経験します。

前述の問題に対処するために、同社はALBとGAを統合してユーザーリクエストを最寄りのアクセスポイントにルーティングし、ユーザーエクスペリエンスを大幅に向上させます。

image

制限事項

  • 各ALBインスタンスは、1つのGAインスタンスにのみ関連付けることができます。

  • GAは、次のシナリオではサポートされません。

    • ALBインスタンスはリスナーに関連付けられていません。

    • ALBインスタンスまたはリスナーが変更中です。

    • ALBインスタンスはQUICリスナーに関連付けられています。

    • ALBインスタンスに関連付けられているHTTPSリスナーは、次のシナリオにあります。

      • HTTPSリスナーに対して相互認証が有効になっています。

      • HTTPSリスナーはカスタムTLSポリシーを使用します。

      • HTTPSリスナーは追加の証明書を使用します。

    • ALBインスタンスのリスナーは、gRPCサーバーグループに関連付けられています。

    • GAはALBインスタンスのリージョンでは使用できません。 GAを使用できるリージョンの詳細については、「アクセラレーションエリアとリージョン」をご参照ください。

    • GAインスタンスによって使用されるエンドポイントのパブリックCIDRブロックは、インターネットに接続されているALBインスタンスに関連付けられているリスナーのIPブラックリストにあるか、IPホワイトリストのCIDRブロックと重複しています。 詳細については、「」をご参照ください。GAインスタンスのエンドポイントグループIPアドレスを表示するにはどうすればよいですか。

前提条件

  • インターネット接続または内部接続のALBインスタンスが作成されます。 詳細については、「ALBインスタンスの作成」をご参照ください。

  • サーバーグループが作成されます。 詳細については、「サーバーグループの作成と管理」をご参照ください。

  • 2つのECS (Elastic Compute Service) インスタンスがサーバーグループに追加され、アプリケーションがECSインスタンスにデプロイされます。 この例では、ECSインスタンスの名前はECS01およびECS02です。

    ECSインスタンスにテストアプリケーションをデプロイするためのサンプルコマンド

    ECS01にテストアプリケーションを展開するサンプルコマンド:

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS01." > index.html

    ECS02にテストアプリケーションをデプロイするサンプルコマンド:

    yum install -y nginx
    systemctl start nginx.service
    cd /usr/share/nginx/html/
    echo "Hello World ! This is ECS02." > index.html
  • (オプション) カスタムドメイン名を作成します。 詳細については、「Alibaba Cloudでのドメイン名の登録」をご参照ください。

  • リスナーが作成されます。 詳細については、「HTTPリスナーの追加」および「HTTPSリスナーの追加」をご参照ください。 HTTPSリスナーを作成するには、証明書管理サービスでSSL証明書を購入またはアップロードし、証明書をドメイン名に関連付ける必要があります。 詳細については、「証明書管理サービスの使用を開始する」をご参照ください。

手順

手順1: ALBインスタンスのアプリケーションアクセラレーションの有効化

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

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

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

  4. [統合サービス] タブで、[GAの作成] をクリックします。

    1. GAの有効化: GAがAlibaba Cloudアカウント内で有効化されていない場合は、利用規約を読んで選択し、GAを有効化します。

    2. アクセラレーションエリア: [アクセラレーションエリア] ドロップダウンリストをクリックして、アクセラレーションエリアを選択します。 クライアントが配置されているリージョン、またはクライアントに最も近いリージョンを、GAインスタンスのアクセラレーションリージョンとして選択できます。 アクセラレーションエリアは、Alibaba Cloud リージョンの集まりです。 各アクセラレーションエリアには、1つ以上のAlibaba Cloudリージョンが含まれます。

      説明
      • アクセラレーションエリアに中国本土のリージョンが含まれている場合、またはバックエンドサーバーが中国本土にデプロイされている場合は、ドメイン名にインターネットコンテンツプロバイダ (ICP) 番号を申請する必要があります。

      • アクセラレーションエリアとオリジンサーバーが境界を越えてデプロイされている場合は、[クロスボーダーデータ転送のコンプライアンスコミットメント] を読んで選択します。 デフォルトでは、クロスボーダー通信は高速化にプレミアム帯域幅を使用します。

  5. 設定が完了したら、[OK] をクリックします。

    重要

    GAを初めて有効にすると、すべてのALBリスナー情報がGAに同期されます。 ただし、リスナー構成の更新はGAに自動的に同期されません。 GAコンソールでリスナー設定を手動で更新する必要があります。

(オプション) 手順2: DNSレコードの追加

ALBインスタンスのGAを有効にすると、ドメイン名を含むGAインスタンス情報が [統合サービス] タブに表示されます。

ドメイン名をコピーし、次の操作を実行して、カスタムドメイン名をGAインスタンスのドメイン名にマップするCNAMEレコードを追加します。

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

  2. [ドメイン名の解決] ページで、[ドメイン名の追加] をクリックします。

  3. [ドメイン名の追加] ダイアログボックスで、カスタムドメイン名を入力し、[OK] をクリックします。

    重要

    CNAMEレコードを作成する前に、TXTレコードを使用してドメイン名の所有権を確認します。

  4. 管理するドメイン名の [操作] 列で、[DNS設定] をクリックします。

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

  6. [レコードの追加] パネルでパラメーターを設定し、[確認] をクリックします。 下表に、各パラメーターを説明します。

    パラメーター

    説明

    レコードタイプ

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

    ホスト名

    ドメイン名のプレフィックスを入力します。

    DNSリクエストソース

    デフォルト値を保持します。

    レコード値

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

    TTL

    DNSサーバーにキャッシュされるCNAMEレコードの有効期限 (TTL) 値を選択します。 この例では、デフォルト値が使用されます。

ステップ3: テスト加速結果

この例では、インターネット接続のALBインスタンス、バックエンドサーバーが米国 (シリコンバレー) リージョンにデプロイされているGAインスタンス、および中国 (香港) アクセラレーションエリアを使用するクライアントが使用されます。

  1. GAを有効にした後のネットワーク待ち時間をテストします。

    CNAMEレコードを使用して、カスタムドメイン名がGAインスタンスのドメイン名にマッピングされている場合は、高速化ドメイン名をカスタムドメイン名に変更します。 GAインスタンスのドメイン名にカスタムドメイン名がマッピングされていない場合は、GAインスタンスのドメイン名を高速化ドメイン名として入力します。

    1. ブラウザから http://<Accelerated domain name> にアクセスします。 バックエンドサービスにアクセスできます。 ブラウザを複数回更新します。 要求は、ECS01とECS02との間で分配される。

    2. コマンドcurl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<Accelerated domain name>" を実行して、GAが有効になった後のネットワークレイテンシを照会します。

      次の図は、レスポンスを示しています。

      image

  2. GAを有効にする前にネットワークの待ち時間をテストします。

    1. ブラウザから http://<ALBドメイン名> にアクセスします。 バックエンドサービスにアクセスできます。 ブラウザを複数回更新します。 要求はECS01とECS02の間で分配される。

    2. コマンドcurl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<ALB domain name>" を実行して、GAが有効になる前にネットワークレイテンシを照会します。

      次の図は、レスポンスを示しています。

      image

  3. 結果を比較します。

    パラメータの説明:

    • time_connect: TCP接続を確立するために必要な期間。 単位は秒です。

    • time_starttransfer: データ転送の開始時刻。 開始時間は、クライアントがバックエンドサーバーにリクエストを送信してから、最初のバイトがクライアントに送信されるまでの期間を指します。 単位は秒です。

    • time_total: 合計接続時間。 合計接続時間は、クライアントがリクエストを送信してから、クライアントがバックエンドサーバーから最後のバイトを受信するまでの期間を指します。 単位は秒です。

    パラメーター

    后GA加速 (単位: 秒)

    GAアクセラレーション前 (単位: 秒)

    加速効果 (単位: 秒)

    加速効果 (単位: パーセンテージ)

    time_connect

    0.007

    0.162

    0.155によって増加

    95.7% によって増加

    time_starttransfer

    0.163

    0.321

    0.158によって増加

    49.2% によって増加

    time_total

    0.163

    0.321

    0.158によって増加

    49.2% によって増加

    説明

    このトピックの例とデータは参考用です。 サービスに対する実際のアクセラレーション効果が優先されます。

次に何をすべきか

アクセラレーションステータスの表示

[統合サービス] タブの [Global Accelerator] カードに、GAインスタンスのID、ドメイン名、およびステータスが表示されます。

アプリケーションの高速化を無効にする

ALBインスタンスのアプリケーションアクセラレーションを無効にするには、GAコンソールでGAインスタンスを削除するか、GAインスタンスに関連付けられているALBリスナーとエンドポイントグループを削除します。

よくある質問

作成されるGAインスタンスの種類は?

従量課金の標準GAインスタンスが作成されます。

GAを有効にした後に追加料金がかかりますか?

GAが有効になった後、GA料金が請求されます。 GA料金には、GAインスタンス料金、容量単位 (CU) 料金、およびデータ転送料金が含まれます。 詳細については、「従量課金GAインスタンスの課金」をご参照ください。

ALBリスナーを追加した後、リスナーに対してGAが有効になっていないのはなぜですか。

ALBリスナー情報は、GAを初めて有効にしたときにのみGAに同期されます。 リスナーの更新はGAに自動的に同期されません。 GAコンソールでリスナー情報を手動で管理する必要があります。

GAを有効にした後、ALBのアクセス制御ポリシーが有効にならないのはなぜですか。

GAを有効にすると、高速化ドメイン名はGAインスタンスのドメイン名になります。 その結果、ALB制御ポリシーは有効になりません。

IPアドレスからのアクセスを制御するには、GAインスタンスのアクセス制御ポリシーを設定します。 詳細は、「GAアクセス制御」をご参照ください。

関連ドキュメント

デフォルトでは、クロスボーダー通信は高速化にプレミアム帯域幅を使用します。 より高いネットワーク品質が必要な場合は、China UnicomのクロスボーダーExpress Connect回路を使用してください。 詳細については、「GAリソースの選択と購入」をご参照ください。