Amazon GameLift 작동 방식 - 아마존 GameLift

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon GameLift 작동 방식

게임 호스팅에 대한 핵심 구성 요소를 다루며 Amazon GameLift를 통해 플레이어가 멀티플레이어 게임 서버를 사용하게 되는 방식을 설명합니다.

Amazon GameLift에서 게임을 호스팅할 준비가 되었나요? Amazon GameLift 관리형 호스팅 로드맵 섹션을 확인합니다.

핵심 구성 요소

Amazon GameLift가 게임을 호스팅하도록 설정하려면 다음 구성 요소가 필요합니다. 관리형 Amazon GameLift를 사용한 게임 아키텍처의 다이어그램은 이러한 구성 요소 간의 관계를 시각화합니다.

  • 게임 서버플릿에서 실행되는 게임의 서버 소프트웨어입니다. 게임 서버 빌드 또는 스크립트를 Amazon GameLift에 업로드하고 Amazon GameLift에 알립니다. Amazon GameLift Anywhere 또는 Amazon GameLift FleetIQ를 사용하는 경우 게임 서버 빌드를 컴퓨팅 리소스에 직접 업로드합니다.

  • 게임 세션은 플레이어가 참여하는 진행 중인 게임입니다. 수명 및 플레이어 수와 같은 게임 세션의 기본 특성을 정의합니다. 그런 다음 플레이어는 게임 서버에 연결하여 게임 세션에 참여합니다.

  • 게임 클라이언트는 플레이어의 디바이스에서 실행되는 게임 소프트웨어입니다. 게임 클라이언트는 Amazon GameLift에서 수신한 연결 정보를 기반으로 백엔드 서비스를 통해 게임 서버에 연결하여 게임 세션에 참여합니다.

  • 백엔드 서비스는 Amazon GameLift와 관련된 작업을 처리하는 추가 사용자 지정 서비스입니다. 가장 좋은 방법은 백엔드 서비스가 Amazon GameLift와의 모든 게임 클라이언트 통신을 처리하는 것입니다.

게임 서버 호스팅

Amazon GameLift를 사용하면 관리형 Amazon GameLift, Amazon GameLift FleetIQ 및 Amazon GameLift Anywhere의 세 가지 방법으로 게임 서버를 호스팅할 수 있습니다. Amazon GameLift FleetIQ에 대한 자세한 내용은 Amazon GameLift FleetIQ란 무엇인가요?를 참조하세요.

게임의 요구 사항에 맞게 플릿을 설계할 수 있습니다. 플릿 설계에 대한 자세한 내용은 Amazon GameLift 플릿 설계 가이드 섹션을 참조하세요.

관리형 Amazon GameLift

관리형 Amazon GameLift를 사용하면 인스턴스라고 하는 Amazon GameLift 가상 컴퓨팅 리소스에서 게임 서버를 호스팅할 수 있습니다. 인스턴스 플릿을 생성하고 게임 서버를 실행하도록 배포하여 호스팅 리소스를 설정합니다.

Amazon GameLift Anywhere

Amazon GameLift Anywhere를 사용하면 관리하는 컴퓨팅에서 게임 서버를 호스팅할 수 있습니다. 컴퓨팅을 참조하는 Anywhere 플릿을 생성하여 호스팅 리소스를 설정합니다.

플릿 별칭

별칭은 플릿 간에 전송할 수 있는 명칭으로, 이를 사용하면 플릿 위치를 일반화하는 편리한 방법입니다. 별칭을 사용하여 게임 클라이언트를 변경하지 않고도 게임 클라이언트에서 사용하는 플릿을 전환할 수 있습니다. 콘텐츠를 가리키는 터미널 별칭을 만들 수도 있습니다.

게임 세션 실행

플릿에 게임 서버 빌드를 배포하고 Amazon GameLift가 각 인스턴스에서 게임 서버 프로세스를 시작하면 플릿에서 게임 세션을 호스팅할 수 있습니다. Amazon GameLift는 게임 클라이언트 서비스가 백엔드 서비스 또는 Amazon GameLift에 배치 요청을 보낼 때 새 게임 세션을 시작합니다.

게임 세션 배치 및 FleetIQ 알고리즘

대기열은 FleetIQ 알고리즘을 사용하여 새 게임 세션을 호스팅할 수 있는 사용 가능한 게임 서버를 선택합니다. 게임 세션 배치의 주요 구성 요소는 Amazon GameLift 게임 세션 대기열입니다. 게임 세션 대기열에 플릿 목록을 할당하여 대기열에서 게임 세션을 배치할 수 있는 위치를 결정합니다. 게임 세션 대기열 및 게임에 맞게 대기열을 설계하는 방법에 대한 자세한 내용은 게임 세션 대기열 설계 섹션을 참조하세요.

게임에 대한 플레이어 연결

게임 세션 배치 프로세스의 일부로써 대기열 또는 게임 세션은 선택된 게임 서버에 새로운 게임 세션을 시작하라는 메시지를 표시합니다. 게임 서버는 메시지에 응답하고 플레이어 연결을 수락할 준비가 되면 Amazon GameLift에 다시 보고합니다. 그러면 Amazon GameLift는 백엔드 서비스 또는 게임 클라이언트 서비스에 연결 정보를 전송합니다. 그런 다음 게임 클라이언트는 이 정보를 사용하여 게임 세션에 직접 연결하고 게임플레이를 시작합니다.

플릿 용량 조정

플릿이 활성화되고 게임 세션을 호스팅할 준비가 되면 플레이어 요구에 맞게 플릿 용량을 조정할 수 있습니다. 들어오는 모든 플레이어가 게임을 빨리 찾는 것과 유휴 상태인 리소스에 과도하게 소비하는 것 사이에서 균형을 찾는 것이 좋습니다.

Amazon GameLift는 매우 효과적인 자동 크기 확장 도구를 제공하거나 플릿 용량을 수동으로 설정할 수 있습니다. 자세한 내용은 Amazon GameLift 호스팅 용량 확장 섹션을 참조하세요.

Auto Scaling

Amazon GameLift는 두 가지 Auto Scaling 방법을 제공합니다.

추가 조정 기능
  • 게임 세션 보호 - 스케일 다운 이벤트 동안 활성 플레이어를 호스팅한 게임 세션에서 Amazon GameLift가 종료되는 것을 방지합니다.

  • 크기 조정 제한 - 플릿의 최소 및 최대 인스턴스 수를 설정하여 전체 인스턴스 사용량을 제어합니다.

  • Auto Scaling 일시 중지 - Auto Scaling 정책을 변경하거나 삭제하지 않으면서 플릿 위치 수준에서 Auto Scaling을 일시 중지합니다.

  • 크기 조정 지표 - 플릿의 용량 및 조정 이벤트 기록을 추적합니다.

Amazon GameLift 모니터링

플릿을 실행 중인 경우, Amazon GameLift가 다양한 정보를 수집하여 이미 배포한 게임 서버의 성능을 모니터링하는 데 도움을 줍니다. 이 정보를 이용하여 리소스 사용을 최적화하고 문제를 해결하는 한편, 플레이어의 게임 플레이에 대한 통찰을 얻을 수 있습니다. Amazon GameLift는 다음을 수집합니다.

  • 플릿, 위치, 게임 세션 및 플레이어 세션 세부 정보

  • 사용량 지표

  • 서버 프로세스 상태

  • 게임 세션 로그

Amazon GameLift 모니터링에 대한 자세한 내용은 Amazon GameLift 모니터링 섹션을 참조하세요.

다른 AWS 리소스 사용

게임 서버 및 애플리케이션은 다른 AWS 리소스와 통신할 수 있습니다. 예를 들어 플레이어 인증 또는 소셜 네트워킹의 다양한 웹 서비스를 이용할 수 있습니다. 게임 서버를 통해 AWS 계정가 관리하는 AWS 리소스에 액세스하려면 Amazon GameLift가 AWS 리소스에 액세스할 수 있도록 명시적으로 허용합니다.

Amazon GameLift에서는 이러한 유형의 액세스를 관리할 수 있는 다양한 옵션을 제공합니다. 자세한 내용은 플릿에서 다른 AWS 리소스와 통신 섹션을 참조하세요.