COLUMNニューソンコラム

2025.10.02

全世界から高トラフィックなアクセスが予測されるアプリケーションのインフラ構築事例 ~ サーバーレスなマルチリージョン展開・広域な拠点からの性能試験 ~

  • クラウド
  • クラウドネイティブ
  • クラウドインテグレーション
  • AWS
  • CI/CD
  • IaC
  • 自動化
  • サーバーレス
  • モダナイゼーション
  • モダンアプリケーション
  • マルチリージョン

本コラムでは、当社が開発に携わったクラウドインテグレーション案件の事例として、仮想現実体験アプリケーションのインフラ領域におけるクラウドネイティブ開発の取り組みをご紹介します。

対象となるアプリケーションは、全世界のユーザ向けのものとなっており、日本のユーザだけでなく、海外のユーザからのトラフィックも多く予想されるアプリケーションです。リリース前の予測段階で、ピーク時には同時接続数10万人を想定する必要がありました。

本事例では、全世界からの大量のリクエストを、低遅延でレスポンスする必要がある課題に対して、高トラフィック対応、目標値以内のレスポンス速度、可用性重視の設計が求められました。これに対し、クラウドの特性を最大限活かしたサーバーレス構成を採用しつつ、マルチリージョン展開することで実現しています。マルチリージョン展開は比較的珍しい構成かと思いますので、是非ご一読いただき、皆様の参考になれば幸いです。

 

マルチリージョン展開

本システムでは、サーバーレスなアーキテクチャを採用しており、可用性とスケーラビリティを両立した構成となっています。トラフィックは下図のような流れで処理されます。

CloudFront (+WAF※1) → Route53 → ALB※2 → ECS※3 → Aurora / DynamoDB

構成図

構成図からもお分かりの通り、ALBからデータベースまでをマルチリージョン展開し、海外のユーザからのリクエストに対して最適なリソースから応答を返すことが可能になっています。なお、すべてのリソースは CloudFormation を使用して構築しており、IaC(Infrastructure as Code)による一元的な構成管理を実現しています。

技術トピック:

  • Route53 のレイテンシーベースルーティングを活用し、エンドユーザから最も近いロケーションにリクエストをルーティングさせることを実現。
  • DynamoDB Global Table 機能を使用し、各リージョンにレプリケーションすることで、ECS 上のアプリケーションは低レイテンシの読取り・書込みオペレーションが実現。
  • Aurora Global Database 機能を使用し、各リージョンにレプリケーションすることで、ECS 上のアプリケーションは低レイテンシの読取りオペレーションが実現。
  • Aurora Serverless v2 機能を使用し、トラフィックの上下に対してデータベース側がボトルネックにならないようにスケーラブルに対応。
  • IaC と CI/CD による構成管理の徹底
  • ECS タスクのサイドカーコンテナとしてNewrelic※4を稼働させ、コンテナレベルのログ・メトリクスを収集し、システムのパフォーマンスを可視化・管理することを実現。

CI/CD としては GitLab※5を活用しており、アプリケーションのソースコードに加え、インフラチームが管理するECSタスク定義ファイルなども Git で管理しています。この仕組みにより、ソースコードだけでなくタスク定義ファイルなどの資材をプッシュした際にも、CI/CD パイプラインが自動的に実行されるよう構築しています。また、GitLab でビルドされたコンテナイメージは ECR※6 にプッシュされ、AWS Inspector V2 を活用して脆弱性の事前検知およびデプロイ後の継続的な監視・検知を行っています。

構成図CI/CD

※1 WAF(Web Application Firewall):Webアプリケーションを悪意のあるアクセスから保護するファイアウォール。AWSでは「AWS WAF」として提供されている。
※2 ALB(Application Load Balancer):アプリケーション層で動作するロードバランサ。リクエストのパスやホスト名に基づいてバックエンドのターゲットグループに振り分ける。AWS Elastic Load Balancing(ELB)の一種。
※3 ECS(Elastic Container Service):AWSのコンテナ実行基盤。Dockerコンテナをスケーラブルに管理・実行するためのマネージドサービスで、FargateやEC2上で稼働させる構成が選択可能。
※4 Newrelic:ITシステムのパフォーマンスと稼働状況を監視・分析し、問題の早期発見と解決を支援するオブザーバビリティプラットフォーム。
※5 GitLab:コードのコミットから本番環境までのCI/CDパイプラインを自動化し、追跡するDevSecOpsプラットフォーム。
※6 ECR(Elastic Container Registry):フルマネージド Docker コンテナレジストリ。Dockerコンテナイメージを簡単に保存、管理、共有、デプロイが可能。

広域な拠点からの性能試験

本アプリケーションをリリースするにあたり、実際に全世界からリクエストを行い、高トラフィックに耐えうるか、リクエスト元の拠点毎のレスポンス速度は目標値以内となっているかを試験する必要がありました。そこで、AWSソリューションライブラリの一つである DLT(Distributed Load Testing on AWS)を活用しました。デプロイされるコンポーネント群は下図の通りです。

DLT
出展元:https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/

全世界の各拠点に試験用のコンポーネントを構築することは大変手間で工数が嵩むことが予想されますが、既に用意されているソリューションである DLT を用いることで、CloudFormation より一括でデプロイできるため、大幅な工数削減が望めます。また、JMeter※1で作成したテストシナリオを DLT にインポートすることが可能なため、自動で大量のリクエストを発生させ、且つ柔軟な負荷曲線を描くことが可能です。

※1 JMeter:Apacheソフトウェア財団によって開発された、WebアプリケーションやAPIの負荷テストおよびパフォーマンス計測を行うためのオープンソースJavaアプリケーション。

おわりに

本プロジェクトは、複雑なマルチリージョン展開をIaCで実現した、非常に珍しいアーキテクチャの事例といえるでしょう。既にアプリケーションは全世界で公開されており、多くのユーザが滞りなく仮想現実を体験されています。 これもひとえに、開発に携わってくださった関係者の皆様の多大な支援のおかげです。この場を借りて、心より感謝申し上げます。

当社では、こうしたクラウドネイティブなシステム構築・移行を支援するクラウドインテグレーションサービスを提供しています。要件定義から設計・実装、運用まで一貫してサポートし、お客様のビジネスに最適なクラウド活用を実現します。 クラウド移行やモダナイゼーションをご検討中の方は、ぜひお気軽にご相談ください。

執筆者

tamura
田村 俊光
ITプラットフォーム事業部 クラウドインテグレーション統括部 クラウドモダナイゼーション担当
AWS を使用したシステムのインフラ開発を担当

ニュースレター

クラウドネイティブに関するニュースレターはこちらです。是非ご覧ください。