12. AWS Gaming
Region
① HTTP APIを⽤いてログイン
② Game Assetsをダウンロード
③ Game Serverのマッチメイク
EC2
オンラインゲームのフロー
EC2
EC2
13. AWS Gaming
Region
① HTTP APIを⽤いてログイン
② Game Assetsをダウンロード
③ Game Serverのマッチメイク
④ Serverへ接続
⑤ 離れた仲間と対戦
⑥ ゲームオーバー
オンラインゲームのフロー
EC2
EC2
14. AWS Gaming
Region
① HTTP APIを⽤いてログイン
② Game Assetsをダウンロード
③ Game Serverのマッチメイク
④ Serverへ接続
⑤ 離れた仲間と対戦
⑥ ゲームオーバー
⑦ HTTP APIを使って結果の書き込み
オンラインゲームのフロー
EC2
EC2
23. AWS Gaming
Auto Scalingによる自動拡大/縮小
• Auto Scaling
– EC2を負荷に応じて自動的に拡大/縮小させる仕組み
– オートヒーリング
– 例) CPU使用率が5分以上継続して70%以上だったら2台追加
Auto Scaling Group
ELB
CloudWatch
負荷状況を監視
EC2を追加構築
ELBの振り分けに追加
Web Web Web Web
38. AWS Gaming
VPC Subnet
Availability Zone A Availability Zone B
VPC Subnet
Auto Scaling group
WEB WEB
VPC Subnet
JOBS
Server manager table
ゲームサーバの起動、登録管理
CodeDeploy
39. AWS Gaming
VPC Subnet
Availability Zone A Availability Zone B
VPC Subnet
Auto Scaling group
WEB WEB
VPC Subnet
JOBS
Server manager table
Amazon GameLift
CodeDeploy
Amazon
Gamelift
Game
Binary
バックエンドに関する経験は不要 !
50. AWS Gaming
Availability
Zone A
Availability
Zone B
S3
• Lambdaファンクションか
ら各AWSサービスを利⽤
• 認証にはCognito
CloudFront
CDN
S3
AWS Region
API Gateway
Lambda
DynamoDB
Cognito
クラウドネイティブなServerless
ゲームアーキテクチャ
51. AWS Gaming
Availability
Zone A
Availability
Zone B
S3
• Lambdaファンクション
からAWSサービスを操作
• 認証にはCognitoを
利⽤
• EC2を利⽤した別システ
ムへのアクセスも可能
CloudFront
CDN
S3
AWS Region
API Gateway
Lambda
DynamoDB
Cognito
EC2
クラウドネイティブなServerless
ゲームアーキテクチャ
52. AWS Gaming
API Gateway( /games GET - ゲームリスト取得)
DynamoDB Table
“games”
Lambda Function
“getGames”
API GW
/games GET
Response
Request