本記事は、2026年 1 月 22 日に公開された “Game development infrastructure simplified with AWS Game Dev Toolkit” を翻訳したものです。翻訳は Solutions Architect の鷲見啓志が担当しました。

注釈: AnyCompany Gamesは、ゲーム開発における一般的な課題と解決策を説明するために作成された架空の会社です。

分散したチームでゲームを開発している場合、バージョン管理、ビルドシステム、クラウドインフラストラクチャのセットアップという課題に直面したことがあるのではないでしょうか。この記事では、AnyCompany Games の事例を例に、AWS Cloud Game Development Toolkit を使用して、完全なゲーム開発パイプラインを数週間ではなく数時間でデプロイする方法を紹介します。

多くのインディーゲームスタジオと同様に、AnyCompany Games は大きな野望を抱く小規模なリモートチームから始まりました。業界暦の長い5人のベテランが、没入感のあるロールプレイングゲーム( RPG )体験を創造するという共通のビジョンを持って集まりました。しかし、彼らはすぐにゲーム開発における共通の課題に直面しました。彼らの野心的なプロジェクトには、堅牢なインフラストラクチャが必要だったのです。

AnyCompany Games のチームには、特別なものを作り上げる才能とビジョンがありました。彼らの前に立ちはだかる最大の問題は、インフラストラクチャの欠如でした。手元にあるハードウェアでは、ビルド時間が長くなり、ビルドはよく失敗していました。アーティストはシェーダーの読み込みに1時間以上待たされ、大容量のアセットの共有やバージョン管理が開発を遅らせていました。

彼らの開発に求められる環境は本格的なものでした。Perforce P4 などのバージョン管理用サーバー、Unreal Engine Horde などの継続的インテグレーション・継続的デリバリー( CI/CD )ツール、そしてこれらすべてを支える基盤となるネットワークインフラストラクチャが必要でした。このシナリオは、ゲーム業界ではよく見られるものです。大容量なアセットを含む複雑なゲームには、スケーラブルなインフラストラクチャが必要ですが、大多数のゲームスタジオは、オンプレミスでスケーラブルなインフラを維持するのに苦労しています。

チームがクラウドソリューションを検討する中で、Amazon Web Services( AWS )  は有望な選択肢であることが分かりました。AWS は必要に応じてリソースのプロビジョニングと削減を可能にし、大規模なハードウェア要件に対応できました。しかし、1つの課題が残っていました。それは、AWSリソースをゲーム開発ツールと効率的に連携するように設定することでした。

ここで Cloud Game Development Toolkit が登場します。これは、AWS for Games によって開発された、公開されているオープンソースリポジトリに格納された Terraform モジュールと Packer テンプレート専用のコレクションです。この記事では、このツールキットが AnyCompany Games や同様のスタジオが開発ツールを AWS インフラストラクチャとシームレスに統合するのにどのように役立つかを探ります。

クラウドインフラストラクチャ構築の前提条件

多くのクラウドコンピューティング初心者の開発者と同様に、AnyCompany Games は AWS アカウントの作成から始めました。アカウント作成が完了すると、チームはゲーム開発のニーズに最適なクラウドインフラストラクチャについて調査を行いました。

その時、彼らは Cloud Game Development Toolkit を発見しました。このリポジトリは、AWS 上で重要なゲームインフラストラクチャコンポーネントのデプロイを効率化する、カスタマイズ可能な Terraform と Packer のテンプレートを提供していました。

ネットワーク基盤の構築

クラウド基盤を構築する最初のステップは、ネットワークアーキテクチャの作成でした。リソースは複数のアベイラビリティーゾーンにわたって高可用性を確保する必要がありました。

ネットワークインフラストラクチャを構築するための Amazon Virtual Private Cloud( Amazon VPC ) リソースをデプロイするために、彼らは Terraform AWS プロバイダーのリソースとデータソースを使用しました。これらのプロバイダーを使用して、複数のアベイラビリティーゾーンにわたってパブリックサブネットとプライベートサブネットをデプロイし、仮想プライベートクラウド( VPC ) からのインターネットアクセス用のインターネットゲートウェイ、およびプライベート AWS リソースからのアウトバウンドインターネットトラフィックを開始するための Amazon VPC NAT ゲートウェイを作成しました。ルートテーブルがこれらのサブネット間のトラフィックフローを管理し、適切なネットワークセグメンテーションを提供しました。

開発ツールやサービスへの信頼性の高いアクセスを提供するため、AnyCompany Games にはドメイン管理が必要でした。彼らは自社ドメイン用に Amazon Route 53 ホストゾーンを設定し、以下を実現しました。

一元化されたドメイン管理
DNS レコードの自動更新
他の AWS サービスとの統合
AWS Certificate Manager を通じた SSL 証明書管理

このネットワークと DNS のインフラストラクチャ基盤により、AnyCompany Games はゲーム開発ツールとサービスをサポートするために必要な、安全でスケーラブルな基盤を手に入れました。彼らはInfrastructure as Code( IaC ) アプローチを使用して、インフラストラクチャ構成をバージョン管理し、異なる環境間で一貫してデプロイしました。

AnyCompany Games は Infrastructure as Codeとしてインフラストラクチャをデプロイし、Perforce を使用するためのネットワークインフラストラクチャの準備ができました。

以下のアーキテクチャ図は、この記事全体を通じてこのアーキテクチャ内に配置される Perforce と Horde リソースをホストする基盤を表しています。

Route 53 DNSサービスが上部に配置され、インターネットゲートウェイに接続しているAmazon VPCネットワークアーキテクチャ図。インフラストラクチャはVPC内に収容されています。2つのアベイラビリティーゾーンが並列に描かれており、それぞれ同一のコンポーネントで構成されています。上部セクションにはNATゲートウェイを備えたパブリックサブネット、下部セクションには現在空のプライベートサブネットがあります。インターネットゲートウェイは両方のNATゲートウェイに水平方向に接続され、プライベートサブネット内のリソースに対して安全なアウトバウンドインターネット接続を可能にしています。この図は、パブリックサブネットとプライベートサブネットの分離を伴う、高可用性AWS環境のための基盤となるマルチAZネットワークインフラストラクチャを示しています。

図1: ネットワークアーキテクチャ

クラウドでのバージョン管理に Perforce P4 サーバーを使用する

ゲーム開発における重要なコンポーネントはバージョン管理であり、AnyCompany Games には、大容量のバイナリアセット、複雑なブランチ戦略、そして分散した労働力に対応できる堅牢なソリューションが必要でした。Perforce P4 サーバーが適切な答えとなるでしょう。しかし、そのセットアップに貴重な開発時間が奪われてしまいます。

Cloud Game Development Toolkit の Perforce モジュールを使用して、彼らはわずか数行のコードでバージョン管理システム全体をデプロイすることができました。terraform applyコマンドを実行するだけで、Perforce サーバー、コードレビューシステム、認証サービスがクラウド上で稼働しました。

Perforce モジュールは3つの統合されたコンポーネントをデプロイしました。P4 サーバーは、バージョン管理のパフォーマンスに最適化された Amazon Elastic Block Store( Amazon EBS )ボリュームを備えた Amazon Elastic Compute Cloud( Amazon EC2 )インスタンス上で実行されています。次に、P4 Code Review と P4 Authentication Service の両方が、Amazon Elastic Container Service( Amazon ECS )の共有クラスター上のタスクとして実行され、安全な認証とコラボレーション機能を提供しています。

セットアップには数週間ではなく数時間しかかからず、モジュールはチームが P4 One クライアントを接続するための接続文字列と設定詳細まで提供しています。

このツールキットは、Perforce の認証のセットアップを自動化し、Helix Authentication Extension のインストールを処理し、P4 Authentication Service をデプロイし、安全なアクセスのための認証サービスを設定しています。

Perforce をデプロイした後、AnyCompany Games の分散チームはついに効果的にコラボレーションできるようになりました。シアトルのアーティストが大容量ファイルをチェックインする一方で、フロリダのプログラマーは同時にエンジンの変更作業を行うことができました。

以下のアーキテクチャ図は、P4 Server、P4 Code Review、P4 Auth サービスを含む、AWS 上の Perforce のデプロイ構成を示しています。

VPC内のマルチアベイラビリティーゾーンPerforceインフラストラクチャデプロイメントを示すアーキテクチャ図。上部のRoute 53がインターネットゲートウェイを通じて2つのミラーリングされたアベイラビリティーゾーンに接続しています。各アベイラビリティーゾーンには、NATゲートウェイを備えたパブリックサブネット、EBSストレージが接続されたAmazon EC2 P4コミットサーバー、およびPerforce Network Load Balancerが含まれています。各アベイラビリティーゾーンのプライベートサブネットには、Amazon ECSサービス(左側にp4-auth-service、右側にp4-code-review-service)、Perforce Application Load Balancer、および認証とコードレビュー用のECSタスクがホストされています。perforce-clusterという名前の中央ECSクラスターが、高可用性とフォールトトレランスのために双方向通信を伴って両ゾーン全体でコンテナ化されたサービスをオーケストレーションしています。

図2: アーキテクチャ図

Horde でビルドパイプラインを加速する

次の課題は、Unreal Engine プロジェクト用の CI/CD パイプラインのセットアップでした。チームには、現在のハードウェアを置き換えるための2つの選択肢がありました。高額で最新のハードウェアを購入し、必要な容量を見積もるか、AWS クラウドの従量課金モデルを活用して、必要に応じてサーバーをプロビジョニングおよびデプロビジョニングするかです。

バージョン管理に使用した Cloud Game Development Toolkit を見直してみると、チームは、すぐにデプロイ可能な専用 CI/CD ツールも含まれていることを発見しました。Unreal Engine を使用していたため、彼らはツールキットの Horde モジュールをデプロイすることに決めました。

Hordeとは?

Unreal Engine Horde は、Epic Games によって開発された、ビルドとテストの自動化のための専用 CI/CD システムです。Epic Games によって設計され、Unreal Engine と統合するように作られており、Fortnite などの主要タイトルの開発に使用されています。Unreal Engine Horde は、プロジェクトのビルドとコンパイル方法を定義する Unreal Engine ビルドグラフシステム( Unreal BuildGraph )を標準で理解しています。これにより、汎用的な CI/CD ツールと比較して、Unreal ビルドプロセスとのより優れた統合が可能になります。

Horde は、アセットコンパイルやシェーダー処理などのリソース集約的なタスクの管理など、ゲーム開発に特化して最適化された分散ビルド機能を提供することで、CI/CD パイプラインの強化を支援します。これらの機能は、Unreal Build Accelerator のリモート実行機能と組み合わせることで、ビルド時間の短縮を可能にし、チームの生産性を向上させることができます。Hordeの機能の詳細については、公式の Unreal Engine Documentation を参照してください。

ツールキットの例を使用して、AnyCompany Games は AWS 環境に Horde を迅速に追加することができました。

Horde モジュールは、Horde サーバー用の Amazon DocumentDB( MongoDB互換 )クラスターと Amazon ElastiCache クラスターを自動的にデプロイし、サーバー設定用の環境変数を提供し、Auto Scalingグループを使用したエージェントのデプロイをサポートしています。

全体的に見ると、CI/CDに関するチームの要件も実現しています:

Horde Controller – ビルドジョブとエージェントを管理する中央サービス
ビルドエージェント – 実際のビルド作業を実行する Auto Scaling EC2 インスタンス
Perforce 統合 – バージョン管理システムへのシームレスな接続
Webインターフェース – ビルドを監視するためのユーザーフレンドリーなダッシュボード
認証 – 既存システムと統合された安全なアクセス制御

Horde のデプロイにより、2つの要件が満たされました。第一に、チームは Unreal Build Accelerator を使用できるようになり、Wine を使用して Linux マシン上で Windows ターゲットへのコンパイルを分散することで、ビルド速度の向上を実現しました。第二に、Horde の機能により、ゲームクライアント、マルチプレイヤーサーバー、エディターを含む異なる環境向けのビルドを構成するツールが提供されました。

以下の拡張されたアーキテクチャ図は、サポートするAWSサービスとともに、Amazon ECS上で実行されているPerforceとHordeの両方を示しています。

高可用性マルチAZデプロイメントを示すAWSアーキテクチャ図。上部のRoute 53がインターネットゲートウェイを通じてトラフィックをルーティングし、2つのアベイラビリティーゾーンにまたがるVPCに接続しています。各アベイラビリティーゾーンには、NATゲートウェイを備えたパブリックサブネット、EBSストレージを持つEC2 P4コミットサーバー、およびPerforce Network Load Balancerが含まれています。各アベイラビリティーゾーンのプライベートサブネットには、Hordeサービスに接続されたHorde Application Load Balancer、認証とコードレビュー用のAmazon ECSサービス、Perforce Application Load Balancer、およびECSタスクがホストされています。perforce-clusterという名前の中央Amazon ECSクラスターが、高可用性とフォールトトレランスのために両アベイラビリティーゾーン間で双方向通信を行いながら、両ゾーン全体でコンテナ化されたサービスをオーケストレーションしています。

図3: 拡張されたアーキテクチャ図

Cloud Game Development Toolkit がもたらす効果

AnyCompany Games にとって、Cloud Game Development Toolkit は単に技術的な課題を解決しただけでなく、開発プロセス全体の変革を支援しました。パイプラインのセットアップ後、チームは実際のゲーム開発に集中できるようになりました。Cloud Game Development Toolkit は、インフラストラクチャの構築を簡素化し、ゲームの開発ニーズに合わせてAWSリソースを自動的に設定しました。

AnyCompany Games にとって、Cloud Game Development Toolkit は以下のような重要なメリットを提供しました:

ゲームに特化した最適化 – ツールキットは、Unreal Engine 、大容量バイナリアセット、分散チームに必要なアプリケーションを、ベストプラクティスを組み込んだ状態でデプロイしました。
Infrastructure as Code( IaC ) – IaCを定義できる機能により、チームは変更を追跡し、構成をテストし、環境を確実に複製できるようになりました。
組み込まれた AWS ベストプラクティス – AWS ベストプラクティスが組み込まれているため、チームはゲーム開発を優先でき、ツールキットはより安全で、スケーラブルで、再現可能なインフラストラクチャを実現しました。
スケーラビリティ – AnyCompany Games が成長を続けるにつれて、インフラストラクチャも共に成長できます。ビルドエージェントを5台から50台に拡張することは、簡単な設定変更で実現できます。オンプレミスで同じ結果を達成するには、サーバーラックのプロビジョニングとデプロビジョニングに数か月を要するでしょう。

スタートアップとして、コスト管理は AnyCompany Games にとって重要でした。ツールキットによるAWSベストプラクティスの実装により、費用の最適化も実現しています:

Auto Scaling – オフピーク時にリソースを縮小
スポットインスタンス – ビルドエージェントが EC2 スポットインスタンスを使用し、コンピューティングコストを最大90%削減
適切なサイジング – インフラストラクチャコンポーネントが実際のニーズに合致
従量課金制 – 多額の初期ハードウェア投資が不要
リポジトリのフォーク – スタジオの成長と変化に合わせてリポジトリを拡張可能

インフラ管理ではなく、ゲーム制作に集中

AWS で Cloud Game Development Toolkit を使用することで、架空の AnyCompany Games は、インフラストラクチャの習得に時間を費やすのではなく、彼らが最も得意とすること、つまり革新的なゲームの創造に集中できるようになりました。

Cloud Game Development Toolkit を使い始めるには、まずインフラストラクチャの課題を特定します。それがバージョン管理、ビルド自動化、またはその両方であるかを見極めましょう。Amazon VPC と Route 53 モジュールを使用してネットワーク基盤をデプロイし、次に Perforce モジュールでバージョン管理を追加します。チームメンバーがアセットを共有して作業できるようになったら、ビルド自動化のために Horde モジュールを実装します。このプロセス全体を通じて、スタジオ固有の要件に合わせて Terraform モジュールを調整してください。

AWS の豊富なドキュメントとサポートリソースを活用することで、さまざまな規模のゲームスタジオが自信を持ってクラウドへの移行を開始できます。Cloud Game Development Toolkit は、業界のベストプラクティスと一般的なゲーム開発ワークフローに沿った事前設定済みテンプレートを提供することで、この移行を簡素化します。AWS の担当者に連絡して、貴社のゲームスタジオがクラウドを始めるためにどのようにサポートできるかをご確認ください。

参考資料

ゲームスタジオのクラウド移行を加速する準備はお済みですか?準備ができているようであれば以下のリソースも併せてご参照ください:

Cloud Game Development Toolkit はオープンソースプロジェクトです。AnyCompany Games は、ゲーム開発における一般的な課題と解決策を説明するために作成された架空のスタジオです。AWS および AWS ロゴは、米国および/またはその他の国における Amazon.com, Inc. またはその関連会社の商標です。

Basim Siddiqui

Basim Siddiqui

Basim Siddiqui は、AWS で3年以上働いているソリューションアーキテクトです。ゲーム業界に焦点を当て、あらゆる規模の新規および既存の AWS ゲーム顧客にベストプラクティスと技術的なガイダンスを提供しています。彼は、ゲームスタジオが可能な限り最高の体験を創造できるよう支援するため、新しい AWS クラウド技術を学ぶことに情熱を注いでいます。

Issac Accord

Issac Accord

Issac Accord は AWS のソリューションアーキテクトで、ゲーム業界の顧客と協力して、既存の AWS フットプリントの改善と強化に取り組んでいます。

Josh Albert

Josh Albert

Josh Albert は、ゲーム業界に特化したソリューションアーキテクトです。新規および小規模なゲームスタジオが AWS サービスを活用して、より効率的にゲームを構築し、開発サイクルを強化できるよう支援することを専門としています。

Comments are closed.