Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트

2,994 views

Published on

AWS를 사용하는 게임 고객사를 대상으로 ‘Amazon GameLift 세션’ 을 준비했습니다.
GameLift는 클라우드에서 세션 기반 멀티플레이 게임 서버를 배포, 운영, 조정하는 데 사용되는 완전 관리형 서비스로, 본 행사에서는 Amazon GameLift를 이용한 세션형 1:1 게임 배포 실습을 진행합니다.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

게임사를 위한 Amazon GameLift 세션 - 이정훈, AWS 솔루션즈 아키텍트

  1. 1. Amazon GameLift Technical Overview 이정훈, Solutions Architect, Gaming, AWS 2019 © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  2. 2. Agenda • Overview • 서비스 구성 요소(Builds, Fleets, Aliases, Queues, Clients) • FlexMatch • New Features • Reference Design © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  3. 3. Overview
  4. 4. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  5. 5. Anti cheat – 서버에서 게임 클라이언트 패킷의 유효성을 검사하고 플레이어들의 행동을 모니터링 할 수 있습니다. 복잡한 백앤드의 구축을 단순화 - 서버에서 복잡한 게임 로직 처리 더 큰 규모의 게임 세션 운영 – 배틀 로얄 스타일 게임에 적합합니다. 개선된 지연시간 – 서버들을 플레이어들과 더 가까운 곳에 둘 수 있습니다. 게임 개발 가속 - P2P 구성시 필요한 NAT Punch와 같은 복잡한 요구사항을 구현하지 않아도 됩니다. Why use the cloud for multiplayer games?
  6. 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 더 많은 지역에서 호스팅 = 더 짧은 서버 지연 6 1 5 10 15 37% reduction Number of AWS Regions
  7. 7. 알면서도 못 하는 항목들 • 사용자가 몰리는 시간대에 서버를 늘리고 싶습니다만… • 전 세계 사용자들이 이용할 수 있도록 여러 지역에 게임서버를 배포하고 싶지만… • 장애가 자동으로 복구 되는 게임 서비스를 만들고 싶지만… • 사용자가 만족할 수 있는 매치메이킹 시스템을 구현하고 싶지만… • 클라우드가 용량 부분을 해소할 수 있다고 가고 싶지만… 7 © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  8. 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. What is Amazon GameLift? Infrastructure Management • Auto-scaling • High-availability (Multi-AZ) • Automatic x-region failover • DDoS Protection Session Management • Player & Game sessions • Worldwide placement • Matchmaking (FlexMatch) Infrastructure$ Time Auto scaling - More exacting capacity Infrastructure$ Time Wasted $ Upfront expenditure – Scaling for peak Auto scaling with Amazon GameLift Traditional IT Provisioning
  9. 9. Amazon GameLift 서비스 구성 요소
  10. 10. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift • Amazon GameLift service • Game clients • Game servers (fleet) - Game session (server process) • Game services • External services • Developer tools
  11. 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift Builds FlexMatchFleets Aliases Clients Queues
  12. 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Builds Explained AWS CLI나 SDK를 사용하여 Build 업로드 및 복수의 build 저장이 가능합니다. 지원 OS: Linux Windows 지원되는 Server SDK: C++ C# Unreal Plugin Lumberyard integration Builds
  13. 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Build Dashboard • Access key information about builds stored in Amazon GameLift: • Status • Version • OS • Size • Number of fleets using this build
  14. 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleets Explained Fleets에 Game build들이 배포되며 Game build와 Fleets는 일대일 매칭 됩니다. Fleets에 Game build들이 Amazon GameLift에서 어떤 방식으로 호스팅 될 지 다음 항목들을 정의할 수 있습니다.  Instance Type  Region  Scaling Policies  Capacity Limits  Number of processes per instance Fleets
  15. 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleet Metrics • Game/Player Sessions • Game Server Processes • Number of Instances • Instance Performance • Scaling Limits
  16. 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleet Scaling Policies Set multiple automatic scaling polices that match the demand for your game. Policies can be configured to use the metrics available in GameLift such as: • Target-based - percent available game sessions • Rule-based (CLI or SDK only) - Player Sessions - Game Sessions - Instances - Average Player Wait Time (Queue) - Queue depth (Queue)
  17. 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleets Events Fleets Event를 통하여 게임 세션이나 인스턴스 레벨의 이벤트들을 다음과 같이 모니터링 할 수 있습니다.  Scaling  Information  Warnings  Errors  Crashes
  18. 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleets – Game Sessions Fleet에서 실행중인 game session들의 정보를 실시간으로 확인할 수 있습니다. 각 게임 세션 내에서는 플레이어 세션 정보를 확인할 수 있습니다.
  19. 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases Explained Alias를 활용하면 게임 사용자 연결을 개발이 아닌 운영 단계에서 결정할 수 있습니다. Alias를 활용하여 Build들을 Alias를 이용하여 개발계, 검증계, 다양한 버전의 Live 환경 등 서로 다른 다양한 환경으로 사용자 impact를 최소화하면서 배포할 수 있습니다. 현재 다음 두 가지 type의 Alias를 제공합니다.  Simple – 설정된 fleet으로 요청을 simple redirect를 합니다. Alias와 연결된 fleet은 언제라도 업데이트할 수 있습니다.  Terminal – Terminal type의 경우 요청을 fleet으로 redirect하지 않고, 클라이언트에 특정 메시지(점검중/업데이트 필요 등)를 반환합니다. Aliases
  20. 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Simple Redirect New Players Build A Fleet A Client Developer Alias
  21. 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Simple Redirect New Players Build A Fleet A Client Developer Fleet B Build B Alias
  22. 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Simple Redirect Build A Fleet A Client Fleet B Build B Alias New PlayersDeveloper
  23. 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Terminal Message New Players Build A Fleet A Client Developer Alias
  24. 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Terminal Message Build A Fleet A Client Terminal Messag e Alias New PlayersDeveloper
  25. 25. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Terminal Message Build A Fleet A Client Terminal Messag e Alias New PlayersDeveloper
  26. 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues Explained Queue는 새로운 게임 세션들을 그룹내 Fleet에 할당하는 과정을 효율적으로 자동화합니다. 또한 Queue는 다음과 같은 설정을 통해 Amazon GameLift에 게임 세션들을 배치하는 옵션을 조정할 수 있습니다.  Queue Timeout  Member Fleets  Fleet Priority  Latency policies Queues
  27. 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues – Member Fleets  최상의 플레이어 경험을 위하여 플레이어와 근접한 AWS Region들에 Fleet들을 배치합니다.  현재 Amazon GameLift는 최근 런칭한 Beijing Region을 포함하여 15개 Region을 지원합니다.  16번째 Region인 Paris도 곧 지원예정입니다.  Queue의 대상으로 Fleets 혹은 Aliases를 설정할 수 있습니다.  Queue에서 복수 Region의 on-demand와 spot 인스턴스들을 묶어서 대상으로 설정하는 것이 가능해집니다. Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue
  28. 28. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues – Fleet Priority  선호하는 Fleets 순서를 설정하여 Queue의 대상(Fleets나 Aliases) 우선순위를 지정할 수 있습니다.  Amazon GameLift는 지정된 우선순위를 활용하여 게임세션을 배치할 최적의 대상을 결정합니다.  Spot Instance들로 구성된 Fleet이 더 높은 우선 순위를 가지도록 설정하고 On-demand Instance들로 구성된 Fleet들을 다음 우선 순위로 설정하면 우선 Spot Instance로 서비스하고 Spot Instance 가용량이 부족할 경우 On-demand Fleets로 서비스하도록 구성이 가능합니다. Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue 1 2 3
  29. 29. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues – Player Latency Policies  새 게임 세션을 배치할 때 수용 가능한 최대 player latency를 설정할 수 있습니다.  조건에 맞는 대상을 찾을 때까지 사용할 시간을 지정할 수 있습니다.  복수의 정책을 적용할 수 있습니다.  게임세션들의 그룹을 배치할 때에는 latency는 평균으로 계산됩니다. Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue 43 ms 20 ms 87 ms
  30. 30. GameLift가 사용 가능한 모든 리전에서 Linux/Windows 모두 사용 가능합니다. Spot 인스턴스의 가격은 수요/공급 추이에 따라 조정됩니다. Spot 가격은 On-Demand 가격을 초과하지 않습니다. GameLift는 추가적으로 FleetIQ 기능으로 Spot 인스턴스 사용 여부를 결정합니다. Amazon GameLift Spot
  31. 31. FleetIQ 는 어떻게 Spot Instance의 Interruption 빈도를 분석할까요? 32 EC2 Spot Instance Advisor Spot 가격의 변경 이력을 분석하고 Interruption 발생 확률에 따라 low, medum,high로 분류합니다. GameLift Interruption and Usage Data GameLift 고객 및 내부 테스트 Fleet들의 모든 게임 세션 및 인스턴스의 사용량과 game session interruption을 추적하여 학습합니다. GameLift Instance Block List GameLift 고객의 Spot Instance중 어떤 것에서라도 Interruption이 발생하면, 모든 고객의 새 게임 세션 배포시 해당 인스턴스 타입의 활용을 일시적으로 중단합니다. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 1 2 3
  32. 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. How FleetIQ Works 1. FleetIQ filters the queue's destinations to remove fleets with a latency limit and unacceptable interruption rate’s spot fleet 2. FleetIQ re-orders the queue destinations by region, those with lowest average player latency listed first if player latency data is provided 3. If the destination list was prioritized by region, FleetIQ selects the fleet in the lowest-latency region with the lowest price 4. If the destination list was not prioritized, FleetIQ selects the first viable fleet from the original list, even if there are lower priced spot fleets on the list.
  33. 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Clients Explained Amazon GameLift는 AWS SDK를 활용 가능한 모든 게임 클라이언트나 게임 서비스를 지원 가능합니다. AWS SDK가 제공되는 언어는 다음과 같습니다.  C++  C#  Go  Python  JavaScript/Node.js  Java Clients
  34. 34. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Clients – Best Practices 게임 클라이언트에 직접 GameLift를 통합하는 대신, 게임 클라이언트의 요청을 받아 처리하는 “Game Service”를 구현하면 다음과 같은 이점을 얻을 수 있습니다.  Game Service에서 Amazon GameLift를 연동하면 GameLift 관련 구현 변경을 게임 클라이언트와 분리시켜 불필요한 업데이트를 줄일 수 있습니다.  Game Service를 통해 Game client 요청들을 처리하기 전에 인증을 처리할 수 있습니다.  AWS endpoints에 대한 ping을 통해 측정한 Client들의 latency를 수집하고 이를 세션 배치에 활용할 수 있습니다. Group Client Client Client Client Game Service Amazon GameLift Integrates AWS SDK
  35. 35. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. End to end – Multi Region Deployment Group Client Client Client Client Game Service Amazon GameLift Game Session Placement Request Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue Integrates AWS SDK Integrates Amazon GameLift Server SDK
  36. 36. GameLift SDK Integration(1/2)
  37. 37. GameLift SDK Integration(2/2)
  38. 38. UNREAL SUMMIT 2019 Amazon GameLift Unreal Engine 4 integration UE4 적용 편의를 위해 Amazon GameLift Server SDK는 UE4 plugin 을 제공합니다. 1. GameLift 홈페이지에서 Amazon GameLift Server SDK를 다운로드합니다. 2. Amazon GameLift Server SDK는 UE4 버전별 Plugin을 포함하고 있습니다. 3. 버전에 맞는 Plugin을 UE4 프로젝트에 Plugins 폴더를 만들어서 복사합니다.
  39. 39. UNREAL SUMMIT 2019 Amazon GameLift UE4 integration 4. 에디터 실행 후에 “플러그인” 에디터를 실행합니다. 5. “프로젝트” -> “Other”에서 GameLiftServerSDK를 활성화합니다. 6. 에디터 재시작 및 빌드가 완료되면 적용이 완료됩니다.
  40. 40. UNREAL SUMMIT 2019 Amazon GameLift Unity Integration 1. 개발하고자 하는 .Net 버전에 따른 Amazon GameLift SDK 라이브러리를 다운로드 받고 빌드 2. Unity Editor에서 Scripting runtime version 체크 3. Unity Editor에서 1번에서 빌드한 라이브러리를 import
  41. 41. Amazon GameLift FlexMatch
  42. 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Explained FlexMatch  설정 가능한 Match Making  플레이어 그룹(팀/파티) 지원  Latency 기반 Matching  지나친 대기시간을 줄이기 위한 규칙 완화 정책 지원  동의 기반 Match Making 지원  최적의 Region 배치 지원  FlexMatch Backfill을 이용한 사용자 제외/추가 지원
  43. 43. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Analytics • Success/Failure Rates • Player Demand • Time to Match • Rule Effectiveness
  44. 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Analytics • Success/Failure Rates • Player Demand • Time to Match • Rule Effectiveness
  45. 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Group Client Client Client Client Fleet (Virginia) Integrates AWS SDK Amazon GameLift FlexMatch Rule Set Fleet (Frankfurt) Fleet (Singapore) Queue Integrates Amazon GameLift Server SDK Game Service
  46. 46. Amazon GameLift FlexMatch 1. Game Clients tell your Game Service they want to play multiplayer Group Client Client Client Client Game Service
  47. 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Game Service Amazon GameLift FlexMatch Rule Set 2. Game Service makes a StartMatchmaking request for one player or a group of players. • Unique Ticket Id • Unique Player Ids • Which Rule Set to use • Custom player data, e.g. “skill” StartMatchmaking
  48. 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Game Service Amazon GameLift FlexMatch Rule Set 3. The StartMatchmaking request gets a MatchmakingTicket in response, status SEARCHING • Ticket Id • Status = SEARCHING MatchmakingTicket
  49. 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Amazon GameLift FlexMatch Rule Set 4. Game Service polls with a DescribeMatchmaking Request. • Ticket Ids DescribeMatchmaking Game Service
  50. 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Amazon GameLift FlexMatch Rule Set 5. The DescribeMatchmaking request gets a MatchmakingTicket list in response • Ticket Id • Status = PLACING • List of Player Info MatchmakingTicket + Game Service
  51. 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Rule Set Queue 6. The MatchmakingTicket status changes to PLACING once a match is made and players are queued for a Amazon GameLift server • Ticket Id • Status = PLACING • List of Player Info MatchmakingTicket Amazon GameLift FlexMatch
  52. 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleet (Tokyo) Queue 7. Queued matches are placed into the Amazon GameLift Fleet with the best latency. • Ticket Id • Status = COMPLETED • List of Player Info • Game Session Info MatchmakingTicket + Amazon GameLift FlexMatch
  53. 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Rule Sets Amazon GameLift FlexMatch Rule Sets
  54. 54. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Rule Set • Unique Ticket Id • Unique Player Ids • Which Rule Set to use • Custom player data, e.g. “skill” StartMatchmaking Game Service FlexMatch Rule Sets
  55. 55. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Rule Sets Custom 속성 Team 정의 Matchmaking 규칙 Expansions을 이용한 규칙 완화 정책
  56. 56. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  57. 57. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift FlexMatch Rule Set • Unique Ticket Id • Unique Player Ids • Which Rule Set to use • Custom player data, e.g. “skill” StartMatchmaking Game Service FlexMatch Rule Sets
  58. 58. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  59. 59. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  60. 60. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  61. 61. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  62. 62. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  63. 63. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  64. 64. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  65. 65. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Backfill • Use same custom rule sets for Backfill matches • 1 or more slots can be filled with a single request • Quickly start sessions by starting a match with the minimum number of players and adding more as they are found FlexMatch Backfill can find players to join a game session that is already in progress. This is useful for games that have players drop in/out of a session.
  66. 66. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Client Client Client Client Fleet (Oregon) Fleet (London) Fleet (Tokyo) Amazon GameLift FlexMatch Rule Set Queue Game Service New Client Game Session BackFill Request FlexMatch Backfill
  67. 67. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Design approach – Segregated Platforms PC Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue Game Service PC Matchmaking RuleSet Amazon GameLift FlexMatch Console Console Matchmaking RuleSet Hybrid Hybrid Matchmaking RuleSet Mobile Mobile Matchmaking RuleSet
  68. 68. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Simplified Cross-Platform Matchmaking Console Mobile Fleet (Virginia) Amazon GameLift FlexMatch Common Matchmaking RuleSet Fleet (Frankfurt) Fleet (Singapore) Queue Game Service Hybrid PC
  69. 69. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  70. 70. Amazon GameLift new features
  71. 71. UNREAL SUMMIT 2019 GameLift – new features Realtime Servers – New!  플레이어 데이터 동기화, 주기적인 서버로직 실행, 상태 관리  Node.js 기반, javascript로 customize  수백만 플레이어 규모까지 자동확장  GameLift의 기존 Matchmaking 및 전용 게임 서버 호스팅 서비스와 통합 GameLift Server SDK update  GameLift Server SDK 3.3.0 부터 최신 버전 Unreal 4.21, Visual Studio 15 2017 등 주요 최신 게임 엔진 및 IDE와 호환  Unreal Engine plugin으로 FlexMatch backfill 기능 지원  에러메시지 개선 GameLift IAM role 지원  VPC peering 외에도 IAM role을 GameLift fleet에 적용하여 AWS resource 접근 제어 가능
  72. 72. Architecture Overview 오늘 구축해 볼 게임 서비스
  73. 73. 오목 PvP 게임
  74. 74. 최종 아키텍처
  75. 75. Hands-on Labs Step by Step
  76. 76. Step 1: DynamoDB, ElastiCache, SQS DynamoDB Table • 플레이어 정보 테이블 • PlayerName, Password, ELO점수, 승패 카운트 ElastiCache – Redis • 플레이어 ELO 점수기반 랭킹 저장 • Sorted Set 자료구조 SQS • 게임 결과 정보 임시 저장용 • GameServer로부터 결과를 받아 DynamoDB에 반영하기 전까지 Queueing용
  77. 77. Step 2: Lambda, Lambda, Lambda Game-Rank-Reader (Get Rank) • ElastiCache로 부터 플레이어의 랭킹 정보를 읽는 함수 Game-Rank-Update (Scoring) • DynamoDB 스트림으로부터 점수 업데이트 정보를 읽어서 Redis에 적재하는 함수 Game-SQS-Process (Game Result Processing) • SQS에 있는 게임 결과 정보(ELO 점수)를 읽어서 DynamoDB 테이블에 반영하는 함수
  78. 78. Step 3: API-GW, S3 Static Website Ranking Website • 웹페이지를 통하여 플레이어들의 랭킹 정보를 확인할 수 있는 웹사이트 구축 • API-Gateway를 통하여 Game-Rank-Reader 람다 호출 • S3에 웹페이지를 위한 HTML 및 Javascript 저장 • S3의 Static website hosting 기능 사용 • Javascript에서 API-GW를 호출하여 랭킹정보 읽어옴
  79. 79. Step 4: GameLift 기본 구성 GameLift에 게임 서버 통합 • 게임 서버 호스팅 및 스케일링 • GameLift Server SDK 연동된 서버 업로드 및 플릿 생성 • ALIAS 생성후 플릿과 연결
  80. 80. Step 5: Serverless FlexMatch 구성 GameLift에 FlexMatch를 위한 구성 • GameLift Queue 구성 • FlexMatch Rule set 구성 • FlexMatch configuration 구성 API Gateway 및 Lambda 구성 • Match request 람다 구성 • Match status 람다 구성 • API Gateway로 위의 람다와 연동
  81. 81. Step 6: Play Test 클라이언트를 2개 실행 • 서로 다른 ID 설정 (config.ini)
  82. 82. Hands-on-Lab 가이드 문서 bit.ly/HOL-GameLiftFlexMatch
  83. 83. Thank You amazon.com/gamelift/ © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

×