概要
概要
本トピックでは、クロスリージョンおよびクロスボーダー環境におけるクライアントとサーバー間の通信について、ネットワークレイヤーでのアクセラレーションソリューションを構築する方法を説明します。このアクセラレーションソリューションは、クライアントとサーバー間のネットワーク遅延を低減し、ユーザー体験を向上することを目的としています。ゲームサービス、多国籍企業、クロスボーダー E コマースプラットフォーム、および海外市場への展開を検討しているアプリケーションにおいて発生する、読み込みが遅い、または読み込みに失敗するといった課題を解決します。
背景情報
「アクセラレーション」という用語は一般的ですが、ビジネスシナリオによってその効果や影響が異なります。適切に設計すれば、ユーザー体験や業務効率を大幅に向上させることができますが、逆に不適切な設計ではユーザー体験を損なう可能性もあります。そのため、シナリオに応じた適切なネットワークアクセラレーションソリューションを設計することが極めて重要です。アクセラレーションソリューションには以下の種類があります。
コンテンツ配信アクセラレーション:コンテンツ配信ネットワーク (CDN) や動的コンテンツ配信ネットワーク (DCDN) の技術を活用し、コンテンツをユーザーに近いポイントオブプレゼンス (PoP) に分散・キャッシュします。
サーバーサイドアクセラレーション:プログラムの最適化やデータ補償などの対策により、サーバーサイドのアルゴリズムを強化します。
クライアントサイドアクセラレーション:Wi-Fi、4G、5G ネットワークなど複数のパスの中からトラフィックを最適な「ラストマイル」パスにスケジュールするマルチパスなどのソリューションを活用します。
クライアントとサーバー間の中間アクセラレーション:接続におけるデータ配信距離を短縮する、または伝送品質を向上させます。
データ配信距離を短縮する最も効果的な方法は、業務システムをユーザーよりも近くにデプロイすることです。もう一つの手段として、コンテンツ配信に CDN 技術を活用します。頻繁にアクセスされる静的コンテンツを PoP 上にキャッシュすることで、近隣からのアクセスを可能にします。
接続の伝送品質を向上させるには、より安定性が高く、遅延が低い接続にリクエストをスケジュールします。これにより、クライアントのリクエストがより高速でサーバーに到達します。本トピックでは、このシナリオに焦点を当てて設計を説明します。
アクセラレーションソリューションの中核となるサービスとして、Global Accelerator (GA) の利用を推奨します。また、ビジネス要件に応じて、GA を Anti-DDoS、Web Application Firewall (WAF)、Alibaba Cloud CDN、Alibaba Cloud DNS と組み合わせることで、ソリューションをさらに最適化できます。
アクセラレーションソリューションの中核となる GA は、近隣アクセスを提供し、安定した接続経由で宛先サーバーへトラフィックをインテリジェントにスケジュールします。GA はレイヤー 4(TCP および UDP)サービスとレイヤー 7(HTTP および HTTPS)サービスをサポートしています。オリジンサーバーが Alibaba Cloud 上にデプロイされているかどうかに関わらず、GA を使用してネットワークアクセスをアクセラレートできます。
よくある質問
GA とは何か:インターネット経由でのユーザーからサービスへのアクセスは、多くの要因の影響を受ける可能性があります。GA はリクエストを Alibaba Cloud 内部ネットワーク経由でルーティングすることで、中間接続の信頼性を高め、アクセスの安定性を向上させ、ネットワーク遅延を低減します。
サーバーサイドの変更が必要か:サーバーサイドのプログラムを変更する必要はありません。GA インスタンスのエンドポイントグループを設定する際に、オリジンサーバーが外部サービスを提供するために使用しているパブリック IP アドレスまたはドメイン名を指定するだけで済みます。オリジンサーバーが Alibaba Cloud 上にデプロイされている場合は、Alibaba Cloud リソースを直接使用できます。
近隣アクセスの仕組み:GA は各加速リージョンに対して自動的にローカル BGP IP アドレスを割り当てます。また、各 GA インスタンスには自動的に正規名 (CNAME) が割り当てられます。GA インスタンスの A レコードまたは CNAME レコードを変更することで、ネットワークトラフィックを切り替えることができます。
インテリジェントスケジューリングの仕組み:GA には組み込みのスケジューリングシステムが備わっています。プロトコルとポートを指定すると、GA はエンドポイントグループへのトラフィック転送に最適なルートを自動的に選択します。GA は、さまざまなビジネスシナリオの要件を満たすために、インテリジェントルーティングとカスタムルーティングをサポートしています。
詳細については、「Global Accelerator とは」をご参照ください。
設計原則
ネットワークアクセラレーションソリューションの鍵はアクセスのアクセラレーションです。そのため、本ソリューションの設計では、ソリューションに起因する問題を回避するためにさまざまな要素を考慮しています。本設計は、安定性、セキュリティ、パフォーマンス、可観測性に重点を置き、シンプルかつ効率的なアクセラレーションを実現することを目的としています。
主要設計
安定性
安定性に関する多くの要素は、GA サービス自体で考慮されています。ただし、複数のサービスを組み合わせて統合する際には、安定性に注意を払う必要があります。
GA はエンドツーエンドの高信頼性をサポートしています。
加速リージョンを作成すると、GA コンソール上には 2 つのパブリック IP アドレスのみが表示されますが、実際にはクラスターが作成され、これらのパブリック IP アドレスに対して BGP が有効化されています。
加速リージョンは Alibaba Cloud 内部ネットワーク経由でエンドポイントグループに接続されます。GA は複数のルートの中から最適なルートを自動的に選択します。
エンドポイントグループはクラスターとしてデプロイされ、データ転送の安定性を確保します。
アクセラレーションソリューションを設計する際には、以下の点に注意してください。
アクセラレート接続と非アクセラレート接続の切り替え方法:
クライアントがドメイン名経由でサーバーにアクセスする場合、CNAME レコードを設定し、加速リージョンでフェールオーバーを有効化することを推奨します。A レコードを使用する場合は、DNS サービスがリージョンに基づくインテリジェントパースをサポートしていることを確認し、近隣アクセスを実現できるようにしてください。CNAME レコードは A レコードよりも速やかに反映されます。また、DNS レコードおよびブラウザキャッシュ設定に適切な存続時間 (TTL) を指定してください。
クライアントがパブリック IP アドレス経由でサーバーにアクセスし、クライアント側にアプリがインストールされている場合は、オリジンサーバーのプリセットパブリック IP アドレスを変更するために、新しいバージョンまたはパッチパッケージをリリースすることを推奨します。クライアント側にアプリがインストールされていない場合は、GA 加速リージョンに割り当てられたパブリック IP アドレスを直接変更してください。
オリジンサーバーサービスのデプロイメント:
オリジンサーバーが Alibaba Cloud 上にデプロイされている場合は、サーバーをクラスターとしてデプロイし、ビジネスプロトコルに応じて適切な Server Load Balancer (SLB) サービスを使用してクラスターシステムを構築することを推奨します。バックエンドサーバーはゾーンをまたいでデプロイしてください。ビジネスが極めて重要である場合は、異なるリージョンのクラスターをまたいでサーバーをデプロイし、GA で重みに基づくトラフィックスケジューリングを設定することを推奨します。
オリジンサーバーが Alibaba Cloud 外にデプロイされている場合も、業務システムをクラスターとしてデプロイすることを推奨します。また、IP ホワイトリストおよびヘルスチェックの構成にも注意を払ってください。まず、オリジンサーバーが送信元 IP アドレスからのアクセスを制限しているかどうかを確認してください。制限している場合は、GA コンソールでエンドポイントグループのパブリック IP アドレスを取得し、ホワイトリストに追加してください。次に、エンドポイントグループのヘルスチェックを有効化し、オリジンサーバーの可用性をリアルタイムでプローブすることを推奨します。これを行わないと、利用不可のオリジンサーバーがリクエストに応答できない可能性があります。
セキュリティ
GA アクセラレーションソリューションにおけるセキュリティ設計は、主にオリジンサーバーのタイプおよびビジネス要件によって決まります。ウェブサイトを GA でアクセラレートする場合は、GA と WAF を組み合わせてください。ゲームサービスを GA でアクセラレートする場合は、GA と Anti-DDoS を組み合わせてください。ビジネスのトラフィックパターン、転送パス、セキュリティ要件に応じて、GA を他のサービスと組み合わせることができます。代表的な構成は以下のとおりです。
クライアント → DDoS → GA → WAF → サーバー
DDoS 攻撃および Web 攻撃を受けやすい多国籍企業やクロスボーダー E コマースプラットフォームに最適です。トラフィックはアクセラレーション前に Anti-DDoS でフィルタリングされ、その後 WAF でスクラブされてオリジンサーバーに転送されます。
クライアント → GA → WAF → サーバー
Web 攻撃を受けやすく、ユーザーが分散しているクロスボーダー E コマースプラットフォームやウェブサイトに最適です。トラフィックは WAF でスクラブされる前にアクセラレーションされ、その後オリジンサーバーに転送されます。
クライアント → WAF → GA → サーバー
Web 攻撃を受けやすく、ユーザーが地理的に集中しているクロスボーダー E コマースプラットフォームやウェブサイトに最適です。トラフィックはアクセラレーション前にスクラブされ、その後オリジンサーバーに転送されます。
クライアント → DDoS → GA → サーバー
DDoS 攻撃を受けやすいゲームサービスやアプリケーションに最適です。DDoS 対策がアクセラレーション前に行われ、その後トラフィックがオリジンサーバーに転送されます。
パフォーマンスとスケーラビリティ
GA アクセラレーションソリューションにおいて、重要な要素はアクセラレーション効果です。ソリューションを設計する際には、以下の点に注力してください。
加速リージョン:ユーザーに近く、かつ大容量ノードに近い加速リージョンを選択してください。大容量ノードとは、仕様およびネットワーク品質が高いノードを指します。たとえば、ユーザーがフィリピンおよびシンガポールに近い場合は、インターネットハブであり、ネットワークインフラストラクチャリソースも豊富なシンガポールを選択してください。
帯域幅容量:スムーズなデータ伝送を確保しつつ、トラフィックスパイクにも耐えられるように、帯域幅使用率を 70 % 程度に抑えることを推奨します。
GA インスタンスタイプおよび課金方法:
ビジネスに高いスケーラビリティが求められ、トラフィックの変動が大きい場合は、従量課金方式の利用を推奨します。この課金方式では、帯域幅リソースに対して CU 単位課金方式およびトラフィック課金方式がサポートされています。CU 単位課金方式を使用する場合、加速リージョン内のクラスター容量はトラフィック量に応じて自動的にスケーリングされます。トラフィック課金方式を使用する場合、加速リージョンへのインターネットトラフィック、加速リージョンとエンドポイントグループ間のクロスリージョン内部トラフィック、およびエンドポイントグループからのインターネットトラフィックが、データ転送料に基づいて自動的に課金されます。ピーク時のビジネス要件に基づいて加速リージョンの最大帯域幅を指定するだけで済みます。ピーク時のスケーリングパフォーマンスを確保するために、十分な帯域幅リソースを予約しておく必要があります。
ビジネスのトラフィック変動が小さい場合は、サブスクリプション課金方式の選択を推奨します。ビジネスの同時接続数および帯域幅要件に基づいて、GA インスタンスタイプおよび帯域幅プランを選択できます。
可観測性
GA を使用してアクセスをアクセラレートする際には、アクセラレーション効果およびアクセストラフィック量を監視し、運用管理 (O&M) およびオーケストレーションを実施する必要があります。GA および連携するサービスは、コンソール上で帯域幅の折れ線グラフ、アクセスログ、操作ログなどのモニタリングおよび O&M 機能をサポートしています。O&M を自動化したい場合は、CloudMonitor を有効化し、モニタリングおよびアラートを設定してください。帯域幅課金を使用している場合は、帯域幅使用率に対してしきい値トリガー型のアラートルールを設定できます。帯域幅使用率が指定されたしきい値に達するとアラートがトリガーされ、O&M エンジニアに通知されます。これにより、ビジネス損失を防ぐために迅速に帯域幅を増強できます。
自動 O&M:CloudMonitor を有効化し、アラートルールを設定して、加速リージョンおよびエンドポイントグループのメトリック(インバウンドおよびアウトバウンド帯域幅の変化、インバウンドおよびアウトバウンドパケット損失率、インバウンドおよびアウトバウンドパケットレート、インバウンドおよびアウトバウンド帯域幅使用率など)を監視できます。メトリックが指定されたしきい値に達したときにトリガーされるしきい値トリガー型アラートを設定できます。
トラブルシューティング:GA の操作ログでユーザーの誤操作を確認したり、アクセスログを分析してアクセス不能の問題を特定したり、CloudMonitor でトンネル遅延(加速リージョンとエンドポイントグループ間の遅延)を観測して転送効果を評価したりできます。
利用シーン
ゲームサービス
ゲームサービスはリアルタイムインタラクションに対する要件が高いため、多くの場合、異なるリージョンのサーバー間、または同一ディストリクト内のサーバー間にまたがってデプロイされています。どのデプロイメントモードを採用しても、ゲームサービスはスムーズなユーザー体験とリアルタイムインタラクションを非常に重視します。すべてのゲームサービスの中で、マルチプレイヤーオンラインバトルアリーナ (MOBA) ゲームおよびシューティングゲームは、ネットワーク遅延に対する要件が最も厳しくなります。ゲームのデプロイメントアーキテクチャの観点から見ても、同一ディストリクト内のサーバーにゲームをデプロイする場合でも、ネットワークレイヤーで遅延を補償する必要があります。
オリジンサーバーが Alibaba Cloud 上または外部にデプロイされているかどうかに関わらず、GA を使用してプラットフォームサーバー、MOBA ゲームサーバー、レイヤー 4(TCP および UDP)、およびレイヤー 7(HTTP および HTTPS)のビジネス向けネットワークアクセスをアクセラレートできます。また、ビジネス要件に応じて、GA を Anti-DDoS、WAF、CDN、DNS と組み合わせてソリューションを最適化できます。
GA インスタンスには従量課金方式および CU 単位課金方式、クロスリージョン帯域幅リソースにはトラフィック課金方式の利用を推奨します。トラフィック変動が大きいシナリオでは、各加速リージョンに割り当てる帯域幅リソース量を計算する必要がなく、GA がトラフィックパターンに自動的に適応します。
ただし、カードゲーム、e スポーツ、5v5 MOBA ゲームなどでは、多数の IP アドレスに対して同じポートが使用されることがあります。このようなゲームでは、GA のカスタムルーティングポリシーを設定してアクセラレーションパフォーマンスを最適化し、ユーザー体験を向上させることを推奨します。
多国籍企業
海外市場に進出する中国企業や、中国市場に進出する外国企業は、国境を越えてメールサービス、オフィスオートメーション (OA) システム、エンタープライズリソースプランニング (ERP) システムを利用することが課題となる場合があります。従業員は業務効率を確保するために、オフィスシステムからの迅速な応答を求めています。しかし、業務データは機密性が高いため、インターネット経由のデータ伝送は選択肢になりません。VPN ゲートウェイの利用は代替手段となりますが、地理的な距離が長いため、接続速度やダウンロード・アップロード速度が遅くなる可能性があり、業務効率およびユーザー体験が低下します。
従業員に近い加速リージョンを選択してください。トラフィック量が比較的安定しており、変動が小さい場合は、コスト効率に優れた帯域幅課金方式の利用を推奨します。
また、業務効率を維持しながらデータセキュリティを向上させるために、GA を WAF などのセキュリティサービスと組み合わせることができます。
クロスボーダー E コマース
近年、消費者は最良の取引を求めてショッピングを行う傾向があります。一部の E コマースビジネスは特定の市場セグメントに特化し、高品質な商品で顧客を惹きつけています。しかし、一部の顧客はウェブサイトサーバーから地理的に離れており、クロスボーダートランザクションが必要になる場合があります。このようなシナリオでは、インターネット品質が低いためユーザー体験が劣化する可能性があります。ユーザー体験の劣化に加えて、注文や支払いの誤りなどの問題が発生し、大きなトラブルを引き起こす可能性があります。
お客様の分布に基づいて GA インスタンスに加速リージョンを追加してください。また、ウェブサイトのトラフィックパターンに基づいて適切な課金方法を選択してください。ウェブサイトのトラフィック変動が小さい場合は、帯域幅課金方式の選択を推奨します。トラフィック変動が大きい場合は、トラフィック課金方式の選択を推奨します。
E コマースプラットフォームには、画像やテキストなどの静的コンテンツと、動画や在庫更新データなどの動的コンテンツが含まれます。アクセラレーションパフォーマンスを向上させるために、静的コンテンツを Alibaba Cloud CDN の PoP 上にキャッシュし、GA を使用して動的コンテンツをオリジンサーバーからフェッチできます。
海外市場に進出するアプリ
モバイル技術の発展に伴い、アプリはスマートフォンの不可欠な一部となっています。旅行や海外勤務などの理由で居住地を離れた場合でも、一部のアプリを引き続き使用する必要があるかもしれません。
アプリログインのヒートマップに基づいて GA インスタンスの加速リージョンを選択できます。ユーザーがアプリサーバーに接続しようとすると、GA はユーザーの位置に基づいてアクセラレートされた IP アドレスを返します。その後、ユーザーはアクセラレーション回線経由でアプリサーバーとやり取りを行い、ユーザー体験が向上します。
Terraform リファレンス
GA による WAN アクセラレーション
項目 | リファレンス |
Terraform モジュールの Web サイト | |
GitHub URL | |
サンプル |
コーディング手順:
GA インスタンスおよび Elastic IP アドレス (EIP) を作成します。
GA インスタンスを設定して EIP をアクセラレートし、リージョンごとに最大帯域幅を指定します。
必要なリソース:
GA インスタンス × 1
EIP × 2
GA によるゲームプラットフォームアクセラレーション
項目 | リファレンス |
Terraform モジュールの Web サイト | |
GitHub URL | |
サンプル |
コーディング手順:
GA インスタンスを作成します。仮想プライベートクラウド (VPC) および vSwitch を作成します。Application Load Balancer (ALB) インスタンスを作成し、Elastic Compute Service (ECS) インスタンスを ALB インスタンスのバックエンドサーバーとして追加します。
GA インスタンスを設定して ALB インスタンスをアクセラレートします。
必要なリソース:
GA インスタンス × 1
VPC × 1
vSwitch × 2
ALB インスタンス × 1
ECS インスタンス × 2