スクウェア・エニックス: モバイルゲームのバックエンド システムを Google Cloud に移行し、さらに良質なユーザー体験の提供基盤を確立

Google Cloud Japan Team
株式会社スクウェア・エニックス(以下、スクウェア・エニックス)は、国内有数のゲームソフト開発・販売会社として、多くの人気タイトルを世に送り届け続けています。同社では、モバイルゲーム向けのバックエンド システムのスケーラビリティと安定性の向上に向けて、仮想マシンをベースにしたクラウド システムから、Kubernetes を活用したクラウド アーキテクチャへの移行を実施。新たな基盤に Google Kubernetes Engine(GKE)および Cloud SQL Enterprise Plus を採用しました。このプロジェクトを担当した 2 名に、移行の狙いや成果について話を伺いました。
利用しているサービス:
Google Kubernetes Engine(GKE), Compute Engine, Cloud SQL Enterprise Plus, Memorystore for Redis, Memorystore for Redis Cluster, Cloud Run functions, Cloud Scheduler, Cloud Run
利用しているソリューション:
インフラストラクチャのモダナイゼーション
スケーラビリティ確保とゲーム体験向上のため、バックエンド システムの再構築が急務に
スクウェア・エニックス・グループの一員としてゲーム事業やコンテンツ事業を手掛けるスクウェア・エニックスでは、「無限の想像力で、新しい世界を創り出そう。」というパーパスに基づいて、多種多様なゲームを生み出し、人々に新しい体験を提供し続けています。
そんな同社は、IaaS(Infrastructure as a Service)上に数百台規模の仮想マシンを設けて、モバイル タイトル向けに共通のバックエンド システムを構築。ユーザー情報の管理やゲーム内課金機能の提供などさまざまな処理を一括して行い、開発や運用の効率化、コスト削減、良質なゲーム体験の提供などを追求してきました。
しかしゲームタイトルやユーザーが増えていく中、新たな課題が浮上します。トラフィックが急増した際、サーバー側には最大で数万 rps(request per second)のアクセスに対応しながら、数十 ms(millisecond)オーダーの応答速度も確保することが求められます。旧来のシステムでは、スケーラビリティの確保に限界が生じており、運用の柔軟性を高めることも急務になっていました。カスタマーエクスペリエンスデザインセンター オンラインビジネス推進ディビジョン プラットフォーム開発グループの佐藤 雅宏氏は、次のように振り返ります。


「まず旧システムでは、新規のゲームタイトル リリース時やゲーム内でのイベント開催などがきっかけでトラフィックが急激に変化した際、処理能力のスケールアップに時間がかかっていました。また、システム更新などのために定期的に計画停止を実施するため、その間ゲームがプレイできなくなり、ユーザー体験の低下や機会損失が起こることもネックになっていました。データベースは仮想マシン上で MySQL を運用していたのですが、障害が発生した場合には、復旧に半日以上かかることもあり、多くのお客さまのためにより万全な体制を構築したいと考えていました。」
GKE の導入に合わせて徹底したチューニングを行い、理想的なクラウド環境を構築
同社はこれらの問題を解消するために、バックエンド システムのアーキテクチャ自体を刷新し、コンテナベースのクラウドに移行することを決定。複数のサービスを比較検討したうえで、プラットフォームとして Google Cloud を採用しました。決め手になったのは GKE の存在です。
今回の移行計画では、Kubernetes を使う方針が当初から定められていました。Kubernetes なら Pod やノードの自動スケーリング機能などのマネージド サービスを活用して、ワークロードに合わせてリソースを柔軟に増減させられるからです。同グループの伊賀 一貴氏によれば、GKE は他のアドバンテージも数多く備えていました。


「GKE には、細かなカスタマイズができる、エンジニアの知見を蓄積しやすい、コスト パフォーマンスが良いといった優位性があります。GKE ならサービスを提供しながら、プラットフォームをアップデートすることも可能です。ユーザー体験に影響する計画停止が回避できるのは、何より大きなメリットでした。」
一方、データベースには、Compute Engine を基盤に、MySQL による InnoDB クラスタ構成が採用されました。社内で知見がある MySQL の利用を継続しつつ、InnoDB クラスタ構成にすることで信頼性を高めるのが狙いです。
移行作業に先立っては、API の性能要件を満たすために徹底的なチューニングも実施されました。佐藤氏は、GKE で理想的なクラウド システムを構築するうえで、このチューニングが不可欠な過程だったと言います。
「例えば応答速度の改善に関しては、各 API における通信をパケットレベルで詳細に解析したところ、仮想マシン環境とクラウド環境の挙動の違いが性能低下を招いていることがわかり、設定の見直しや無駄な通信の削減など、ひとつずつ対策を講じていきました。これは結果的に、クラウドの内部構造を把握して性能を十分に引き出すことや、より堅牢で安定性が高いシステムの構築につながりました。」


Cloud SQL Enterprise Plus の活用で、データベースの構築時間や障害復旧時間を大幅に短縮
約 3 年にわたって行われた移行作業は、2024 年 9 月に無事に終了。プレミアム サポートに含まれるテクニカル アカウント マネジメント(TAM)も活用しながら、予定のスケジュールどおり新たなバックエンド システムがリリースされています。伊賀氏は Google Cloud のサポートについて、「私たちが直面していたあらゆる課題に、親身に寄り添っていただけました」と厚い信頼を寄せます。
「ミッション クリティカルな問題に対しても回避策の立案や、プロダクトの内部仕様まで踏まえた対策などの全面的な支援により、大きなトラブルは一切発生しませんでした。TAM による移行作業時のバックアップ体制構築やアフター フォローも万全で、運用上のティップスや中長期的な Google Cloud のプロダクト開発計画など多くの知見と情報の共有もあり、非常に助かりました。」
Google Cloud 移行の直接的な効果として、佐藤氏は当初の目的のとおり、水平スケールが容易になったメリットを強調します。
「従来は API の増強だけでも数時間以上の作業が必要でしたが、GKE では数十秒で完了するので、急激な負荷上昇や負荷試験時のスケール調整にも即座に対応できます。それに加えて、IAM(Identity and Access Management)との親和性による権限管理の容易さ、Cloud Storage FUSE をはじめとする Google Cloud の既存サービスとの連携、Cloud Load Balancer との統合など、GKE でしか実現できないアドバンテージを強く実感しています。」
Google Cloud への移行は、他にも多くの効果をもたらしました。旧システムでは仮想マシンの構築作業などの一部は手作業で行われていましたが、すべて IaC(Infrastructure as a Code)としてコードで管理できるようになり、運用作業の効率化と省力化が実現。ストレージについては、Compute Engine を使った InnoDB クラスタ構成への移行によって信頼性が大幅に高まりました。
ただし、これは移行プロジェクトの第 1 段階で、現在は次のステップとなる Cloud SQL Enterprise Plus への移行が進められています。すでに課金システムを含む一部の重要なシステムは移行が完了し、やはり顕著なインパクトをもたらしているとのことです。伊賀氏 は「劇的な効果と言っていいと思います」と前置きし、具体例を挙げてくれました。
「例えばバックアップ用のレプリカ構築作業では、以前は 4 人がかりで約 3 日の作業時間が必要でした。それに対して Cloud SQL Enterprise Plus では、初期データ同期と Replication 設定も含めて terraform で構築可能であるため、1 人が約 1 日で作業を完了できるようになりました。これは実に 90% のコスト削減です。障害時の復旧作業も同様です。かつては数時間必要でしたが、今では自動的にフェイルオーバーが行われアプリケーション側の変更も不要なので、数十秒で復旧できます。つまり障害時間は 99% 以上も短縮できることになります。Cloud SQL Enterprise Plus は上記のような運用における大幅な工数削減や、高い耐障害性をもつ構成を実現しただけでなく、計画停止の時間を 1 秒未満に抑え、ユーザー体験を損なわないシステム アップデートを可能にしてくれました。」
「無限の想像力で、新しい世界を創り出そう。」スクウェア・エニックスは、このパーパスをさらに追求するために新たな一歩を踏み出しました。佐藤氏は、今後も Google Cloud を活用して、サービスの向上を追求し続けたいと締めくくりました。
「Google Cloud への移行により、バックエンド システムのスケーラビリティや信頼性を一気に高めながら、各種サービスの利用コストと運用コストを従来よりも低く抑えることができるようになりました。これはお客さまにより良質なサービスを提供するという意味でも、大きなステップアップだったと感じています。今後も積極的に Google Cloud を活用して、自社サービスの信頼性を高めていきたいと考えています。」


株式会社スクウェア・エニックス
2003 年 4 月 1 日にゲームメーカーの株式会社スクウェアと株式会社エニックスの合併により誕生。2008 年 10 月 1 日、持株会社体制への移行に伴って、株式会社スクウェア・エニックス・ホールディングスの 100% 子会社として現行の株式会社スクウェア・エニックスが設立された。ユーザーの日常に「新しい世界」が生み出され、それを「思い出」として、より豊かな人生を送ることに貢献したいという想いを込めて、「無限の想像力で、新しい世界を創り出そう。」をグループ全体のパーパスとして掲げている。
インタビュイー(写真右から)
・カスタマーエクスペリエンスデザインセンター オンラインビジネス推進ディビジョン プラットフォーム開発グループ 伊賀 一貴 氏
・カスタマーエクスペリエンスデザインセンター オンラインビジネス推進ディビジョン プラットフォーム開発グループ 佐藤 雅宏 氏
その他の導入事例はこちらをご覧ください。