Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Amazon GameLift – 김성수 (AWS 솔루션즈 아키텍트)

321 visualizaciones

Publicado el

본 게시물은 2019년 6월 18일에 AWS Game Team에서 진행한 GameLift 교육 자료입니다. GameLift는 클라우드에서 세션 기반 멀티플레이 게임 서버를 배포, 운영, 조정하는 데 사용되는 완전 관리형 서비스입니다. Amazon GameLift를 사용해 최고의 동급 전용 게임 서버 호스팅을 확보하십시오.

Publicado en: Tecnología
  • DOWNLOAD FULL eBOOK INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • DOWNLOAD FULL eBOOK INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL. PDF eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. PDF eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. EPUB eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... 1.DOWNLOAD FULL. doc eBook here { https://tinyurl.com/y3nhqquc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, CookeBOOK Crime, eeBOOK Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Sé el primero en recomendar esto

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. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
  3. 3. © 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
  4. 4. © 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
  5. 5. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift Builds FlexMatchFleets Aliases Clients Queues
  6. 6. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Builds Explained • Upload via AWS CLI or SDK • Store multiple builds • Supported Operating Systems: • Linux • Windows • Server SDKs: • C++ • C# • Unreal Plugin • Lumberyard integration Builds
  7. 7. © 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
  8. 8. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleets Explained Fleets represent the deployed state of your game build. They enable you to define how your build should be hosted within Amazon GameLift including: • Instance Type • Region • Scaling Policies • Capacity Limits • Number of processes per instance Fleets
  9. 9. © 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
  10. 10. © 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)
  11. 11. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleet Events See events that take place in the fleet at the game session or instance level. Events reported include: • Scaling • Information • Warnings • Errors • Crashes
  12. 12. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Fleet – Game Sessions Track running game sessions running in a fleet in real time. Drill down to see player session information.
  13. 13. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amazon GameLift Spot • Prices adjust based on demand for instance capacity • GameLift managed spot fleet selection via FleetIQ • Linux and Windows instances available • Minimal risk of instance termination which can be managed via notification Spot Fleets allow you to run your game servers in Amazon GameLift at a lower hourly rate.
  14. 14. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases Explained Aliases allow you to redirect game clients to a fleet that it specifies or to notify clients that a fleet is out of service. Move a build through different environment types for example, Development, Test or Production. There are two types of Alias available: • Simple – A simple redirect points to an associated fleet, the fleet an Alias resolves to can be updated at any time • Terminal – This does not resolve to a fleet, instead it passes back a specified message back to the client. Aliases
  15. 15. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Simple Redirect New Players Build A Fleet A Client Developer Alias
  16. 16. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Simple Redirect New Players Build A Fleet A Client Developer Fleet BBuild B Alias
  17. 17. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Simple Redirect Build A Fleet A Client Fleet BBuild B Alias New PlayersDeveloper
  18. 18. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Terminal Message New Players Build A Fleet A Client Developer Alias
  19. 19. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Terminal Message Build A Fleet A Client Terminal Message Alias New PlayersDeveloper
  20. 20. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Aliases – Terminal Message Build A Fleet A Client Terminal Message Alias New PlayersDeveloper
  21. 21. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues Explained Queues automate the process of efficiently allocating new game sessions on any fleet in a group. Queues are configurable and allow you to determine several options that are used when Amazon GameLift places a session: • Queue Timeout • Member Fleets • Fleet Priority • Latency policies Queues
  22. 22. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues – Member Fleets • Place Fleets in AWS Regions close to your Players for the best experience. • 14 Commercial Regions supported by Amazon GameLift. • Region 15 (Paris) coming soon. • Both Fleets and Aliases can be configured for use by a Queue. • Queues can combine on-demand and spot instances from multiple regions. Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue
  23. 23. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues – Fleet Priority • Prioritize your destinations (Fleets or Aliases) to indicate the preferred fleet order. • Amazon GameLift uses the priority to locate the best available session, starting with the first priority and moving down. • When using Spot Instances set this Fleet to a higher priority, then set an On- Demand Fleet below for cases where Spot capacity is not available. Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue 1 2 3
  24. 24. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Queues – Player Latency Policies • Set a maximum acceptable player latency for new game sessions. • Specify the amount of time to enforce the policy. • Multiple policies can be specified. • If placing a group of Game Sessions latencies are averaged. Fleet (Virginia) Fleet (Frankfurt) Fleet (Singapore) Queue 43 ms 20 ms 87 ms
  25. 25. © 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.
  26. 26. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Clients Explained Amazon GameLift supports any game client or game service that is able to make use of one of the AWS supported SDKs, languages include: • C++ • C# • Go • Python • JavaScript/Node.js • Java Clients
  27. 27. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Clients – Best Practices • Accept Client requests via a central “Game Service” • Integrate with Amazon GameLift from the Game Service to help isolate clients from change • Authenticate game clients upon request to the Game Service • Capture latency information from Clients by pinging AWS endpoints Group Client Client Client Client Game Service Amazon GameLift Integrates AWS SDK
  28. 28. © 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
  29. 29. GameLift SDK Integration(1/2)
  30. 30. GameLift SDK Integration(2/2)
  31. 31. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Explained FlexMatch • Customizable Matching • Player Group Support • Latency-based Matching • Rule Relaxing • Match Accept • Best Region Placement • Player drop in/out support with FlexMatch Backfill
  32. 32. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Analytics • Success/Failure Rates • Player Demand • Time to Match • Rule Effectiveness
  33. 33. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Analytics • Success/Failure Rates • Player Demand • Time to Match • Rule Effectiveness
  34. 34. © 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
  35. 35. Amazon GameLift FlexMatch 1. Game Clients tell your Game Service they want to play multiplayer Group Client Client Client Client Game Service
  36. 36. © 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
  37. 37. © 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
  38. 38. © 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
  39. 39. © 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
  40. 40. © 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
  41. 41. © 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
  42. 42. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. FlexMatch Rule Sets Amazon GameLift FlexMatch Rule Sets
  43. 43. © 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
  44. 44. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  45. 45. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  46. 46. © 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
  47. 47. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  48. 48. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  49. 49. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  50. 50. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  51. 51. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  52. 52. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  53. 53. © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved. • Custom attributes • Team definitions • Matchmaking rules • Expansions to relax rules FlexMatch Rule Sets
  54. 54. © 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.
  55. 55. © 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
  56. 56. Architecture Overview 오늘 구축해 볼 게임 서비스
  57. 57. 오목 PvP 게임
  58. 58. 최종 아키텍처
  59. 59. Hands-on Labs Step by Step
  60. 60. Step 1: DynamoDB, ElastiCache, SQS DynamoDB Table • 플레이어 정보 테이블 • PlayerName, Password, ELO점수, 승패 카운트 ElastiCache – Redis • 플레이어 ELO 점수기반 랭킹 저장 • Sorted Set 자료구조 SQS • 게임 결과 정보 임시 저장용 • GameServer로부터 결과를 받아 DynamoDB에 반영하기 전까지 Queueing용
  61. 61. 아키텍처 Step 1
  62. 62. 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 테이블에 반영하는 함수
  63. 63. 아키텍처 Step 2
  64. 64. Step 3: API-GW, S3 Static Website Ranking Website • 웹페이지를 통하여 플레이어들의 랭킹 정보를 확인할 수 있는 웹사이트 구축 • API-Gateway를 통하여 Game-Rank-Reader 람다 호출 • S3에 웹페이지를 위한 HTML 및 Javascript 저장 • S3의 Static website hosting 기능 사용 • Javascript에서 API-GW를 호출하여 랭킹정보 읽어옴
  65. 65. 아키텍처 Step 3
  66. 66. Step 4: GameLift, Matchmaking EC2 MatchMaker • 매치메이킹 서버를 위해 EC2를 사용 • 플레이어 DynamoDB테이블 정보(ID/PW) 통한 간단 인증 수행 • 1:1 매치메이킹 및 GameLift에게 세션 요청 (Client API 호출) • FlexMatch기능을 사용하면 EC2 대신 Lambda로 대체가능 GameLift에 게임 서버 통합 • 게임 서버 호스팅 및 스케일링 • GameLift Server SDK 연동된 서버 업로드 및 플릿 생성 • ALIAS 생성후 플릿과 연결 • MatchMaker는 ALIAS를 통해 플릿과 통신
  67. 67. Well Done
  68. 68. Play Test 클라이언트를 2개 실행 • 서로 다른 ID 설정 (config.ini)
  69. 69. Hands-on-Lab 실습용 Asset 다운로드 https://gameliftholkr.s3.ap-northeast-2.amazonaws.com/GameLiftHol.zip Hands-on-Lab 가이드 문서 http://bit.ly/HOL-GameLift
  70. 70. Thank You amazon.com/gamelift/ © 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

×