BLOG
Amazon GameLift는 세션 기반 멀티 플레이어 게임용의 확장 가능한 클라우드 기반 runtime 환경입니다. 게임 Build를 업로드하고 Amazon Game Lift에 호스트 하고자 하는 EC2인스턴스 유형을 알려 준 다음, Amazon Game Lift가 세션 설정을 담당하고 적절한 크기의 EC2인스턴스를 유지합니다. 이렇게 자동으로 확장하면 활동이 많이 없는 시간 동안 컴퓨팅 리소스를 예약 상태로 유지하지 않고도 시간에 따라 달라지는 수요에 대처할 수 있습니다.
Spot 인스턴스 사용
AmazonGame Lift로 게임을 호스트할 때 시간당/ 플레이어 당 비용을 더 낮추는 새로운 기능이 추가되었습니다. 이 기능을 시작하기 전에 AmazonGameLift인스턴스는 항상 온 디맨드 형식으로 시작되었습니다. 이러한 유형의 예는 AmazonGameLift가격 페이지에 자세히 설명된 대로 항상 고정된 가격으로 청구됩니다.
이제 GameLift에서 Amazon Game Lift Spot 인스턴스를 사용할 수 있습니다. 이러한 인스턴스는 미사용 용량을 나타내며 시간에 따라 가격이 증가/감소하는 것이 가능합니다. 결과는 다양하지만 On-demand 방식으로 작업할 때보다 최대 90%까지 비용을 절약할 수 있습니다.
Spot Instance를 간단히 비용 절약 측면에서 사용할 수도 있지만, 다른 흥미로운 사용 사례도 있습니다. 모든 게임에는 수명 주기가 있으며, 사용자가 서버의 플러그를 뽑아 분리할 때까지 계속 재생하려는 충성도가 높은 플레이어가 여러 가지 있습니다. 여러분은 저렴한 Spot Instance로 구성된 아마존 게임 리프트 fleet를 만들고, 큰 돈을 들이지 않고도 이 게임을 가능한 한 오랫동안 운영할 수 있게 될 것입니다. 그 뒤에는 AmazonGamlift Queue가 Spot 및 On-demand 인스턴스를 사용하여 최저 가격에 최고의 서비스를 제공하기 위해 가격과 가용성의 균형을 맞출 것입니다.
앞서 언급했듯이, spot instance는 on-demand 인스턴스에서 사용하지 않는 용량을 나타냅니다. 이 용량이 감소하면 기존의 Spot instance 는 알림에 의해 중단되고 종료될 수 있습니다. 다행히도, 통계적으로 볼 때 대용량일 때 중단은 거의 발생되지 않습니다. 빈도를 더욱 낮추기 위해, AmazonGameLift Queues는 이제 FleetIQ라고 하는 새로운 기능을 추가했습니다.
FleetIQ는 Spot instance에 대한 기간별 가격 책정 및 종료 데이터에 따라 전원이 공급됩니다. 이러한 데이터는 인스턴스 유형을 선택하기 위한 매우 보수적인 전략과 결합되어, 어떤 특정한 게임이 통지 후 중단될 수 있는 확률을 더 낮춥니다. OnProcessTerminate callback은 기본 Spot 인스턴스가 중단하려는 경우에 게임 서버 프로세스에서 활성화됩니다. 이 시점에서 게임 종료 로그저장 및 리소스 확보를 2분안에 해야 합니다. 이 작업을 수행하는 동안 GetTerminationTime으로 전화해서 남은 시간을 확인할 수 있습니다.
Fleet 만들기
Spot Instance와 FleetIQ를 십분 활용하려면 AmazonGameLift 콘솔 또는 API를 사용하여 여러 개의 Spot 및 on-demand 인스턴스로 Queues를 설정할 수 있습니다. 각 큐에 더 많은 Fleet 를 추가함으로써 FleetIQ에 더 많은 옵션을 제공하여 대기 시간, 중단 속도 및 비용을 높일 수 있습니다. 인스턴스에서 새 게임 세션을 시작하려면 우선 각 플레이어에 대해 레이턴시가 가장 짧은 영역을 선택한 다음 방해율과 비용이 가장 낮은 Fleet를 선택합니다.
그 과정을 살펴보면 아래의 순서로 On-demand와 인스턴스와 Spot 인스턴스 Fleet 을 생성할 수 있습니다.
그리고
그 후에는 fleet 을 확인 및 실행하면서 잠시 휴식을 취합니다.
그리고는 게임을 위해 큐를 생성합니다. Fleet을 큐를 위한 목적지로 선택합니다.
글로벌 사용자 기반이 있는 게임을 구축하는 경우 추가 AWS Region에 Fleet를 만들고 적절한 영역에서 게임 세션이 생성되도록 플레이어 레이턴시 정책을 사용합니다.
이 기능을 사용하는 방법에 대해서는 Spot Fleet Integration Guide를 참고해주십시오.
Now Available
이제 당신도 AmazonGameLift Spot 인스턴스 Fleet를 사용해 세션 기반 게임을 호스팅 할 수 있습니다. 한번 해 보시고 어떻게 생각하시는지 알려 주세요!
올해 GDC(Game Developers Conference)에 참여하려는 계획이 있다면, 반드시 부스 #1001에 들러야 합니다. 개발자 일일 의논, 강의실 세션 및 부스 데모에 대한 자세한 내용은 GDC 2018사이트를 참조하세요.
원문 URL: https://aws.amazon.com/ko/blogs/aws/amazon-gamelift-fleetiq-and-spot-instances-save-up-to-90-on-game-server-hosting/
** 메가존 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.