Application Load Balancer (ALB) にデプロイされたサービスがグローバルユーザーにアクセス可能な場合、インターネット品質の低下に起因する高いネットワーク遅延、ネットワークジッター、パケット損失によってユーザーエクスペリエンスが影響を受ける可能性があります。これらの問題に対処するために、ALB を Global Accelerator (GA) と統合して、ユーザーリクエストを最寄りのアクセスポイントにルーティングし、そこから Alibaba Cloud の内部ネットワークを介してサーバーにリクエストを転送できます。
利用シーン
ある企業が中国 (杭州) リージョンで ALB 上に高可用性サービスをデプロイし、そのサービスは複数のリージョンのグローバルユーザーにアクセス可能です。越境インターネット接続の品質が低いため、一部のユーザーは高いネットワーク遅延を経験しています。
これらの問題に対処するため、同社は ALB と GA を併用してユーザーリクエストを最寄りのアクセスポイントにルーティングし、ユーザーエクスペリエンスを大幅に向上させています。
前提条件
ALB インスタンスが作成され、管理されていること。詳細については、「ALB インスタンスの作成と管理」をご参照ください。
ALB インスタンス用にサーバーグループが作成されていること。詳細については、「サーバーグループの作成と管理」をご参照ください。
2 つの Elastic Compute Service (ECS) インスタンスがサーバーグループに追加され、アプリケーションが ECS インスタンスにデプロイされていること。この例では、ECS インスタンスは ECS01 と ECS02 と名付けられています。
この例では、Alibaba Cloud Linux 3 オペレーティングシステムが使用されます。NGINX を使用して、ポート 80 を使用するバックエンド HTTP サービスを設定します。
カスタムドメイン名を登録し、ICP 登録を完了し、ドメイン名が ALB インスタンスを指すように CNAME レコードを設定していること。
ALB インスタンス用にHTTP リスナーまたはHTTPS リスナーが作成されていること。HTTPS リスナーを使用する場合は、証明書を作成してリクエストするか、サードパーティの証明書を SSL Certificate Service にアップロードし、カスタムドメイン名をアタッチする必要があります。
操作手順
以下のいずれかの方法を使用して、ALB バックエンドアプリケーションを高速化するように GA を設定できます。
GA コンソールで ALB をバックエンドサービスとして追加します。カスタムの GA 設定を使用できます。
ALB コンソールで GA を設定します。この方法は、ALB アプリケーションを効率的に高速化したいユーザーに適しています。
GA コンソールでのバックエンドサービスとしての ALB の追加
ステップ 1:GA インスタンスの基本情報の設定
この例では、従量課金の標準 GA インスタンスが使用されます。
Global Accelerator コンソールのページで、[標準従量課金インスタンスの作成]をクリックします。
[基本インスタンス設定] ステップで、基本情報を設定し、[次へ] をクリックします。

ステップ 2:加速エリアの設定
[加速エリアの設定] ステップで、加速リージョンを追加し、そのリージョンに帯域幅を割り当ててから、[次へ] をクリックします。
このトピックでは、米国 (シリコンバレー) リージョンを例として使用します。[加速エリア] パラメーターは 米国 (シリコンバレー) に設定され、[ISP 回線タイプ] パラメーターは BGP (マルチ ISP) に設定されます。その他の加速エリアパラメーターについては、デフォルト値のままにするか、必要に応じて変更できます。
ステップ 3:リスナーの設定
[リスナーの設定] ステップで、転送プロトコルとポートを設定し、[次へ] をクリックします。
このシナリオでは、[プロトコル] は HTTP に設定され、[ポート] は 80 に設定されます。その他のリスナー設定については、デフォルト値を使用するか、必要に応じて変更できます。
UDP リスナーは、エンドポイントとして ALB インスタンスをサポートしていません。

ステップ 4:エンドポイントグループとエンドポイントの設定
[エンドポイントグループの設定] ステップで、エンドポイントのバックエンドサービスを設定し、[次へ] をクリックします。
この例では、[リージョン] を 中国 (杭州) に、[バックエンドサービスタイプ] を ALB に、[バックエンドサービス] をターゲットの ALB インスタンスに設定します。次に、[越境データ転送に関するコンプライアンスコミットメント] を読み、選択します。その他のエンドポイントグループパラメーターについては、デフォルト値を使用するか、必要に応じて変更できます。


[設定の確認] ページで、Global Accelerator の設定を確認し、[送信] をクリックします。
ステップ 5:CNAME レコードの設定
CNAME レコードを設定して、サービスドメイン名を GA インスタンスによって割り当てられた CNAME にマッピングします。これにより、サービスへのアクセスが高速化されます。
すでに ALB インスタンスを指す CNAME レコードを作成している場合は、GA インスタンスを指す CNAME レコードを追加する際に、北米_米国を指定できます。CNAME レコードが期待どおりに機能する場合、その CNAME レコードを他のリージョンに適用するか、GA インスタンスを指す CNAME レコードのみを保持します。
[ドメイン名解決] ページで、ターゲットのカスタムドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。
説明Alibaba Cloud に登録されていないドメイン名の場合、DNS レコードを設定する前に、ドメイン名を Alibaba Cloud DNS コンソールに追加する必要があります。
[DNS 設定] ページで、[DNS レコードの追加] をクリックし、CNAME レコードを設定してから、[OK] をクリックします。
このシナリオでは、[レコードタイプ] は CNAME に、[ホストレコード] は www に、[DNS リクエストソース] は米国、北米に、[レコード値] は GA インスタンスの CNAME に設定されます。その他の DNS レコードパラメーターについては、デフォルト値のままにするか、必要に応じて変更できます。

ステップ 6:加速性能の検証
この例では、インターネット向けの ALB インスタンス、バックエンドサーバーが中国 (杭州) リージョンにデプロイされている GA インスタンス、および米国のクライアントが使用されます。
GA が有効になった後のネットワーク遅延をテストします。
バックエンドサービスは、ブラウザから
http://<カスタムドメイン名>でアクセスできます。ブラウザを複数回更新します。リクエストは ECS01 と ECS02 の間で分散されます。curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<カスタムドメイン名>"コマンドを実行して、高速化後のネットワーク遅延を確認します。次の図に応答を示します。

GA が有効になる前のネットワーク遅延をテストします。
ブラウザから
http://<カスタムドメイン名>にアクセスします。バックエンドサービスはアクセス可能です。ブラウザを複数回更新します。リクエストは ECS01 と ECS02 の間で分散されます。curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<カスタムドメイン名>"コマンドを実行して、高速化前のパケット遅延を確認します。次の図に応答を示します。

加速性能の比較:データパラメーターの説明
time_connect:TCP 接続の確立に必要な時間。単位:秒。
time_starttransfer:データ転送の開始時間。開始時間とは、クライアントがバックエンドサーバーにリクエストを送信してから、最初のバイトがクライアントに送信されるまでの時間を指します。単位:秒。
time_total:合計接続時間。合計接続時間とは、クライアントがリクエストを送信してから、バックエンドサーバーから最後のバイトを受信するまでの期間を指します。単位:秒。
パラメーター
GA 高速化後 (単位:秒)
GA 高速化前 (単位:秒)
加速性能 (単位:秒)
加速性能 (単位:パーセンテージ)
time_connect
0.008
0.017
0.009 の改善
52.9% 向上
time_starttransfer
0.207
0.427
0.220 の改善
51.5% 向上
time_total
0.207
0.427
0.220 の改善
51.5% 向上
説明このトピックの例とデータは参照用です。ご利用のサービスでの実際の加速性能が優先されます。
さらに、またはワンタイムプローブツールを使用できます。GA では、接続テストツールを使用してカスタムドメイン名の加速効果をテストし、応答時間を確認してデータ遅延を把握します。
ALB コンソールでの GA の設定
ALB は GA と統合されています。ALB コンソールで GA を有効にできます。これにより、GA の設定が簡素化されます。
制限事項
各 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 アドレスを表示するにはどうすればよいですか?」をご参照ください。
ステップ 1:ALB インスタンスのアプリケーション高速化の有効化
ALB コンソールにログインします。
上部のナビゲーションバーで、ALB インスタンスがデプロイされているリージョンを選択します。
[インスタンス] ページで、管理したいインスタンスの ID をクリックします。
[統合サービス] タブで、[GA の作成] をクリックします。
[GA のアクティブ化]:ご利用の Alibaba Cloud アカウント内で GA がアクティブ化されていない場合は、利用規約を読み、選択して GA をアクティブ化します。
[加速エリア]:[加速エリア] ドロップダウンリストをクリックして、加速エリアを選択します。クライアントが所在するリージョン、またはクライアントに最も近いリージョンを GA インスタンスの加速リージョンとして選択できます。加速エリアは Alibaba Cloud リージョンのコレクションです。各加速エリアには 1 つ以上の Alibaba Cloud リージョンが含まれます。
説明加速エリアに中国本土のリージョンが含まれている場合、またはバックエンドサーバーが中国本土にデプロイされている場合は、ドメイン名の ICP 登録を申請する必要があります。
加速エリアとオリジンサーバーが越境してデプロイされている場合は、[越境データ転送に関するコンプライアンスコミットメント] を読み、選択します。デフォルトでは、越境通信はプレミアム帯域幅を使用して高速化されます。
設定が完了したら、[OK] をクリックします。
重要初めて GA を有効にすると、すべての ALB リスナー情報が GA に同期されます。ただし、リスナー設定の更新は自動的に GA に同期されません。GA コンソールでリスナー設定を手動で更新する必要があります。
ステップ 2:CNAME レコードの追加
CNAME レコードを設定して、サービスドメイン名を GA インスタンスによって割り当てられた CNAME にマッピングします。これにより、サービスへのアクセスが高速化されます。
ALB インスタンスで GA を有効にすると、CNAME を含む GA インスタンス情報が [統合サービス] タブに表示されます。
すでに ALB インスタンスを指す CNAME レコードを作成している場合は、GA インスタンスを指す CNAME レコードを追加する際に、北米_米国を指定できます。CNAME レコードが期待どおりに機能する場合、その CNAME レコードを他のリージョンに適用するか、GA インスタンスを指す CNAME レコードのみを保持します。
[ドメイン名] ページで、ターゲットのカスタムドメイン名を見つけ、[操作] 列の [DNS 設定] をクリックします。
説明Alibaba Cloud に登録されていないドメイン名の場合、DNS レコードを設定する前に、まず ドメイン名を Alibaba Cloud DNS コンソールに追加する必要があります。
[DNS 設定] ページで、[レコードの追加] をクリックし、CNAME レコードを設定してから、[OK] をクリックします。
この例では、[レコードタイプ] は CNAME に、[ホストレコード] は www に、[DNS リクエストソース] は米国、北米に、[レコード値] は GA インスタンスの CNAME に設定されます。DNS レコードを追加するためのその他のパラメーターについては、デフォルト値を使用するか、必要に応じて変更できます。

ステップ 3:加速性能の検証
この例では、インターネット向けの ALB インスタンス、バックエンドサーバーが中国 (杭州) リージョンにデプロイされている GA インスタンス、および米国のクライアントが使用されます。
GA が有効になった後のネットワーク遅延をテストします。
バックエンドサービスは、ブラウザから
http://<カスタムドメイン名>でアクセスできます。ブラウザを複数回更新します。リクエストは ECS01 と ECS02 の間で分散されます。curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<カスタムドメイン名>"コマンドを実行して、高速化後のネットワーク遅延を確認します。次の図に応答を示します。

GA が有効になる前のネットワーク遅延をテストします。
ブラウザから
http://<カスタムドメイン名>にアクセスします。バックエンドサービスはアクセス可能です。ブラウザを複数回更新します。リクエストは ECS01 と ECS02 の間で分散されます。curl -o /dev/null -s -w "time_connect: %{time_connect}\ntime_starttransfer: %{time_starttransfer}\ntime_total: %{time_total}\n" "http[s]://<カスタムドメイン名>"コマンドを実行して、高速化前のパケット遅延を確認します。次の図に応答を示します。

加速性能の比較:データパラメーターの説明
time_connect:TCP 接続の確立に必要な時間。単位:秒。
time_starttransfer:データ転送の開始時間。開始時間とは、クライアントがバックエンドサーバーにリクエストを送信してから、最初のバイトがクライアントに送信されるまでの時間を指します。単位:秒。
time_total:合計接続時間。合計接続時間とは、クライアントがリクエストを送信してから、バックエンドサーバーから最後のバイトを受信するまでの期間を指します。単位:秒。
パラメーター
GA 高速化後 (単位:秒)
GA 高速化前 (単位:秒)
加速性能 (単位:秒)
加速性能 (単位:パーセンテージ)
time_connect
0.008
0.017
0.009 の改善
52.9% 向上
time_starttransfer
0.207
0.427
0.220 の改善
51.5% 向上
time_total
0.207
0.427
0.220 の改善
51.5% 向上
説明このトピックの例とデータは参照用です。ご利用のサービスでの実際の加速性能が優先されます。
さらに、またはワンタイムプローブツールを使用できます。GA では、接続テストツールを使用してカスタムドメイン名の加速効果をテストし、応答時間を確認してデータ遅延を把握します。
よくある質問
どのようなタイプの GA インスタンスが作成されますか?
従量課金の標準 GA インスタンスが作成されます。
GA を有効にした後、追加料金は発生しますか?
GA を有効にすると、GA 料金が請求されます。GA 料金には、GA インスタンス料金、容量単位 (CU) 料金、データ転送料金が含まれます。詳細については、「従量課金 GA インスタンスの課金」をご参照ください。
ALB リスナーを追加した後、なぜそのリスナーで GA が有効にならないのですか?
ALB リスナー情報は、初めて GA を有効にしたときにのみ GA に同期されます。リスナーの更新は自動的に GA に同期されません。GA コンソールでリスナー情報を手動で管理する必要があります。
GA を有効にした後、ALB のアクセス制御ポリシーが有効にならないのはなぜですか?
GA を有効にすると、高速化ドメイン名は GA インスタンスのドメイン名になります。その結果、ALB の制御ポリシーは有効になりません。
IP アドレスからのアクセスを制御するには、GA インスタンスのアクセス制御ポリシーを設定します。詳細については、「GA アクセス制御」をご参照ください。