- AWS Solutions Library›
- AWS 기반 사용자 지정 게임 백엔드 호스팅 지침
AWS 기반 사용자 지정 게임 백엔드 호스팅 지침
개요
이 지침은 Amazon GameLift를 사용한 게임 서버 호스팅, WebSocket 채팅, Amazon Neptune을 사용한 친구 목록 및 추천과 같은 게임 백엔드 기능에 더해 사용자 지정 경량 크로스 플랫폼 게임 ID 시스템을 배포하는 방법을 보여줍니다. ID 시스템은 게스트, Amazon Cognito, Steam, Apple 로그인, Google Play, Facebook을 비롯한 다양한 인증 옵션을 지원합니다. 지침을 손쉽게 사용자 지정하여 콘솔과 같은 추가 플랫폼을 지원할 수도 있습니다. 이 지침은 사용자 지정 백엔드 기능으로 손쉽게 확장 가능하도록 설계되었으며 서버리스 백엔드 구성 요소 및 컨테이너식 백엔드 구성 요소에 대한 템플릿을 포함합니다.
또한 이 가이드는 언리얼 엔진 5, Unity 2021 (및 최신 버전), Godot 4 게임 엔진용 소프트웨어 개발 키트 (SDK) 와 샘플 코드를 제공합니다. SDK는 ID 구성 요소 및 샘플 백엔드 기능과 통합됩니다.
작동 방식
이 아키텍처 다이어그램은 가볍고 확장 가능한 사용자 지정 크로스 플랫폼 게임 ID 구성 요소를 배포하는 방법과 ID를 사용하여 AWS의 사용자 지정 게임 백엔드 구성 요소에 대해 인증하는 방법을 보여줍니다.
자신감 있게 배포
배포할 준비가 되셨나요? GitHub의 샘플 코드를 검토하여 있는 그대로 배포하거나 필요에 맞게 사용자 지정하는 방법에 대한 자세한 배포 지침을 확인하세요.
Well-Architected 원칙
위의 아키텍처 다이어그램은 Well-Architected 모범 사례를 고려하여 생성된 솔루션의 예시입니다. Well-Architected를 완전히 충족하려면 가능한 많은 Well-Architected 모범 사례를 따라야 합니다.
이 지침의 사용자 지정 ID 구성 요소는 사용자 요청을 추적하는 AWS X-Ray를 활용하고 Lambda Powertools를 활용하여 백엔드 로직 내에서 자세한 정보를 제공합니다. 또한 이 지침의 모든 구성 요소는 Amazon CloudWatch를 사용하여 가상 프라이빗 클라우드 (VPC) 흐름, API 게이트웨이 액세스, Amazon S3 액세스, Lambda 완료 및 AWS Fargate 작업의 로그를 추적합니다. 마지막으로, AWS CDK는 환경 전반에서 제어된 변경과 일관된 구성을 허용하여 보안 및 규정 준수 요구 사항을 충족하는 데 도움이 됩니다.
강력한 ID 관리를 지원하기 위해 이 지침의 사용자 지정 ID 구성 요소는 플레이어 ID와 인증을 관리합니다. 이 지침의 다른 모든 기능은 ID 구성 요소에서 제공한 퍼블릭 키에 대해 JSON 웹 토큰의 유효성을 검사하여 액세스를 보호합니다. 사용자 지정 ID 구성 요소는 일반적인 웹 공격으로부터 애플리케이션을 보호하는 웹 애플리케이션 방화벽인 AWS WAF에 의해 보호됩니다. 또한 모든 데이터는 저장 중과 전송 중에 암호화됩니다.
이 지침은 주로 AWS 리전 내 여러 가용 영역(AZ)에서 기본적으로 가용성이 높은 완전 관리형 서비스를 활용합니다. Fargate의 경우 다중 AZ 구성이 고가용성을 위해 활용되며 DynamoDB의 모든 데이터베이스 테이블은 지정 시간 복구를 통해 보호됩니다.
이 지침은 다양한 기능을 통해 성능을 개선할 수 있도록 여러 가지 접근 방식을 결합합니다. 먼저, 이 지침에 선택된 서비스는 서버리스 서비스의 자동 확장 구성 요소를 활용하여 게임 출시와 기타 트래픽 급증 시 규모에 맞게 작동하도록 설계되었습니다. 다음으로, 개발자는 사용자 지정 ID 구성 요소에서 제공되는 X-Ray 데이터를 통해 혼잡을 찾고 필요에 맞게 지침을 보정하여 성능을 최적화할 수 있습니다. 마지막으로, JSON 웹 토큰을 검증하는 공개 키가 CloudFront를 통해 제공되어 백엔드 구성 요소의 지연 시간을 최적화합니다.
이 지침은 가능한 경우 서버리스 구성 요소를 활용하므로 사용한 리소스에 대해서만 비용을 지불하면 됩니다. 비용을 추가로 절감하려면 Lambda와 Fargate 모두의 비용을 최적화하는 데 활용할 수 있는 AWS 저축 플랜을 고려해 보십시오. 또한 온디맨드 DynamoDB 테이블에서 프로비저닝된 용량 자동 크기 조정으로 전환하면 기본 트래픽이 알려진 경우 DynamoDB 예약 용량을 사용하여 비용을 줄일 수 있습니다.
이 지침에서 사용하는 모든 서비스는 API 게이트웨이, Lambda, DynamoDB, Amazon S3, Fargate, Secrets Manager 및 AWS WAF를 포함하여 필요에 따라 확장되도록 구성되었으므로 최소한의 리소스만 필요합니다.
이 지침의 서버리스 서비스 구성 요소는 자동으로 확장되므로 부하에 맞게 필요한 최소한의 리소스만 사용하도록 유지하면서 구성 요소를 확장할 수 있습니다. 이렇게 하면 사용하지 않는 용량을 프로비저닝하지 않아도 되므로 인프라가 환경에 미치는 영향을 줄일 수 있습니다.
관련 콘텐츠
고지 사항
샘플 코드, 소프트웨어 라이브러리, 명령줄 도구, 개념 증명, 템플릿 또는 기타 관련 기술(AWS 직원을 통해 제공되는 상기 항목 포함)은 AWS 이용 계약 또는 귀하와 AWS 간의 서면 계약(둘 중 해당되는 것)에 따라 AWS 콘텐츠로 제공됩니다. 이 AWS 콘텐츠를 프로덕션 계정, 프로덕션 또는 기타 중요한 데이터에 사용해서는 안 됩니다. 귀하는 특정 품질 제어 방식 및 표준에 따라 프로덕션급 사용에 적절하게 샘플 코드와 같은 AWS 콘텐츠를 테스트, 보호 및 최적화할 책임이 있습니다. AWS 콘텐츠를 배포하면 Amazon EC2 인스턴스를 실행하거나 Amazon S3 스토리지를 사용할 때와 같이 요금이 부과되는 AWS 리소스를 생성하거나 사용하는 것에 대한 AWS 요금이 발생할 수 있습니다.
오늘 원하는 내용을 찾으셨나요?
페이지의 콘텐츠 품질을 개선할 수 있도록 피드백을 보내주십시오.