rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE Game Server RTA の概要 今年の Developer Zone では「ゲームサーバー」をいかに早く 構築できるかを競う Game Server RTA を開催します! 本イベントは RTA 走者(ソリューションアーキテクト)が 全力でゲームサーバーを構築する姿を眺めつつ、 実際にできたサーバーを使ったマルチプレイゲームで遊べます 2 0 2 2 年 5 月 開 催 の A W S S U M M I T O N L I N E で の 挑 戦
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE Windows: https://bit.ly/JAWSGameWin Mac https://bit.ly/JAWSGameMac 本日利用するゲームクライアントについて
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE 本日の攻略チャート 1. ビルドのアップロード 2. ビルドのデプロイ開始 3. プレイヤーセッション管理 4. マッチメイキング 5. ビルドのデプロイ完了 6. 動作確認 (Unity) G A M E L I F T の 新 コ ン ソ ー ル で 試 し て い く よ ! ! !
rights reserved. GameLift - Alias クライアントのコードを変えずにフリートを切り替える 2 つの仕組み シンプルエイリアス [機能] エイリアスを参照したときに特定のフリートにルーティングさせる機能 [⽤途] 新規のフリート(ビルド)をデプロイした時に安全にトラフィックを切り替える ターミナルエイリアス [機能] フリートにルーティングさせずに終了メッセージをクライアントに直接返す機能 [⽤途] ゲームの⼤きな更新時にクライアントのアップデートを促すメッセージを送る Aliases Fleet in Service New Fleet Alias Fleet in Service New Fleet Alias Client Operational Excellence Blue/Green デプロイにより容易に運⽤ できる仕組みを⽤意する 切り替え前後で稼働中の ゲームセッションは中断されない。 問題が発⽣したらすぐにロールバック可能
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Server Logic サーバーにアプリを置いただけの構成
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Server Logic サーバーにアプリを置いただけの構成 →これがゲームサーバーの最小要件ではあるが、 現実的にはスケール等を考えると運用が難しい
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Game Process Server Logic サーバーにアプリを置いただけの構成 →これがゲームサーバーの最小要件ではあるが、 現実的にはスケール等を考えると運用が難しい →コストも考慮してサーバー内で複数プロセスを立ち上げる
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server サーバー起動 Infra Op Server
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server プロセス起動 Infra Op Server
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server どのサーバーやどのプロセスに空きがあるか管理 → 空き状況を見てユーザーの配置を考えていく Game Session DB
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Process 側からもゲームの状態(待機中、終了)も同期 → ゲームプロセスの状態をリアルタイムに管理することで ステートフルサーバーのスケーリングを適切に実施する Status Report Game Session DB
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB 対戦リクエストをクライアントから API サーバー経由で受け取ると、 Session Server は空いている Game Session を見つけて Player Session(User IP や接続先サーバーや NW 状況等)を保持 → 不慮の切断時において User の再接続に備えることができる
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB 切断検知のために Game Process からもプレイヤーの状態を同期しておく
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Matchmaking 機能が必要な場合は、 Matchmaking のチケット(リクエスト)を保存して 最適な組み合わせを探せる Matching Server を開発する
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon EC2 を利用した汎用的なアーキテクチャ Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF 運用面での検討事項 • 運用監視、ロギング、デプロイ、 セキュリティなども全て考慮する • EC2 の場合 OS やインスタンス等 のインフラレイヤーの管理も行う
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 Game Server Hosting Service Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF IAM を使った認証と API/CLI/SDK 経由で API Call
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF Game Server の Scaling を 簡潔なポリシーの記述のみで実現
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Status Report Player Session DB Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF OS とインスタンスタイプを選ぶだけで EC2 インスタンスの管理不要
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Status Report Matching Server Matchmaking Ticket DB Amazon CloudWatch AWS CodeDeploy AWS WAF Game Session と Player Session 両方を管理可能 FleetIQ によりコスト効果の高いセッション配置が可能 (※詳細は BlackBelt Amazon GameLift をご参照ください) Game Session DB Player Session DB
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Status Report FlexMatch Amazon CloudWatch AWS CodeDeploy AWS WAF Game Session DB Player Session DB Matchmaking Ticket DB FlexMatch というマッチメーキング機能を提供 Match Making のルールは JSON で記述 (※利用自体は Optional で必須ではない)
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server Game Session DB Player Session DB FlexMatch Matchmaking Ticket DB 管理用ダッシュボード Blue Green Deployment DDoS 対策 監視やデプロイ セキュリティのための機能を マネージドに提供 Status Report
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server GameLift ServerSDK FlexMatch AWS CodeDeploy Game Session DB Player Session DB Matchmaking Ticket DB 管理用ダッシュボード Blue Green Deployment GameLift Server SDK を組み込むことで Session や Game Process 自体の管理を自動化
rights reserved. Amazon Confidential and Trademark. AWS GAME TECH TEMPLATE プレイヤー 対戦リクエスト ゲームサーバーと 通信 Amazon GameLift がラクにしてくれる部分 GameLift Game Server Game Process Server Logic API Server Infra Op Server Session Server GameLift ServerSDK FlexMatch Game Session DB Player Session DB Matchmaking Ticket DB 管理用ダッシュボード Blue Green Deployment DDoS 対策