Amazon Web Services 한국 블로그

Amazon GameLift FleetIQ 및 스팟 인스턴스로 게임 서버 호스팅 비용 90% 절감

Amazon GameLift는 세션 기반 멀티플레이어 게임을 위한 클라우드 기반의 확장 가능 런타임 환경입니다. 게임 빌드를 업로드하고 Amazon GameLift에서 게임을 호스팅할 EC2 인스턴스 유형만 지정하면 Amazon GameLift가 알아서 세션을 설정하고 적절한 크기의 EC2 인스턴스 플릿을 유지 관리해 줍니다. 이 자동 조정을 통해 고객은 조용한 기간에 예비 컴퓨팅 리소스를 확보해 두지 않아도 시간에 따라 변화하는 수요를 충족할 수 있습니다.

스팟 인스턴스 사용하기
지난 주 저희는 Amazon GameLift에 게임을 호스팅할 때 발생하는 플레이어당 및 시간당 비용을 한층 더 감소해주는 새로운 기능을 추가했습니다. 이 출시가 있기 전까지 Amazon GameLift 인스턴스는 항상 온디맨드 형식으로 시작되었습니다. Amazon GameLift 요금 페이지에서 볼 수 있듯이 이 유형의 인스턴스에는 항상 고정 요금이 부과됩니다.

이제는 GameLift 플릿에 Amazon GameLift 스팟 인스턴스를 활용할 수 있습니다. 이러한 인스턴스는 사용되지 않은 용량을 나타내며 시간에 따라 증감하는 요금이 적용됩니다. 결과는 고객에 따라 다를 수 있으나 온디맨드 인스턴스와 비교했을 때 최대 90%의 절감 효과를 얻을 수 있습니다.

스팟 인스턴스를 단순히 비용 절감 도구로 사용할 수도 있지만 다른 유용한 사용 사례도 있습니다. 모든 게임에는 수명 주기가 있으며 서버를 중단하고 폐기하는 날까지 게임을 플레이하고자 하는 충성도 높은 플레이어들도 있습니다. 저비용의 스팟 인스턴스로 구성된 Amazon GameLift 플릿을 생성하면 과다한 비용이 발생하지 않으면서 이러한 인기 게임을 최대한 오래 동안 실행 및 유지할 수 있습니다. Amazon GameLift 대기열은 배경에서 실행되면서 고객에게 가장 낮은 요금으로 최상의 서비스를 제공하기 위하여 스팟 인스턴스와 온디맨드 인스턴스를 모두 활용하여 요금과 가용성의 균형을 유지합니다.

앞에서 말씀 드렸듯이 스팟 인스턴스는 온디맨드 인스턴스에서 사용되지 않는 용량을 가리킵니다. 이 용량이 감소하면 기존의 스팟 인스턴스는 2분간의 알림과 함께 중단된 다음 종료됩니다. 다행스러운 사실은 용량이 충분하며 인스턴스가 종료되는 경우는 통계적으로 매우 드문 현상이라는 것입니다. 그 빈도를 더욱 줄이기 위해 Amazon GameLift 대기열에는 이제 FleetIQ라는 새로운 기능이 포함됩니다.

FleetIQ는 스팟 인스턴스의 요금 기록 및 종료 데이터를 바탕으로 작동합니다. 이 데이터는 인스턴스 유형 선택에 대한 상당히 보수적인 전략과 연동하여 특정 게임에서 알림이 발생한 다음 중단될 확률을 추가적으로 감소해 줍니다. 게임의 서버 프로세스에 있는 onProcessTerminate 콜백은 해당 스팟 인스턴스가 중단되려고 할 때 활성화됩니다. 이 시점부터 게임을 종료하고, 모든 로그를 저장하고, 사용 가능한 리소스를 확보하고, 기타 정리 작업을 수행할 시간이 2분 주어집니다. 이 작업을 수행하는 동안 GetTerminationTime 기능을 호출하면 남은 시간이 얼마인지 확인할 수 있습니다.

플릿 생성하기
스팟 인스턴스와 FleetIQ를 활용하려면 Amazon GameLift 콘솔 또는 API에서 여러 스팟 인스턴스 및 온디맨드 인스턴스의 플릿에 대한 대기열을 설정할 수 있습니다. 각 대기열에 더 많은 플릿을 추가함으로써 FleetIQ는 지연 시간, 중단율 및 비용을 개선할 수 있습니다. 인스턴스에서 새 게임 세션을 시작하기 위해 FleetIQ는 먼저 각 플레이어에 대해 지연 시간이 가장 낮은 리전을 선택한 다음 중단율 및 비용이 가장 낮은 플릿을 선택합니다.

그 과정을 안내해 드리겠습니다. 온디맨드 인스턴스 플릿을 먼저 생성하고 스팟 인스턴스 플릿을 생성합니다.

그리고:

플릿이 확인 및 활성화되는 동안 잠시 기다립니다.

그런 다음 게임에 대한 대기열을 생성합니다. 대기열의 대상으로 플릿을 선택합니다.

전 세계적인 사용자 기반의 게임을 구축하는 경우 추가 AWS 리전에 플릿을 생성하고 플레이어 지연 시간 정책을 사용하여 게임 세션이 적합한 리전에서 생성되게 할 수 있습니다.

이 기능을 사용하는 방법에 대한 자세한 내용은 스팟 플릿 통합 안내서를 참조하십시오.

정식 출시
이제 Amazon GameLift 스팟 인스턴스를 사용하여 세션 기반 게임을 호스팅할 수 있습니다! 검토하고 사용해 보신 후 의견을 공유해 주십시오.

올해 개최되는 GDC에 참가하시는 경우, 잊지 말고 1001번 부스를 찾아 주십시오. Amazon의 GDC 2018 사이트에서 당사의 개발자 데이 토론, 강의실 세션 및 부스 데모에 대한 자세한 정보를 확인하십시오.

Jeff;