이 지침은 게임 개발자가 Amazon GameLift와 서버리스 백엔드 구성 요소를 사용하여 AWS에서 영구 월드 게임을 구축하고 가상 세계를 호스팅하는 데 도움이 됩니다. 이 아키텍처는 관리형 및 서버리스 구성 요소를 사용하여 운영 작업을 줄이고 플레이어 수요에 따라 확장됩니다. 개발자는 이 아키텍처를 사용하여 MacOS 및 Windows에서 영구 가상 세계 게임 개발을 시작할 수 있습니다. 이 지침에는 코드형 인프라(IaC) 자동화, 종속성 설정을 위한 구성 스크립트, 샘플 Unity 클라이언트/서버 구현이 포함됩니다.

아키텍처 다이어그램

참고: A~C 단계는 시스템의 백엔드를 나타내고 1~9단계는 프런트엔드를 나타냅니다.

아키텍처 다이어그램(PDF) 다운로드 

Well-Architected 원칙

AWS Well-Architected Framework는 클라우드에서 시스템을 구축하는 동안 사용자가 내리는 의사 결정의 장단점을 이해하는 데 도움이 됩니다. 이 프레임워크의 6가지 원칙을 통해 안정적이고 안전하며 효과적이고 비용 효율적이며 지속 가능한 시스템을 설계 및 운영하기 위한 아키텍처 모범 사례를 배울 수 있습니다. AWS Management Console에서 추가 요금 없이 사용할 수 있는 AWS Well-Architected Tool을 사용하면 각 원칙에 대한 여러 질문에 답하여 이러한 모범 사례와 비교하며 워크로드를 검토할 수 있습니다.

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

  • AWS Cloud Development Kit(AWS CDK)는 AWS CloudFormation을 사용하여 리소스 업데이트와 롤백을 제어함으로써 배포와 업데이트를 처리합니다. 이렇게 하면 수동 구성 변경으로 인한 오류가 줄어듭니다.

    Amazon GameLift 플릿 업데이트의 경우 CloudFormation에서 대체 플릿을 생성합니다. 기존 플릿을 종료하기 전에 대체 플릿이 완전히 활성화되어 트래픽을 수용할 때까지 기다립니다.

    운영 우수성 백서 읽기 
  • 게임 클라이언트는 Amazon Cognito 자격 증명 풀 ID를 사용하여 백엔드 서비스에 대한 액세스를 보호합니다. 자격 증명 풀에서 제공하는 AWS Identity and Access Management(IAM) 자격 증명으로 요청에 서명하면 이러한 보호가 가능합니다. API Gateway에서 호스팅되는 제공된 API에는 인증된 요청만 허용됩니다. 또한 게임 클라이언트는 자신의 계정 데이터에만 액세스할 수 있습니다.

    보안 백서 읽기 
  • 게임 서버(및 결과적으로 게임 월드)가 충돌하는 경우 아키텍처는 자동으로 월드를 새 월드로 교체하여 해당 특정 월드의 동일한 영구 데이터에 액세스할 수 있습니다.

    신뢰성 백서 읽기 
  • Amazon GameLift를 사용하면 클라이언트와 서버 간의 직접적인 통신을 통해 거의 실시간으로 성능을 최적화할 수 있습니다. 개발자는 아키텍처를 통해 여러 AWS 리전에서 게임 서버를 호스팅하여 게임 클라이언트와 서버 간의 지연 시간을 줄일 수 있습니다.

    성능 효율성 백서 읽기 
  • 아키텍처는 API Gateway, LambdaDynamoDB를 비롯한 서버리스 구성 요소를 활용하므로 플레이어 트래픽을 기반으로 정확한 양의 리소스에 대해 비용을 지불하여 비용을 절감할 수 있습니다. 또한 Amazon GameLift는 수요에 따라 확장되도록 구성할 수 있으므로 언제든지 사용하지 않는 리소스를 최소한으로 유지할 수 있습니다.

    비용 최적화 백서 읽기 
  • 이 아키텍처는 관리형 서비스와 서버리스 서비스를 사용하여 현재 플레이어 로드에 필요한 리소스만 실행하므로 환경에 미치는 개인의 영향을 줄여줍니다.
    지속 가능성 백서 읽기 

구현 리소스

샘플 코드를 시작점으로 사용할 수 있습니다. 이 샘플 코드는 업계에서 검증되었고 권장되는 것이지만 최종적인 것은 아니며, 시작하는 데 도움을 줄 것입니다.

[콘텐츠 유형]

[제목]

이 [블로그 게시물/eBook/지침/샘플 코드]은(는) [간단한 설명 삽입] 방법을 보여줍니다.

고지 사항

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

본 지침에 서드 파티 서비스 또는 조직이 언급되어 있다고 해서 Amazon 또는 AWS와 서드 파티 간의 보증, 후원 또는 제휴를 의미하지는 않습니다. AWS의 지침을 기술적 시작점으로 사용할 수 있으며 아키텍처를 배포할 때 서드 파티 서비스와의 통합을 사용자 지정할 수 있습니다.

이 페이지의 내용이 도움이 되었나요?