国内最大規模のゲーム業界カンファレンス「CEDEC2022」が、2022年8月23日(火)から8月25日(木)までの日程で開催されました。2日目となる8月24日には、株式会社バンダイナムコスタジオの八重樫 剛史氏が登壇し、「DX(開発者体験)の向上を目指すゲーム開発インフラの進化とDX(デジタル変革)」と題した講演が行われました。開発インフラのクラウド化やクラウド上のゲーム開発スタジオなどについて解説された本講演をレポートします。
TEXT / たかひろ
EDIT / 田端 秀輝、神山 大輝
目次
登壇した八重樫氏は、株式会社バンダイナムコスタジオ(以下、BNS)技術スタジオ第4グループオンラインテクノロジー部にて、組み込みシステムやゲームサーバ開発、開発環境のクラウド移行などの業務に携わっています。
ゲーム開発インフラにおける「2つのDX」
講演タイトルにもある「2つのDX」とは、日本CTO協会が提唱する「DX Criteria(DX基準)」にて説明されています。
1つ目の「DX」は「Digital Transformation(デジタル変革)」で、こちらが近年よく話題にあげられる「DX」と呼ばれるものです。2つ目の「DX」は「Developer Experience(開発者体験)」です。DXはAPIやSDKの使い勝手が良いという文脈で使われることが多いですが、ゲーム開発に関わる全ての業務に適用可能な概念ではないかと八重樫氏は言います。健全かつ強力な開発者組織を作り維持していくために、DXの改善はとても重要です。
八重樫氏はインフラ整備を担当する立場として、ゲーム開発者の「DX(開発者体験)」を向上させるために、インフラ分野の「DX(デジタル変革)」を推進しています。
2020年から現在に至るまでのゲーム開発インフラのDXの取り組み
BNSではインフラ分野のDXを実現するために、以下の3つの分野を重視しています。
講演冒頭では、2020年から現在に至るまでのインフラに関するDXについて紹介されました。
急激な在宅勤務シフトにより開発インフラに生じた変化や歪み、問題点
2020年4月頃のバンダイナムコスタジオは、コロナ禍における緊急事態宣言によって従業員が在宅勤務にシフトしたあと、支給されたPCを社内ネットワークにVPN接続して業務を行う形態となったため、事業拠点はほぼ無人になりました。
在宅勤務にシフトしたあとも、多くの製品を無事にリリースでき、リモートワークを前提とした開発ノウハウの蓄積も進みました。しかし、同時に開発インフラの問題も表面化しました。
最初に明らかになった問題点は、ネットワーク接続のパフォーマンスです。VPNに頼った在宅勤務をしていると、VPN装置の性能がボトルネックとなり速度が制限されてしまいます。社内のファイルサーバやリポジトリにアクセスするだけで帯域が埋まることが頻発していました。
次に、事業拠点や開発機材の物理的な所有コストです。従業員がほぼ在宅勤務なので、事業拠点にある機材のトラブルやメンテナンス対応に出社するコストが増加し、事業拠点自体の維持コストに見合わなくなりました。在宅勤務で使用する機材の管理やセキュリティも問題になりました。
さらに、ワークプレイスの多様化とハイブリッド勤務の一般化によって、週に1日出社して残りは在宅勤務など、就業場所が固定されない従業員が増えました。メインの開発機材が自宅にある従業員は、出社しても会議などの業務しかできないこともありました。
こうした背景から、開発インフラのクラウド化の機運が、2020年4月以降高まり続けています。
開発インフラのクラウド化の取り組み
2020年から2021年にかけて、CI/CDパイプライン(自動ビルド、自動テスト)のクラウド化に注力しました。オンプレミスの物理ビルドサーバをなくし、セルフホストで運用していたJenkins CIなどを、GitHub ActionsやAzure Pipelinesなどのマネージドなサービスに移行しました。
また、UnityやUnreal Engineを使うプロジェクトをターゲットに、クラウドネイティブなCI/CDパイプラインの構築を目指し、ゼロトラストセキュリティの実現に向けても様々な取り組みをしました。
CI/CDパイプラインは最もクラウド化しやすいインフラですが、これはゲーム開発インフラ全体のごく一部に過ぎません。さらなるクラウド化の推進には、より強固で適したインフラの土台構築に取り組む必要がありました。
そこで、次なる目標として5つのテーマを設定しました。
インフラのクラウド化の次なる目標
バンダイナムコグループのITインフラはMicrosoftやWindowsの技術を基盤にしています。Microsoft 365については従業員1万人以上向けのライセンスを購入し、全従業員の情報を持つID基盤としてAzure Active Directory(Azure AD)が稼働しています。Visual StudioはBNSの標準開発ツールで、Visual Studioと相性のいいクラウドサービスであるAzureも使用しています。
グループで利用しているMicrosoft 365、Azure AD、Azureの活用
この前提を踏まえ、BNSにおける「DX(開発者体験)」向上のための「DX(デジタル変革)」として、これまで活用していなかったAzure ADが持つ機能の積極活用を推進しました。例えば、OpenID Connect、OAuth2、SAML、SCIMはユーザー認証や認可、SaaSにおけるIDの統合に活用されています。
このような取り組みは、ゼロトラストセキュリティの実現が念頭に置かれています。
ここで、BNSのITインフラにおけるステークホルダーを確認しましょう。
バンダイナムコグループの中で、BNSの他に、バンダイナムコ研究所、バンダイナムコアミューズメントラボという3つの開発会社ではITインフラが一体管理されています。同時に、1万名を超えるバンダイナムコグループの従業員が利用するオンプレミスおよびクラウドの管理業務をしているのは、バンダイナムコビジネスアーク(BNBA)です。
事業会社にもITインフラ担当がおり、グループ全体を統括するIT管理者もいるといった形式をとっているため、BNSなど開発会社の都合だけではITインフラの更新を行う事はできません。Azure ADの機能利用や設定変更など前例のない要望を通すことが難しく、管理者として保守的になってしまうところもあります。
ここで大事になるのが対話と根回しです。ステークホルダーと共に、時間をかけて説明・調整していく努力が必要でした。例えば、上位役職者に説明し、事業会社として正式な要望を管理会社に申し入れてもらいました。ベンダーであるMicrosoftからも支援を得ています。
対話の中でも、自分事とする姿勢を見せることは重要です。要望した事柄を他人事にせず、自ら十分に研究、検証を行い、管理者にやってもらいたいオペレーションやリスクの対処を一緒に考える姿勢を見せることが大事だと考えました。
Microsoft 365やAzure ADのサンドボックスの環境を無料で作成し実験に用いることができる「Microsoft 365 開発者プログラム」なども活用して検証を行い、会議などでプレゼンを繰り返すことで、BNBAを含む関係各社との信頼関係を得ていきました。
2021年後半からは、BNBAとBNSの協業により、Azure ADを活用する仕組みが整備されていきます。2021年11月には、グループ全従業員にMicrosoftのEnterprise mobility + Security(EMS)E3ライセンスを付与されることになり、BNSの開発者がAzure ADの様々な機能が活用できる体制が整いました。
2021年12月には、Azure AD Joinのユーザー認証が使えることが検証できました。これによってAzure上にあるWindowsの仮想マシン(以下、VM)によるRemote Desktop(RDP)接続でクラウドユーザー認証ができるようになり、後述するAzure Virtual Desktopという仮想デスクトップの利用準備が整いました。
2021年12月から2022年4月にかけて、Azure ADのプロビジョニングサービスを利用してGitHub Enterprise Managed Users(GitHub EMU)を導入しました。これは2021年からVisual Studio SubscriptionにGitHub Enterpriseを使う権利が付与されたことで、実現できるようになったものです。
2022年7月から8月にかけてAzure AD Application Proxy(App Proxy)を導入しました。こちらはクラウド化する上で非常に頼りになる機能で、オンプレミスにあるレガシーなWebアプリをゼロトラスト化できるサービスです。
GitHub Enterprise Managed Usersの導入
GitHub Enterprise Managed Users(以下、Github EMU)は、Azure ADなどの外部のIDプロバイダでユーザーやチームの管理ができるGitHub Enterprise Cloudのサービスです。GitHub Enterprise Cloud、つまりGitHub.com上に隔離されたEnterpriseを作ることができます。
Github EMUの導入の狙いとして、八重樫氏は以下のような点を挙げました。
「Azure ADとGitHub Enterprise CloudとでIDを統合することで、BNSにおけるAzure ADのユーザーやグループを、GitHubのユーザーとOrganization内のチームに自動でマッピングできるようになりました。このことにより、数百名いる従業員個人でのユーザー登録手続きがなくなり管理コストが大幅に削減されるとともにユーザーの使い勝手も上がり、サービス利用率が向上しました。新規にアカウントが作成されることで公私のアカウントが分離され、セキュリティも向上されました」(八重樫氏)。
Enterpriseの内部と外部で厳密な隔離ができる、つまりEnterprise内で作成した組織、リポジトリ、ユーザーは、Enterprise外の一般ユーザーからは全く見えなくなります。GitHub Enterpriseのサーバをデプロイしなくても、強固なセキュリティと情報漏洩の対策が実現でき、操作ミスなどのヒューマンエラーによる情報漏洩の懸念も根本的に解決できました。
外部から見えなくなるということは、バンダイナムコグループでコードの共有を安心・安全に行える共通の開発基盤を実現できるということ。ひいては、オープンソースの開発手法を商用ソフトウェアで実施する「インナーソース文化」をグループ内にもたらすことに繋がります。
Azure AD Application Proxy(App Proxy)の導入
App Proxyは、プライベートネットワーク上のWebサーバにアクセスできるAzure AD認証つきのリバースプロキシを手軽に公開できるサービスです。App Proxyを利用することで、社内で公開しているWebサービスをVPNを使わずゼロトラストで公開できます。App Proxyを利用するために、プライベートネットワーク上で「コネクタ」を動作させています。
App Proxyの用途は、クラウド移行やゼロトラスト化が容易ではない、オンプレミスで長く稼働しているWebサービスを「延命」するためです。BNSでは、ConfluenceやJIRA、そしてさまざまな基幹業務システムに使用しています。今後新規構築するWebサービスでは、最初からゼロトラストなサービスとして実装するため、App Proxyは使わない方針だそうです。
クラウド上のゲーム開発スタジオ「Bandai Namco DX Cloud Studios(仮称)」の構築
ここまでのAzure ADを中心に積み上げてきた土台を踏まえ、バンダイナムコスタジオの新世代クラウド開発環境を構築する取り組みが始まり、「2つのDX」推進を支援するクラウド上のゲーム開発スタジオ「Bandai Namco DX Cloud Studios(仮称)」がスタートしました。
DX Cloud Studiosのねらいは、以下の3点が挙げられます。
DX Cloud Studiosの構成要素として、 以下の3つがあります。
従来の環境では、下記の画像における①On-Prem Studio(社内の開発環境)に対して②On-Prem Studio VPNで在宅勤務環境から一斉に接続していたので、VPNの帯域が圧迫されていました。また、社内ネットワークを通ると、③3厳格なセキュリティポリシーによってクラウド環境にある開発サーバにアクセスできないなどのボトルネックがありました。
これらの問題点に対し、構成を大幅に変更することで解決を図ります。この5つを総称して八重樫氏は「DX Cloud Studios」と呼称しました。
DX Cloud Studios自体は仮想ネットワークの集合で成り立っているので、①仮想ネットワーク(Vnet)ピアリングが使用されます。Core Vnetに対して、ハブ&スポーク構成のネットワークトポロジーが基本構成です。
そのうちの仮想ネットワークの1つが②Vnet:Cloud Desktopsです。この中には従業員が使用するデスクトップ環境が詰まっています。これとは独立して③VNet:DevTest DMZによってプロジェクトごとに割り当てられたVnetが、プロジェクトの数だけ存在します。
特徴は、個別のネットワークごとにVPNの独立したエンドポイントを提供すること。かつてオンプレミスネットワークでカジュアルにサーバを立てていたときと同様の感覚で、専用のDevTest DMZの中で同じことができます。
さらに、④On-Prem Studio Legacy Servicesによって、すぐにはクラウド化できずオンプレミスにしかない重要なWebサービスを、App Proxyを使用してログインしたユーザーが従来通りアクセスすることが可能になりました。
バンダイナムコスタジオでは「WireGuard」というVPNを利用しています。OpenVPNより軽くて高速で、さまざまなOSで動作するため、現在はLinuxのVMで稼働しています。
WireGuardだけではカバーできない部分を、Subspaceという管理用のWebアプリで補っています。これはAzure AD SAML SSOでユーザー認証と承認ができるゼロトラストのもので、ユーザーはセルフサービスで開発機材を登録して接続できます。
この2つを組み合わせて運用することで、AzureのVPNサービスと比べても安価で、格段にパフォーマンスを上げることができました。
続いて、Microsoft/Azureが提供するDesktop as a Service(DaaS)の概要を見ていきましょう。BNSでは基本的にAzure Virtual Desktop(AVD)を使用しており、その他にもWindows 365 Enterprise(Win365E)や、最近登場したMicrosoft Dev Boxが選択肢として入ってきたため、順次活用を考えているとのこと。これらは全てAzure AD SSOに対応しているので、セキュリティと利便性が向上しています。
DX Cloud Studiosのクラウド仮想デスクトップ(VDI)の利点は、調達やメンテナンスなど物理的な制約から離れられる、セキュリティ向上、軽量な端末でも使用できるといったことが挙げられます。
一方でVDIの課題、懸念点として(物理PCと比較した際に不利なこととして)映像や音声の品質と通信遅延があります。また、コストも問題になります。ゲーム開発に不可欠なGPUを載せたVMは非常に高額で、物理的な機材の4.4倍のコストになるという試算となっています。さらに、2022年の春以降、世界情勢の変化によって東日本リージョンでも使用できるGPU搭載VMの確保が困難になっているとのこと。
映像や音声の品質と通信遅延に関して、バンダイナムコグループについて有効だと考えているソフトウェアがPersecです。ホストのGPUを使用して低遅延で高品質な映像と音声の伝達が可能で、NAT越えが実装されていることも大きな利点となります。
参考URL:Parsec remote desktop is now available on AzureDX Cloud Studiosの活用事例
DX Cloud Studiosにおける一部の機能は、既に活用が始まっています。実際の運用にあたって、特に有用だった事例が紹介されました。
事例1:DevTest DMZにおけるIncredibuildの運用
ビルドやコンパイルを分散処理させる「Incredibuild」環境はオンプレミスのネットワークに構築していましたが、DevTest DMZでも構築しています。オンプレミスではVPNがボトルネックになっており、自宅のPCがイニシエーターになるとパフォーマンスが出ないことがありましたが、AzureのDevTest DMZにおいて専用のVPNを接続することで大幅にパフォーマンスを向上させることができました。
また、Helper AgentのVMの数を負荷に応じて増減させることでコストを削減しています。
事例2:Perforce Proxy On-Prem Studio VPNボトルネックのバイパス
近年のゲーム開発においては1回につき数ギガバイト単位でデータをダウンロードする場合が多く、VPNが混雑してしまいます。これがOn-Prem Studio VPN経由ではボトルネックになっていたことの一つでした。対策として、Perforce Proxy(On-Prem StudioのPerforce リポジトリからキャッシュするソフトウェア)をDevTest DMZに置いてみた結果、高速化したとのこと。Azure クラウドで明確に環境が改善した事例です。
事例3:オンラインゲームの開発環境
オンラインゲーム開発についても、今後はDevTest DMZのAzure VMでゲームサーバの開発や自動ビルド・テストを行い、VDIをワークステーションとして活用して開発を行うスタイルが想定されています。
バンダイナムコスタジオの新人研修プロジェクト「GEMini」
BNSでは新人制作研修として、全職種を含んだ10人程度のチームを編成し、Unityを使って半年程でゲームを制作する「GEMini」というプロジェクトを実施しています。
新人研修プロジェクトは、小規模ゆえインフラへの投資が抑えられ、新規プロジェクトゆえしがらみがなく、研修ゆえ収益化を気にせず実験ができるという特徴があります。
また、近年入社してくるエンジニア職の新入社員は、入社前からGitによる協調開発やCI/CD構築などの経験者が多く、クラウド開発インフラを先輩たちよりも使いこなせる方も多いとのこと。新人研修の場でもクラウド開発インフラを使ってもらえば、研修終了後に配属されたプロジェクトでもクラウド推進の役割が期待できます。
そこで、2022年度のGEMiniプロジェクトでは、社長の肝いり案件として“フル”クラウド開発インフラとしてDX Cloud Studiosを用いた研修が行われることとなりました。「これによって、バンダイナムコグループ全社の『Digital Transformation』推進の礎を築いてもらいます」(八重樫氏)。
GEMiniプロジェクトの目指す“フル”クラウド開発インフラでは、まず開発者1人1台にCloud Desktopを割り当て、その中でUnity EditorやMayaなどDCCツール、Visual Studioなどが用意します。
Azure DevOpsなどを活用してリポジトリを作成や自動ビルト等を行い、テストプレイも全てクラウド上で行います。そして、App Centerを通じて配布をするところまでクラウドで完結させることを目的としています。
BNSの取り組みは、新人研修でのクラウド開発の検証だけでなく、社内向けの情報発信や教育活動、さらに日本マイクロソフトの協力でAzureセミナーやハンズオンイベントの開催など、非常に多岐にわたっています。
結びとして、八重樫氏は「始めたばかりの多くの取り組みについて、今後も機会を見つけて進捗を随時報告していきます。我々の経験や取り組みが、皆さまのゲーム開発インフラ改善の参考になれば幸いです」と述べ、講演を締めくくりました。
バンダイナムコスタジオ公式サイト DX(開発者体験)の向上を目指すゲーム開発インフラの進化とDX(デジタル変革) CEDEC2022マイクロソフトによるCEDEC2022講演
本講演の他にも、マイクロソフトによるCEDEC2022講演がYouTubeで公開されています。
日本マイクロソフト株式会社 増渕 大輔氏
オンラインゲームのバックエンドサービスとして Microsoft Azure を上手に活用する方法をご紹介します。
モバイルからコンソールでの大規模なゲームからインディーゲームまで、世界規模で多くのプレイヤーを獲得しているゲームサービスを参考に、Microsoft Azure の設計や運用にノウハウ、はまりやすい課題と解決例などをお話いたします。Azureを利用したことがない方にとっても、オンラインサービスの設計として参考にある情報をお届けします。
"No Man’s Sky" から"Forza Horizon 5" まで。国内外の成功タイトルが使う Microsoft Azure
- 受講スキル
コンシューマ・モバイル・PC問わず、オンラインゲームのバックエンド開発に関心がある方
- 得られる知見
オンラインゲームのバックエンドの設計や運用ノウハウ
"No Man’s Sky" から"Forza Horizon 5" まで。国内外の成功タイトルが使う Microsoft Azure 講演動画
コンシューマ・モバイル・PC問わず、オンラインゲームのバックエンド開発に関心がある方
オンラインゲームのバックエンドの設計や運用ノウハウ
ギリギリ昭和に生まれ平成で育った男性。
アクション、RPG、FPS、恋愛ADVとプレイするジャンルは様々。
一番やり込んだタイトルは『Another Century’s Episode 3 THE FINAL』。今もシリーズ新作を待ち続けています。
関連記事
注目記事ランキング
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
1
2
3
4
5
連載・特集ピックアップ
西川善司が語る“ゲームの仕組み”の記事をまとめました。
Blenderを初めて使う人に向けたチュートリアル記事。モデル制作からUE5へのインポートまで幅広く解説。
アークライトの野澤 邦仁(のざわ くにひと)氏が、ボードゲームの企画から制作・出展方法まで解説。
ゲーム制作の定番ツールやイベント情報をまとめました。
東京ゲームショウ2024で展示された作品のプレイレポートやインタビューをまとめました。
CEDEC2024で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブル2024で行われた講演のアーカイブ動画・スライドをまとめました。
CEDEC2023で行われた講演レポートをまとめました。
東京ゲームショウ2023で展示された作品のプレイレポートやインタビューをまとめました。
UNREAL FEST 2023で行われた講演レポートをまとめました。
BitSummitで展示された作品のプレイレポートをまとめました。
ゲームメーカーズ スクランブルで行われた講演のアーカイブ動画・スライドをまとめました。
UNREAL FEST 2022で行われた講演レポートやインタビューをまとめました。
CEDEC2022で行われた講演レポートをまとめました。