메인 콘텐츠로 건너뛰기

AWS Solutions Library

AWS 기반 GameLift Testing 지침

개요

이 지침은 Amazon GameLift Testing Toolkit을 사용하여 멀티플레이어 게임을 테스트, 시각화 및 최적화하는 데 도움이 됩니다. 이 도구 키트를 사용하면 Amazon GameLift 인프라 문제를 해결하고 디버그하고 튜닝할 수 있습니다. 이 가이드에서는 실제 플레이어와 동일한 코드를 실행하는 가상 플레이어를 사용할 수 있는 선택적 기능을 제공하므로 개발자는 게임을 프로덕션에 출시하기 전에 게임의 성공 여부를 테스트할 수 있습니다.

작동 방식

이러한 기술 세부 사항에는 이 솔루션을 효과적으로 사용하는 방법을 보여주는 아키텍처 다이어그램이 포함되어 있습니다. 아키텍처 다이어그램은 주요 구성 요소와 상호 작용을 보여 주며 아키텍처의 구조 및 기능에 대한 개요를 단계별로 제공합니다.

Well-Architected 원칙

위의 아키텍처 다이어그램은 Well-Architected 모범 사례를 고려하여 생성된 솔루션의 예시입니다. Well-Architected를 완전히 충족하려면 가능한 많은 Well-Architected 모범 사례를 따라야 합니다.

툴킷과 샘플 게임 모두 코드형 인프라를 사용하여 완전히 배포되므로 수동 프로세스로 인한 오류가 줄어들고 변경 사항을 배포하는 데 드는 노력이 줄어듭니다.

운영 우수성 백서 읽기

API Gateway의 서버리스 웹 콘솔 API는 Cognito 사용자 풀에 대한 AWS ID 및 액세스 관리 (IAM) 기반 인증으로 보호됩니다.  

API Gateway의 서버리스 샘플 게임 백엔드는 플레이어의 게스트 ID에 대한 보안 검증을 위해 IAM 기반 인증으로 보호됩니다.

GameLift의 게임 서버는 클라이언트-서버 통신에 사용되는 포트에만 액세스할 수 있습니다. 백엔드 Lambda 함수는 필요한 서비스에만 액세스할 수 있습니다.

보안 백서 읽기

데이터는 DynamoDB 테이블에 저장되며, 온디맨드 용량 할당을 활용하여 수요 변화에 따라 자동으로 확장됩니다.  

솔루션 백엔드 서비스는 인스턴스를 자동으로 확장하는 Lambda를 사용합니다.  

샘플 게임 백엔드는 GameLift Target 기반 자동 크기 조정을 지원하여 수요 변화를 처리합니다.

안정성 백서 읽기

API Gateway, Lambda, DynamoDB, Fargate와 같은 관리형 서버리스 기술을 활용하면 사용한 리소스에 대해서만 비용을 지불하고 솔루션을 유지 관리하는 데 필요한 운영 노력을 줄일 수 있습니다.  

솔루션은 원하는 지역에 배포할 수 있으며 CloudFront를 활용하여 웹 콘솔 최종 사용자의 지연 시간을 줄입니다.

성능 효율성 백서 읽기

Fargate Spot으로 가상 플레이어 작업을 시작하여 테스트 비용을 줄일 수 있습니다.

웹 콘솔과 샘플 게임 백엔드는 서버리스 기술을 활용하므로 사용한 리소스에 대해서만 비용을 지불하면 됩니다.  

웹 콘솔 백엔드는 Lambda API Gateway의 기본 확장 기능을 활용하며, DynamoDB 테이블은 온디맨드 용량 할당을 사용하여 리소스가 수요와 일치하도록 합니다.

샘플 게임 백엔드는 GameLift Target 기반 자동 크기 조정을 지원하여 필요한 리소스를 최소화합니다.

비용 최적화 백서 읽기

이 지침은 관리형 서비스를 광범위하게 사용하므로 높은 평균 사용률을 유지하는 책임을 AWS에 전가합니다.

샘플 게임 백엔드는 GameLift Target 기반 자동 크기 조정을 지원하여 필요한 리소스를 최소화합니다. 게임 세션을 최소한의 서버 인스턴스 수로 압축하여 리소스 사용률을 지속적으로 높게 유지합니다.

이 지침은 매니지드 서비스를 폭넓게 활용함으로써 환경에 대한 개인의 영향을 줄입니다.  

스팟 플릿에서 게임 서버를 시작하고 Fargate Spot에서 가상 플레이어 작업을 시작하여 미사용 리소스가 지속 가능성에 미치는 영향을 더욱 줄일 수 있습니다.

지속 가능성 백서 읽기

자신감 있게 배포

배포할 준비가 되셨나요? GitHub의 샘플 코드를 검토하여 있는 그대로 배포하거나 필요에 맞게 사용자 지정하는 방법에 대한 자세한 배포 지침을 확인하세요. 

샘플 코드로 이동

고지 사항

샘플 코드, 소프트웨어 라이브러리, 명령줄 도구, 개념 증명, 템플릿 또는 기타 관련 기술(AWS 직원을 통해 제공되는 상기 항목 포함)은 AWS 이용 계약 또는 귀하와 AWS 간의 서면 계약(둘 중 해당되는 것)에 따라 AWS 콘텐츠로 제공됩니다. 이 AWS 콘텐츠를 프로덕션 계정, 프로덕션 또는 기타 중요한 데이터에 사용해서는 안 됩니다. 귀하는 특정 품질 제어 방식 및 표준에 따라 프로덕션급 사용에 적절하게 샘플 코드와 같은 AWS 콘텐츠를 테스트, 보호 및 최적화할 책임이 있습니다. AWS 콘텐츠를 배포하면 Amazon EC2 인스턴스를 실행하거나 Amazon S3 스토리지를 사용할 때와 같이 요금이 부과되는 AWS 리소스를 생성하거나 사용하는 것에 대한 AWS 요금이 발생할 수 있습니다.