More Related Content Similar to AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 2021 (20) More from Amazon Web Services Korea (20) AWS를 활용해서 글로벌 게임 런칭하기 - 박진성 AWS 솔루션즈 아키텍트 :: AWS Summit Seoul 20211. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
K O R E A | M A Y 1 1 - 1 2 , 2 0 2 1
2. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS를 활용해서
글로벌 게임 런칭하기
박진성
솔루션즈 아키텍트
AWS
3. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
글로벌 런칭으로 얻을 수 있는 장점
많이 주시는 질문 사항 : 글로벌 런칭하고 싶은데, 어떻게 하면 되나요?
고려해 보셔야 할 사항 : 성능 & 인프라 & 안정성 & 어플리케이션!
• 게임은 전통적으로 글로벌 시장을 관통하는 엔터테인먼트 사업
• 게임을 글로벌 런칭함으로써 게임사 고객분들께서는 다양한 국가의 플레이어들의 기호에 맞출 수
있습니다.
4. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
보안 안정적인 성능 가용성
사용자에
가까운 위치
AWS 글로벌 인프라 및 서비스의 특징
AWS Global Infrastructure 의 장점
5. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
리전은 여러 개의 가용 영역으로
구성된 전세계에 구축된 지리적
위치입니다.
AWS Global Infrastructure 의 장점
Transit AZ
Transit AZ
AZ AZ
Data center
Data center
Data center
리전 & 가용 영역의 수
24개 리전, 77개의 가용 영역을 지원
호주, 인도, 인도네시아, 일본, 스페인, 스위스
향후 지원 리전
AWS Region
가용 영역은 각 리전에 속한
여러 격리된 하나 이상의
데이터센터입니다
AWS Availability Zone
(AZ)
AWS 글로벌 인프라 및 서비스 구성
6. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
우리 게임의 성격 분석하기
• 상호작용이 많지 않은 웹 기반 비동기 방식인지
•실시간 상호작용이 빈번한 세션 기반 또는 MMO 류의 게임인지
•플레이어들이 느끼는 지연 시간에 대한 허용 범위는?
•DB 트랜잭션, 랭킹 업데이트 등 다른 서비스 요구사항은?
글로벌 게임 런칭을 위한 사전 고려 사항
7. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
글로벌 게임 런칭을 위한
아키텍처 패턴
8. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Single Region 기반의 글로벌 서비스 아키텍처
고려할 점 : 게임 서비스 요구사항과 응답 속도의 요구사항을 고려합니다
• 하나의 리전에서 글로벌 게임 서비스 백엔드를 구성하는 방식
의 글로벌 인프라 기반의 컨텐츠 가속화를 통해 서비스의 품질을 향상
개념
인터넷 대비 낮은 수준의 와 높은 안정성
• 리전 한 곳에서 글로벌 서비스를 위한 인프라를 집중 관리 가능.
리전간 통신에 소모되는 비용 절감이 가능
장점
9. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Persistent
Connection
Amazon
ElastiCache
Application
Load Balancer
Amazon
Aurora
Edge
Amazon
CloudFront
웹 기반 게임의 경우 사용할 수 있는 CloudFront 기반의 글로벌 서비스 패턴
Global Edge Location 의 활용 및 Handshake 최적화를 통한 웹 API 가속화를 제공
서울 리전
유럽
한국
북미
API Server
API Server
API Server
Single Region 기반의 글로벌 서비스 아키텍처
10. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon CloudFront 가 제공하는 동적 컨텐츠 가속화
Single Region 기반의 글로벌 서비스 아키텍처
• Amazon CloudFront 는 정적 컨텐츠의 캐싱 뿐만 아니라 동적 컨텐츠 전송에
있어서도 이점을 제공합니다.
• CloudFront 는 엣지 레벨에서의 Persistent Connection 을 통해 성능 오버헤드를
최소화하고 REST API 기반을 사용하는 게임에서의 안정성을 올려줍니다.
• 웹 기반 백엔드는 서버와의 동기식 처리에 대해 성능 요건이 늘어날 수 있고,
Amazon CloudFront 가 제공하는 가속화의 이점을 볼 수 있습니다.
• Amazon CloudFront 를 통한 Web Socket 연결 구성도 가능.
11. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
1.2.3.4
5.6.7.8
북미
한국
Matchmaker
Port (1 – 5)
Game Server
Port (40 – 50)
Game Server
Port (50 – 60)
Listener : UDP 40 - 50
서울 리전
AWS Global Accelerator 기반의 게임 아키텍처 구성 패턴
Single Region 기반의 글로벌 서비스 아키텍처
사용자 가까운 엣지에서 Anycast IP 기반으로 TCP/UDP 프로토콜의 트래픽 성능을 최대 60% 개선
12. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Global Accelerator 사용 시 고려 사항
Single Region 기반의 글로벌 서비스 아키텍처
AWS Global Accelerator 의 성능 테스트는 더미 환경에서의 스크립트가 아닌 직접 게임
클라이언트를 이용하는 것이 권고됩니다.
• 메시지 기반 & 세션형 게임 & Persistent 게임 등 게임 워크로드가 많이 사용하는 Network Layer 를
폭넓게 커버합니다
• 게임 서버를 하게 노출시키지 않고 를 단일 퍼블릭 진입점으로 활용하면
보안의 이점을 얻으실 수 있습니다.
기반의 엔드포인트를 고정시키고 단위 제어를 통해 등
여러 상황에서 트래픽의 유연한 제어가 가능합니다.
13. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Global
Accelerator
…
AWS Global Accelerator 기반의 게임 아키텍처 구성 패턴
Single Region 기반의 글로벌 서비스 아키텍처
Global Accelerator Custom Routing 기능이 추가 (NEW!)
특정 단일, 여러 EC2 대상으로 사용자의 라우팅이 가능. 대규모 플릿 매핑에 유용
Game Client
Game Client
Game Client
Instance Instance
VPC
subnet
…
Instance Instance
subnet
14. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
고려할 점 : 게임 서버 접근 방식과 데이터 처리 방식을 고려합니다
• 사용자 가까운 리전에서 게임 서버를 제공하여 보다 빠른 응답시간을 제공하는 방식
개념
• 지리적으로 플레이어에 가까운 위치에서 인프라 운영이 가능
• 게임 플레이 경험에서 가 주는 영향을 최소화할 수 있다
• 구성에 따라 리전 레벨 장애에 대해 고가용성 제공이 가능
장점
Multi Region 기반의 글로벌 서비스 아키텍처
15. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Direct Access
Match Routing
Direct Access
멀티 리전 환경에서 게임 서버 접근을 위한 기본 모델
게임 서버 구조에 따라 다양한 접근 모델 구성이 가능
AWS 가 제공하는 글로벌 인프라를 활용하여 다양한 구성이 가능합니다.
일본
한국
메인 리전
VPC
Game Servers
Game Servers
서울 리전
도쿄 리전
Multi Region 기반의 글로벌 서비스 아키텍처
Match Server
16. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
멀티 리전 환경에서 게임 서버 접근을 위한 AWS Global Accelerator
멀티 리전 환경에서 Edge Location 에서 최적의 리전으로 라우팅 가능한 옵션 제공
클라이언트 측 라우팅 제어 필요없이 Health Check 기반의 1분 이내 서비스 Fail Over
북미에서 접속 시
Dial : 40%
Game Servers
Game Servers
한국에서 접속 시
Dial : 60%
1.2.3.4
5.6.7.8
서울 리전
도쿄 리전
일본
한국
Multi Region 기반의 글로벌 서비스 아키텍처
17. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
멀티 리전 환경에서의 게임 서버 접근 전략
Multi Region 기반의 글로벌 서비스 아키텍처
AWS Global Accelerator 는 멀티 리전 어플리케이션 환경에서 더욱 유용한 Routing 및
Failover 옵션을 제공합니다.
• AWS 글로벌 인프라가 제공하는 성능과 안정성, 가용성을 활용합니다.
• 여러 리전에서 필요에 맞게 유연하게 게임 서버를 구성이 가능합니다.
• 로그인 서버 / 매치 서버 등 중계해주는 서버는 중앙에 위치. 게임 서버는 리전 별로 구성 가능합니다.
18. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
글로벌 원 데이터베이스를 멀티 리전 게임 서버에서 이용하는 구조
Game Client
Game Client
게임 서버를 각 리전에 두어 가까운 리전에서 시뮬레이션 처리.
데이터는 메인 리전에서 관리합니다. (플레이어 경험 향상 및 인프라 관리의 이점)
Multi Region 기반의 글로벌 서비스 아키텍처
메인 리전
VPC
VPC
Main DB
원격 리전
API Server
Load Balancer
Game Server
API 호출
직접 접근
VPC Peering
19. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
북미 리전 서울 리전
VPC VPC
VPC Peering을 통한 리전 간 통신
AWS Backbone 을 경유하는 VPC Peering 을 통해 리전 간 안전하고 안정적인 트래픽 전송을 이용하실 수
있습니다.
AWS backbone
VPC peering
• 트래픽은 AWS Backbone 경유
• 처리량에 Bottleneck 이 없음
• 인터페이스 변경 불필요
• 트래픽은 암호화되어 전송
Multi Region 기반의 글로벌 서비스 아키텍처
20. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
글로벌 원 데이터베이스와 리전별 읽기 전용 복제본을 구성하는 구조
글로벌 원 데이터베이스를 유지하면서 리전별로 읽기 성능을 개선시킬 수 있습니다.
빈번한 읽기 작업이 수반되는 데이터 업데이트 등 사례에 유리합니다.
Multi Region 기반의 글로벌 서비스 아키텍처
메인 리전
VPC
VPC
Game Server
Read-Replica
원격 리전
읽기 작업
쓰기 작업
Synchronize
Main DB
API Server
Load Balancer
Game Client
Game Client
21. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Aurora Global Database & RDS Cross Region Replication
• RDS Cross Region Replication 과 Aurora Global Database 는 일반적으로 1초
미만의 지연 시간으로 리전 간 데이터 복제를 제공합니다
• 리전 간 데이터 복제는 Consistent 한 지연 시간을 제공합니다.
• Aurora Global Database 의 경우 Write Forwarding 기능을 통해 Secondary
Cluster 에서 Write Statement 를 전달할 수 있습니다.
• 장애 발생 시 다른 리전의 클러스터가 승격되어 장애 조치를 수행할 수
있습니다.
Multi Region 기반의 글로벌 서비스 아키텍처
22. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
글로벌 원 데이터베이스와 리전 단위의 개별 게임 데이터베이스를 운용하는 구조
계정 등 어드민 정보를 글로벌 관리하고 게임 데이터베이스는 리전 단위로 분산 가능.
빈번한 상호작용과 고성능 데이터 처리량이 요구되는 경우 적합합니다.
Multi Region 기반의 글로벌 서비스 아키텍처
메인 리전
VPC
Global Main DB
공통 데이터를 처리
VPC
Game Server Regional
Game DB
원격 리전
Amazon
ElastiCache
App Server
게임 데이터를 처리
Game Client
Game Client
23. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
멀티 리전 멀티 마스터 기반의 데이터베이스 운용으로 개별 서비스처럼 운용이 가능
Multi Region 기반의 글로벌 서비스 아키텍처
Game Client
Game Client
Amazon DynamoDB Global Table 은 밀리초 단위의 지연 시간을 제공하는 멀티 리전 멀티 마스터 테이블을
제공합니다.
리전 레벨 장애 발생 시에도 다른 복제본에서 읽기 및 쓰기 처리가 가능합니다.
메인 리전
Amazon DynamoDB
Game Server Global Table
원격 리전
데이터 처리 Synchronize
24. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
멀티 리전 환경에서의 데이터베이스 사용 전략
AWS 가 제공하는 관리형 데이터베이스를 사용하면 운영의 부담을 줄이실 수 있습니다.
(Amazon RDS, Amazon Aurora, Amazon ElastiCache, Amazon DynamoDB)
Multi Region 기반의 글로벌 서비스 아키텍처
25. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
• 가장 중요한 점은 게임의 특성을 잘 이해하는 것입니다.
(게임 기획, 성능, 가용성, 안정성, 개발 비용 등 다양한 측면을 고려합니다)
• 가능하다면 싱글 리전 설계를 먼저 고려하시고, 그 다음 멀티 리전 설계를 고려합니다.
• 게임 서비스에 대한 Access 를 가속화시켜줄 수 있는 Edge Service 를 고려합니다.
(AWS Global Accelerator 는 대부분의 게임을 커버할 수 있는 서비스입니다)
• 멀티 리전 구성 시 VPC Peering 기반의 아키텍처 구성을 고려해봅니다.
• 데이터 분산 시 AWS 관리형 데이터베이스를 통한 운영 효율성을 고려해봅니다.
• 보다 워크로드에 특화된 도움이 필요하시다면 aws-gaming-korea@amazon.com
Summary
26. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
여러분의 소중한 피드백을 기다립니다.
강연 종료 후, 강연 평가에 참여해 주세요!
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
27. © 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.
감사합니다
© 2021, Amazon Web Services, Inc. or its affiliates. All rights reserved.