Global Accelerator (GA) は、これらのアプリケーションを高速化し、複数リージョンにまたがる負荷分散と高可用性ディザスタリカバリを提供します。
背景情報
ある金融会社は、本社を米国 (シリコンバレー) リージョンに、支社を米国 (バージニア) リージョンに置いています。対応する Alibaba Cloud リージョンに、Elastic Compute Service (ECS) インスタンスである ECS01 と ECS02 上でアプリケーションをデプロイしています。会社のクライアントは主に中国 (香港) および日本 (東京) リージョンに所在しています。重要なアプリケーションの継続的な運用を確保し、サービス中断による潜在的な損失を最小限に抑えるため、同社には以下の信頼性要件があります。
-
米国 (シリコンバレー) の本社でインシデントが発生した場合、トラフィックを米国 (バージニア) リージョンの支社システムに迅速にフェイルオーバーする必要があります。
-
クロスリージョンでの不安定なパブリックネットワーク接続によって引き起こされる遅延、ジッター、パケット損失などの問題を軽減します。
Global Accelerator インスタンスを作成し、日本 (東京) と中国 (香港) を加速エリアとして設定できます。次に、米国 (シリコンバレー) と米国 (バージニア) リージョンのアプリケーションサーバーをそれぞれエンドポイントグループ 1 とエンドポイントグループ 2 として追加します。GA は、各エンドポイントグループのスケジューリング優先度とトラフィック分散設定に基づいてインテリジェントにトラフィックを分散し、複数リージョンでの負荷分散を実現します。
各エンドポイントグループにヘルスチェックを設定できます。本社のシステムがヘルスチェックに失敗した場合、GA は新しいリクエストを自動的に正常な支社システムにルーティングします。本社のシステムが再び正常になると、GA は自動的にトラフィックのルーティングを再開します。このアーキテクチャは、クロスリージョンアプリケーションに高可用性を提供し、ネットワーク遅延を削減します。
さらに、GA インスタンスによって提供される CNAME を使用して DNS 設定を構成できます。GA の CNAME アドレスは、リージョンベースの名前解決を使用して、異なるリージョンのエンドユーザーに最適な高速化 IP アドレスを返します。これにより、DNS 名前解決の遅延が短縮され、アプリケーションのアクセス速度が向上します。
前提条件
-
米国 (シリコンバレー) リージョンの ECS01 と米国 (バージニア) リージョンの ECS02 という ECS インスタンスにバックエンドアプリケーションをデプロイ済みであること。
-
DNS 設定で、アプリケーションのドメイン名が両方のバックエンドサーバーのパブリック IP アドレスを指すように A レコードを設定済みであること。
このトピックの例では、Nginx を使用してポート 80 にバックエンド HTTP サービスを設定し、Alibaba Cloud DNS を使用して DNS レコードを設定します。
Alibaba Cloud DNS 以外の DNS プロバイダーを使用する場合は、ご利用のプロバイダーの指示に従ってください。
ステップ 1:基本情報の設定
Global Accelerator コンソールにログインします。
インスタンス ページで、標準タイプの従量課金型インスタンスの作成 をクリックします。
インスタンスの基本設定 ステップで、次の表に基づいてパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
GA インスタンス名
GA インスタンスの名前を入力します。
インスタンス課金方法
[従量課金] がデフォルトで選択されています。
従量課金の Global Accelerator インスタンスには、インスタンス料金、CU 料金、および データ転送料金が課金されます。
リソースグループ
スタンダードインスタンスが属するリソースグループを選択します。
リソースグループは、現在の Alibaba Cloud アカウントによって Resource Management で作成されている必要があります。詳細については、「リソースグループの作成」をご参照ください。
ステップ 2:加速エリアの設定
Global Accelerator インスタンスの加速エリアを設定して、ユーザーが所在するリージョンを指定し、バックエンドサービスへのアクセスを高速化するための帯域幅を割り当てます。
[加速エリアの設定] ステップで、次の表に基づいてパラメーターを設定し、[次へ] をクリックします。
|
パラメーター |
説明 |
|
アクセラレーションエリア |
ドロップダウンリストから高速化するリージョンを選択し、[リストに追加] をクリックします。 この例では、[中国 (香港)] と [日本 (東京)] を選択します。 |
|
帯域幅の割り当て |
|
|
帯域幅ピーク値 |
加速エリアの帯域幅を設定します。各加速エリアの帯域幅は 2 Mbps から 10,000 Mbps の範囲で設定できます。 この値はレート制限です。CDT は、結果として生じるデータ転送コストを請求します。 この例では、デフォルト値の 200 Mbps のままにします。 重要
この値がビジネス要件を満たしていることを確認してください。最大帯域幅が低すぎると、レート制限によりトラフィックが破棄される可能性があります。 |
|
IP プロトコル |
Global Accelerator サービスの IP アドレスプロトコルを選択します。 この例では、デフォルト値の [IPv4] のままにします。 |
|
ISP 回線タイプ |
Global Accelerator サービスの ISP 回線タイプを選択します。 この例では、BGP (Multi-ISP) を選択します。 |
ステップ 3:リスナーの設定
リスナーは、指定したポートとプロトコルに基づいて、インバウンドの接続リクエストをチェックし、処理します。各リスナーは 1 つ以上のエンドポイントグループに関連付けられます。エンドポイントグループをリスナーに関連付けると、GA はそのグループ内の最適なエンドポイントにトラフィックをルーティングします。
リスナーの設定 ステップで、リスナーを設定し、[次へ] をクリックします。
このセクションでは、この例に関連するパラメーターのみを説明します。他のパラメーターはデフォルト値のままにすることができます。詳細については、「TCP または UDP リスナーの追加」をご参照ください。
|
パラメーター |
説明 |
|
リスナー名 |
リスナーの名前を入力します。 |
|
ルーティングタイプ |
ルーティングタイプを選択します。 この例では、[スマートルーティング] を選択します。 |
|
プロトコル |
リスナーのプロトコルを選択します。 この例では、[TCP] を選択します。 |
|
ポート |
リクエストを受信し、エンドポイントに転送するために使用されるリスナーポートを指定します。ポート番号は 1 から 65499 の範囲である必要があります。 この例では、80 と入力します。 |
ステップ 4:エンドポイントグループとエンドポイントの設定
米国 (シリコンバレー) リージョンと米国 (バージニア) リージョンにそれぞれ 1 つずつ、合計 2 つのエンドポイントグループを設定して、バックエンドアプリケーションのエンドポイントをホストできます。また、両方のエンドポイントグループにヘルスチェックを設定して、クロスリージョンアプリケーションの高可用性を実現することもできます。
トラフィック分散設定を調整することで、各エンドポイントグループにルーティングされるトラフィックの割合を制御し、ワークロードのバランスをとることができます。
-
米国 (シリコンバレー) リージョンのエンドポイントグループ 1 を設定します。
-
エンドポイントグループの設定 ページで、次の情報でエンドポイントグループ 1 を設定し、次へ をクリックします。
パラメーター
説明
リージョン
エンドポイントグループが配置されているリージョンを選択します。これは、ユーザーリクエストを処理するオリジンサーバーのリージョンです。
この例では、[米国 (シリコンバレー)] を選択します。
説明複数のエンドポイントグループを設定する場合、各グループは一意のリージョンにある必要があります。リージョンごとに設定できるエンドポイントグループは 1 つだけです。
エンドポイント設定
エンドポイントは、クライアントリクエストを処理するサーバーなどの特定のリソースです。次の情報でエンドポイントを設定します。
-
バックエンドサービスタイプ: Alibaba Cloud インターネット IP アドレス を選択します。
重要ヘルスチェックは、VPC 内の ECS インスタンス、Alibaba Cloud パブリック IP、カスタム IP、またはカスタムドメイン名のエンドポイントタイプでサポートされています。エンドポイントタイプが Server Load Balancer インスタンスの場合、エンドポイントグループに設定されたヘルスチェックパラメーターは有効になりません。
-
バックエンドサービス: 高速化するバックエンドサービスの IP アドレスを入力します。この例では、米国 (シリコンバレー) リージョンの ECS01 インスタンスの IP アドレスを入力します。
-
重み: エンドポイントの重みを入力します。値は 0 から 255 までの整数です。GA は、相対的な重みに基づいてエンドポイントにトラフィックをルーティングします。この例では、デフォルト値の 255 のままにします。
警告エンドポイントの重みが 0 に設定されている場合、Global Accelerator はそのエンドポイントへのトラフィックの分散を停止します。注意して進めてください。
クライアント IP の保持
クライアントのソース IP アドレスを保持するかどうかを選択します。
この機能を有効にすると、バックエンドサーバーはクライアントの元の IP アドレスを確認できます。詳細については、「クライアント IP アドレスの保持」をご参照ください。
この例では、デフォルトの選択である [オフ] のままにします。
トラフィックの割り当て
このエンドポイントグループに転送するトラフィックの割合を設定します。
値は 0 から 100 までの整数です。この例では、50 と入力します。
説明トラフィック分散の詳細については、「複数のエンドポイントグループのトラフィック分散の仕組みとそのユースケース」および「トラフィック分散を使用してリージョン間でトラフィックをスムーズに切り替える」をご参照ください。
ヘルスチェック
ヘルスチェックを有効または無効にします。有効にすると、ヘルスチェックがエンドポイントの状態を監視します。
この例では、ヘルスチェックを有効にし、他のパラメーターはデフォルト設定のままにします。
-
-
設定監査 ページで、リスナーとエンドポイントグループ 1 の設定を確認し、送信する をクリックします。
説明Global Accelerator インスタンスの作成には 3〜5 分かかる場合があります。
-
オプション: インスタンスが作成された後、タスク詳細リストの下部にある インスタンスの詳細に移動する をクリックします。インスタンス詳細ページでは、インスタンス情報、リスナー、および アクセラレーションエリア タブで設定を確認できます。
-
-
米国 (バージニア) リージョンのエンドポイントグループ 2 を設定します。
-
インスタンス詳細ページで、リスナー タブをクリックします。
-
リスナー タブで、作成したリスナーを見つけ、デフォルトのエンドポイントグループ 列でエンドポイントグループ ID をクリックします。
-
エンドポイントグループ タブの デフォルトのエンドポイントグループ セクションで、+ エンドポイントグループの追加 をクリックします。
-
エンドポイントグループの追加 ページで、次のパラメーターを設定し、作成済み をクリックします。
-
リージョン: [米国 (バージニア)] を選択します。
-
エンドポイント設定 セクションで、バックエンドサービス に、米国 (バージニア) リージョンの ECS02 インスタンスの IP アドレスを入力します。
他のパラメーター設定は、エンドポイントグループ 1 と同じにします。
-
-
ステップ 5:CNAME 名前解決の設定
本番環境では、カスタムドメイン名を使用します。ドメインが GA インスタンスの CNAME を指すように CNAME レコードを作成することで、アプリケーショントラフィックを GA 経由でルーティングして高速化できます。
このシナリオでは、すでにバックエンドサーバーを指す A レコードがある場合、まず中国 (香港) リージョンの GA を指す CNAME レコードを追加してテストを実行できます。テストが成功した後、日本などの他のリージョンに徐々に拡大するか、GA を指す CNAME レコードのみを使用することができます。
[パブリックゾーン] ページで、使用するドメイン名を見つけ、[操作] 列の [設定] をクリックします。
説明Alibaba Cloud に登録されていないドメイン名の場合は、DNS レコードを設定する前に Alibaba Cloud DNS に追加してください。
[DNS 設定] ページで、[レコードの追加] をクリックし、CNAME レコードを設定してから [OK] をクリックします。
この例では、[レコードタイプ] パラメーターを [CNAME] に、[ホスト名] パラメーターを [www] に、[クエリソース] パラメーターを中国 (香港) に、[レコード値] パラメーターを GA インスタンスの CNAME に設定します。他のパラメーターはデフォルト値を使用するか、必要に応じて変更します。詳細については、「DNS レコードの追加」をご参照ください。

-
CNAME レコードが有効になったことを確認します。
加速リージョンにあるコンピューターでコマンドラインウィンドウを開き、ping コマンドを実行して高速化ドメイン名に ping を実行します。
応答が Global Accelerator の CNAME と一致する値に解決されれば、CNAME レコードは有効です。
ステップ 6:ソリューションのテスト
以下のテストを実行して、クロスリージョンアプリケーションの高速化と高可用性ディザスタリカバリ機能を確認します。
異なるオペレーティングシステムを使用している場合は、適切なコマンドを使用してください。このトピックのテストコマンドは、以下のオペレーティングシステムを対象としています。
-
クライアントオペレーティングシステム: Windows Server 2022。
-
オリジンサーバーオペレーティングシステム: Alibaba Cloud Linux 3。
エンドポイントグループ間の高可用性のテスト
-
米国 (シリコンバレー) のオリジンサーバーをオフラインにすることで、エンドポイントグループの 1 つで障害をシミュレートし、その結果のアクセス動作を観察します。
-
中国 (香港)、日本、およびその他のリージョンにあるコンピューターでブラウザを開きます。
-
アプリケーションのドメイン名を入力して、米国 (シリコンバレー) および米国 (バージニア) リージョンにデプロイされたアプリケーションにアクセスします。
テスト結果は以下の通りです。
-
中国 (香港) リージョンのユーザーの場合、リクエストは米国 (バージニア) リージョンのオリジンサーバーである ECS02 によって処理されます。
-
日本リージョンのユーザーの場合、リクエストは同様に米国 (バージニア) リージョンのオリジンサーバーである ECS02 によって処理されます。
-
-
-
米国 (シリコンバレー) のオリジンサーバーが復旧した後、テストを繰り返し、中国 (香港) および日本リージョンのユーザーのアクセス結果を確認します。
-
中国 (香港) リージョンのユーザーの場合、リクエストは米国 (シリコンバレー) リージョンのオリジンサーバーである ECS01 によって処理されるようになります。
-
日本リージョンのユーザーの場合、リクエストは同様に米国 (シリコンバレー) リージョンのオリジンサーバーである ECS01 によって処理されるようになります。
クライアントリクエストの最終的な解決 (つまり、応答するエンドポイントグループ) は、特定の設定によって異なります。GA が複数の加速エリアとエンドポイントグループで設定されている場合、最終的なルーティング決定は、スケジューリング優先度やトラフィック分散設定などの要因に基づきます。詳細については、「複数のエンドポイントグループのトラフィック分散の仕組みとそのユースケース」をご参照ください。
高速化パフォーマンスのテスト
高速化パフォーマンスをテストするには、「GA の高速化パフォーマンスのテスト」をご参照ください。