カプコン担当者「リージョンにあるインスタンスを使い切ってしまったことも」
「モンハンワイルズ」の舞台裏 数百万同時接続の“超高負荷”に耐えるクラウド構築テクニック
2025年07月18日 08時00分更新
「ロビー」サーバーは超高負荷、リージョンのインスタンスが“売り切れ”に…!
続いては、リアルタイムサーバーの舞台裏だ。
リアルタイムサーバーの役割は、最大100人まで同時参加できる、「ロビー」というオンライン空間(他のプレイヤーとマルチプレイや交流を行う“待合所”)を提供することだ。レイテンシを抑えるために、主要各国のリージョンに分散配置し、さらにロードバランサーなども通さずに接続している。
最大100人分のパケットをリレーするサーバーのため、“超高負荷”なのが特徴だ。アプリケーションをチューニングする余地も少ないため、解決策として、AWSの第3世代カスタムArmプロセッサー「AWS Graviton3」を採用した。「Gravitonの“うたい文句”どおりに、実際にパフォーマンスが向上したのには驚いた」と筑紫氏。
クラスターあたりのpod数も数万を超えている。そのため、EKSクラスターの負荷対策として、クラスター自体を増やしており、リージョン内でも複数クラスター(多いリージョンでは5つ)を立てている。
リアルタイムサーバーは、「条件」ごとに動的にスケールする戦略をとっている。「条件」とは、各ロビーに設定された特徴(そこに集まるプレイヤーのプレイ傾向、使用言語、強さの目安など)を指す。例えば“初心者向け”ロビーが満員になったら、その条件だけスケールアウトするといったイメージだ。単純にCPUやメモリの消費量で制御するのではなく、人数によって制御しているのは、「消費リソースがユーザーの動きや接続数で大きく変わる」ためだという。
スケーラーサービスには、AWSが開発するOSSの「Karpenter」を利用。また、スケールアウトの仕組みは、ミドルウェアの「Agones」で実現した。
インスタンスに関しては、「Graviton3ベースのC7gインスタンスで運用していたが、リージョンのインスタンスを使い切ってしまったことがあった。一時期、本番環境では30万podほどを使っていた」という、驚異的なエピソードもある。これはAWSにも相談し、インスタンスの“売り切れ”を検知した場合は、リソースが豊富なリージョンにインスタンスを立てて、そこに接続する仕組みをつくった。

この連載の記事
-
ビジネス・開発
「モンスターハンターワイルズ」のクロスプレイを支えるゲームサーバー なぜAWSが選ばれた? -
Team Leaders
「Amazon Connect」が東京-大阪でDR対策可能に 生成AIのアウトバウンド支援機能も -
クラウド
日本は生成AI活用で最先端 AWSは変革をリードするビルダーを支援する -
ビジネス・開発
メガネ選びの“わからない”に応える「JINS AI」 わずか3カ月でのローンチで乗り越えた壁 -
TECH
夏野氏「もう1年早く移行しておけば」 サイバー攻撃を受けたドワンゴがAWSで進めるセキュリティ改革 -
ITトピック
プライムデーの荷物はどう届く? Amazonが物流現場の「6つのAI活用」を披露 -
TECH
re:Inforceのセキュリティ新発表 AWS Summitのブース担当者が熱心に説明してくれた - この連載の一覧へ










