Amazon Web Services 한국 블로그

Amazon GameLift Anywhere – 자체 인프라에서 게임 서버 실행 기능 출시

AWS는 2016년에 세션 기반 멀티플레이어 게임 서버의 플릿을 안전하게 배포하고 자동으로 확장하여 전 세계 플레이어 수요를 충족시킬 수 있는 전용 호스팅 솔루션인 Amazon GameLift를 출시했습니다.

Amazon GameLift를 사용하면 게임 서버 빌드를 한 번 생성 및 업로드하고, 복제하고, 여러 AWS 리전AWS 로컬 영역에 배포하여 전 세계 플레이어가 지연 시간이 짧은 환경을 경험할 수 있도록 합니다. 또한 GameLift에는 GameLift FleetIQ를 통한 저렴한 게임 플릿과 GameLift FlexMatch를 사용한 플레이어 매치메이킹을 위한 독립형 기능도 포함되어 있습니다.

게임 개발자들은 개발 단계에서 게임을 테스트하고 반복해야 할 때마다 후보 서버 빌드를 클라우드에 배포하는 데 걸리는 대기 시간을 줄였달라는 요청을 전달해왔습니다. 또한 고객은 베어 메탈 계약이나 온프레미스 게임 서버를 지속적으로 보유하고 있으며 기존 인프라를 클라우드 서버와 함께 사용할 수 있는 유연성을 원한다는 의견도 전달해왔습니다.

오늘 게임 세션 관리를 세션이 실행되는 컴퓨팅 리소스에서 분리하는 Amazon GameLift Anywhere의 정식 출시를 발표합니다. 이번 새 릴리스에서는 이제 Anywhere Fleet이라는 논리적 구성에 따라 로컬 워크스테이션을 비롯한 모든 하드웨어를 등록하고 배포할 수 있습니다.

이제 GameLift로 관리되는 서버를 로컬 하드웨어로 설정할 수 있으므로 익숙한 로컬 데스크톱 환경에서 서버 빌드를 반복할 수 있으며 모든 서버 오류는 몇 초 만에 구체화됩니다. 또한 사용자 환경의 디버거에서 중단점을 설정하여 시행착오를 없애고 반복 프로세스의 속도를 더욱 높일 수 있습니다.

게임 개발자가 GameLift Anywhere를 사용할 때 얻을 수 있는 주요 이점은 다음과 같습니다.

  • 더 빠른 게임 개발 — GameLift FlexMatch 및 Queue 서비스를 계속 활용하는 동시에 로컬 워크스테이션에서 즉시 테스트하고 반복할 수 있습니다.
  • 하이브리드 서버 관리 — 클라우드 또는 온프레미스에서 호스팅되는 전용 게임 서버를 모두 한 곳에서 배포, 운영 및 확장할 수 있습니다.
  • 서버 운영 간소화 — 단일 게임 서버 오케스트레이션 계층에서 서버 인프라를 통합하여 비용과 운영 복잡성을 줄일 수 있습니다.

GameLift Anywhere 베타 기간 동안 많은 고객들이 피드백을 주셨습니다. 예를 들어 2020년부터 Amazon GameLift 고객으로 관계를 맺어온 Nitro Games는 플레이어 매치메이킹과 클라우드의 전용 게임 서버 관리에 이 서비스를 사용해 왔습니다. Nitro Games의 선임 DevOps 엔지니어인 Daniel Liljeqvist는 ‘GameLift Anywhere를 사용하면 로컬 시스템에서 게임 서버를 쉽게 디버깅할 수 있어 시간을 절약하고 새로운 게임과 기능을 개발할 때 피드백 루프를 훨씬 단축할 수 있습니다.’라고 말했습니다.

위치, 플릿 및 컴퓨팅과 같은 GameLift Anywhere 리소스는 모든 AWS 서비스와 동일한 매우 안전한 AWS API 엔드포인트를 통해 관리됩니다. 이는 추가적인 보안을 위해 제한된 시간 동안만 유효한 게임 서버 프로세스용 인증 토큰을 생성하는 경우에도 적용됩니다. AWS Identity and Access Management(AWS IAM) 역할 및 정책을 활용하여 모든 GameLift Anywhere 엔드포인트에 대한 액세스를 완전히 관리할 수 있습니다.

GameLift Anywhere 시작하기
로컬 하드웨어에서 GameLift 플릿을 생성하기 전에 게임 빌드나 스크립트를 실행할 사용자 지정 위치를 생성할 수 있습니다. GameLift 콘솔의 왼쪽 탐색 창에서 위치를 선택하고 위치 생성을 선택합니다.

GameLift Anywhere 플릿과 함께 게임을 테스트하는 데 사용할 수 있는 사용자 지정 하드웨어 위치를 만들 수 있습니다.

왼쪽 탐색 창에서 플릿을 선택한 다음 플릿 생성을 선택하여 GameLift Anywhere 플릿을 원하는 위치에 추가합니다.

컴퓨팅 유형 선택 단계에서 Anywhere를 선택합니다.

플릿 이름 및 선택 품목과 같은 플릿 세부 정보를 정의합니다. 설정에 대한 자세한 내용은 AWS 설명서에서 새 GameLift 플릿 생성을 참조하세요.

위치 선택 단계에서 생성한 사용자 지정 위치를 선택합니다. 홈 AWS 리전은 플릿을 생성할 리전으로 자동 선택됩니다. 홈 리전을 사용하여 리소스에 액세스하고 사용할 수 있습니다.

Anywhere 플릿을 생성하기 위한 플릿 생성 단계를 완료한 후에는 관리형 EC2 인스턴스와 Anywhere 위치 모두에서 활성 플릿을 볼 수 있습니다. 또한 GameLift Anywhere 위치를 더 추가하여 원격 온-프레미스 하드웨어를 통합할 수 있으므로 한 곳에서 게임 세션을 관리할 수 있습니다. 자세히 알아보려면 AWS 설명서의 새 GameLift 플릿 생성을 참조하세요.

생성한 플릿의 컴퓨팅 리소스로 랩톱을 등록할 수 있습니다. 이전 단계에서 만든 fleet-id를 사용하고 compute-name과 랩톱의 ip-address를 추가합니다.

$ aws gamelift register-compute \
    --compute-name ChannyDevLaptop \
    --fleet-id fleet-12345678-abcdefghi \
    --ip-address 10.1.2.3

이제 생성한 플릿에서 랩톱의 인증 토큰을 검색하여 게임 서버의 디버그 세션을 시작할 수 있습니다.

$ aws gamelift get-compute-auth-token \
    --fleet-id fleet-12345678-abcdefghi \
    --compute-name ChannyDevLaptop

게임 서버 실행 파일의 디버그 인스턴스를 실행하려면 게임 서버에서 InitSDK()를 호출해야 합니다. 프로세스가 게임 세션을 호스팅할 준비가 되면 게임 서버는 ProcessReady()를 호출합니다. 자세히 알아보려면 AWS 설명서의 사용자 지정 게임 서버와 게임 통합통합 테스트를 참조하세요.

지금 이용 가능
Amazon GameLift Anywhere는 Amazon GameLift를 사용할 수 있는 모든 리전에서 사용할 수 있습니다.  GameLift는 단계별 개발자 가이드, API 참조 가이드GameLift SDK를 제공합니다. 또한 샘플 게임을 사용하여 손쉽게 Amazon GameLift를 테스트해보세요.

사용해 보시고 Amazon GameLift용 AWS re:Post 또는 일반 AWS Support 문의로 피드백을 보내주세요.

Channy