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

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

最終更新日:Dec 10, 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は、次のようなシナリオで、複数のリージョンのグローバルユーザーからのアクセスを高速化するのに理想的です。

  • ゲームプラットフォームの高速化: ログオンシステムや電子商取引システムなどのゲームプラットフォームは、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
  • ドメイン名が登録され、ドメイン名のためのインターネット・コンテンツ・プロバイダ (ICP) 番号が取得される。 ALBインスタンスのCNAMEレコードが作成されます。 詳細については、「ジェネリックドメイン名の登録」、「ICP登録プロセス」、および「ALBインスタンスへのCNAMEレコードの追加」をご参照ください。

  • リスナーが作成されます。 詳細については、「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: CNAMEレコードをGAインスタンスに追加する

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

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

説明

ドメイン名がAlibaba Cloudドメインを使用して登録されていない場合、DNSレコードを設定する前にドメイン名をAlibaba Cloud DNSに追加する必要があります。 詳細については、「ドメイン名の管理」をご参照ください。 ドメイン名がAlibaba Cloudドメインを使用して登録されている場合は、次の手順を実行します。

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

  2. [権限のあるドメイン名] ページで、管理するドメイン名を見つけ、[操作] 列の [DNS設定] をクリックします。

  3. On theDNS設定ドメイン名の詳細ページのタブをクリックし、DNSレコードの追加.

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

    項目

    説明

    レコードタイプ

    DNSレコードのタイプ。 この例では、ドロップダウンリストからCNAMEが選択されています。

    ホスト名

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

    説明

    ルートドメイン名を使用する場合は、@ と入力します。

    DNSリクエストソース

    ドメイン名訪問者がいるリージョンと、ドメイン名訪問者が使用するキャリアネットワーク。 この例では、デフォルトが選択されています。

    レコード値

    ドメイン名のCNAME。 この例では、CNAMEはGAインスタンスのドメイン名です。

    TTL

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

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

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

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

    1. ブラウザから http://<GA 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]://<GA 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.006

    0.162

    0.156秒速く

    速度が96.3% 増加

    time_starttransfer

    0.008

    0.320

    0.312秒速く

    速度が97.5% 増加

    time_total

    0.008

    0.321

    0.313秒速く

    速度が97.5% 増加

    説明

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

次に何をすべきか

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

[統合サービス] タブの [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リソースの選択と購入」をご参照ください。