任天堂が新しい汎用ゲームサーバーでKubernetesを採用

任天堂が新しい汎用ゲームサーバーでKubernetesを採用

任天堂:新しい汎用ゲームサーバーを Google Kubernetes Engine、Cloud Spanner などを駆使して構築

世界中で愛好されている任天堂株式会社(以下、任天堂)の家庭用ゲーム機「Nintendo Switch」。そのオンライン マルチプレイを担う汎用ゲームサーバーの動作基盤に新たに Google Cloud が採用されました。多くのユーザーとの通信を処理しなければならないこの仕組みを、なぜ Google Cloud 上に構築したのか。どのような工夫を施すことで、安定性・可用性と運用負担の軽減を両立させたのか。構築に携わったエンジニアのお二人に話を伺いました。

利用しているサービス:

Google Kubernetes EngineAgonesAnthos Service MeshCloud SpannerCloud Load BalancingCloud StorageCloud MonitoringCloud TraceCloud LoggingBigQuery など

Google Cloud なら Kubernetes や Istio をフルマネージドで使える

今やゲームとインターネットは切り離せないもの。それは「Nintendo Switch」も例外ではありません。フレンドの状況を確認したり、オンライン ショップでゲームを購入、ダウンロードしたり、ゲーム内外のさまざまな部分でインターネットが活用されています。そうした中、「オンラインマルチプレイ」はゲームにとって、お客様に注目され、重要視される要素の一つです。多くのタイトルが、インターネットを通じて世界中のユーザーと対戦したり、協力したりといった遊び方を提供しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/switch.max-2200x2200.jpg
任天堂では「ニンテンドーDS」の頃から、オンラインマルチプレイの取り組みを開始。携帯型ゲーム機「ニンテンドー3DS」(2011 年発売)の時代に、ユーザー認証やマッチメイクなど、多くのタイトルで共通して使う機能を提供する汎用ゲームサーバーを構築し、その後も機能強化を繰り返しながら提供し続けてきました。そうした中、オンライン ユーザー数の増加や、ネット環境、プレイ環境の変化を受け、今後、さらにオンライン ゲームを発展・普及させていくため、2018 年、新技術も積極的に採り入れた「任天堂プラットフォーム向け汎用ゲームサーバー(NPLN)」を開発することになったと、技術開発部の開発担当、河原 太介 氏は言います。

https://storage.googleapis.com/gweb-cloudblog-publish/images/221028_interview_1223.max-2200x2200.jpg

「開発が大規模化して携わるエンジニアが増えたことと、利用タイトルの増加を踏まえ、NPLN では『マイクロ サービス指向』と『マルチテナント構成』の 2 つをコンセプトにシステム全体をコンテナベースで再設計しています。これらを実現するために、必要な Kubernetes や Istio をフルマネージドで利用できる GKE(Google Kubernetes Engine)と Anthos Service Mesh を擁する Google Cloud は我々のニーズに合致した選択肢でした。また、データベースについても、ひとつのインスタンスの中に複数タイトルのデータを入れるには、耐久性や可用性だけでなく、極めて高いスケーラビリティが必要で、そこに Cloud Spanner がマッチしました。」

2021 年のローンチ後、すでに複数のタイトルで導入が進む

https://storage.googleapis.com/gweb-cloudblog-publish/images/npln1.max-2200x2200.png
NPLN のサービスはマイクロサービスで構成されており、Anthos Service Mesh でサービス メッシュを管理しています。クライアント(Nintendo Switch)からサービス メッシュのアクセスには Cloud Load Balancing を経由して接続します。GKE 上の各サービスは原則としてすべてステートレスに実装されており、ユーザー情報を含むステートフルな情報は Cloud Spanner や Cloud Storage(GCS)に格納。NPLN から出力されたメトリクスやログは Cloud Monitoring や Cloud Trace、Cloud Logging で収集・蓄積し、その一部は BigQuery に転送して必要に応じて分析できるようにしています。

なお、NPLN サーバーは原則としてマルチテナントで運用されていますが、極度に大きなトラフィックが予測される人気タイトルや、特殊な要件のタイトルについてはシングル テナントとして分離できるハイブリッド構成を実現。Anthos Service Mesh がその複雑化したルーティングを担当しています。

https://storage.googleapis.com/gweb-cloudblog-publish/images/npln2.max-2200x2200.png

続きは Google Cloud ブログ へ

事例カテゴリの最新記事