스팟 플릿으로 게임 호스팅 비용 절감 - Amazon GameLift Servers

스팟 플릿으로 게임 호스팅 비용 절감

Amazon GameLift Servers 관리형 호스팅을 사용하여 멀티플레이어 게임 서버를 호스팅할 때 스팟 인스턴스는 온디맨드 인스턴스에 대한 비용 효율적인 대안을 제공할 수 있습니다. 스팟 요금 모델은 온디맨드와 동일한 하드웨어 및 성능을 제공하지만 잠재적으로 상당한 비용 절감(최대 70~90%)을 제공합니다. 그러나 제한 사항이 있습니다. AWS에 용량이 다시 필요한 경우 2분 중단 알림으로 이러한 인스턴스를 회수할 수 있습니다.

Amazon GameLift Servers는 게임 서버 호스팅 중단 위험을 완화합니다. Amazon GameLift Servers는 스팟 인스턴스 유형의 중단 가능성을 예측하고 위험한 인스턴스에 게임 세션을 배치하지 않습니다. 드둘게 중단이 발생하더라도 알림을 통해 플레이어의 게임 세션을 정상적으로 종료할 수 있습니다.

Amazon GameLift Servers가 스팟 플릿과 함께 작동하는 방법

게임 호스팅을 위해 스팟 플릿을 설정할 때 Amazon GameLift Servers는 게임 호스팅 실행 가능성을 위해 스팟 플릿 인스턴스 유형 및 위치를 지속적으로 평가합니다.

  • 스팟 실행 가능성 알고리즘은 위치별로 스팟 인스턴스 유형의 최근 가용성 패턴과 과거 중단율을 분석합니다.

  • 이 분석을 기반으로 Amazon GameLift Servers는 게임 세션 중단의 허용 불가능한 가능성이 있는 스팟 인스턴스 유형 및 위치를 식별합니다. 다음과 같은 작업을 수행합니다.

    • 인스턴스 유형과 위치의 조합을 일시적으로 실행할 수 없는 것으로 표시합니다.

    • 새 게임 세션을 배치할 때 실행 불가능한 스팟 플릿 위치를 고려하지 않습니다. 따라서 게임 세션은 중단 없는 게임 서버 호스팅 가능성이 높은 스팟 플릿 위치에만 배치됩니다.

    • AWS가 회수하지 않더라도 기존 인스턴스의 스팟 플릿 위치를 비우므로 게임 호스팅에 사용할 수 없는 인스턴스에 대해서는 비용을 지불하지 않습니다. 게임 세션 보호가 켜져 있으면 활성 게임 세션이 완료된 후에만 인스턴스가 종료됩니다.

  • Amazon GameLift Servers는 게임 호스팅 실행 가능성을 위해 스팟 플릿 인스턴스 유형 및 위치를 지속적으로 재평가합니다. 이전에 실행 불가능한 인스턴스 유형이 업데이트된 기록 데이터를 기반으로 다시 실행 가능하게 되면 스팟 플릿을 다시 확장할 수 있으며 Amazon GameLift Servers가 이를 사용하여 게임 세션 배치를 재개합니다.

설계 고려 사항

스팟 플릿을 사용하도록 솔루션을 설계할 때는 다음 문제를 고려하세요.

  • 게임 세션 길이 평가 - 게임 세션의 평균 길이는 스팟이 게임에 얼마나 잘 작동하는지에 영향을 미칠 수 있습니다. 게임 세션이 짧아질수록 더 빠른 반환이 가능해져, 최신 기록 데이터를 기반으로 실행 가능한 인스턴스 유형에서 게임 세션을 안정적으로 운영할 수 있습니다. 더 긴 게임 세션은 최근 실행 가능성 데이터를 평가하지 않고 인스턴스 유형에서 계속 실행되므로 시간이 지남에 따라 중단 위험이 커집니다.

  • 인스턴스 유형 가용성 평가 - 모든 플릿 위치가 모든 인스턴스 유형을 스팟으로 제공하는 것은 아닙니다. 스팟 플릿의 인스턴스 유형을 선택할 때 Amazon GameLift Servers 콘솔 플릿 생성 도구를 사용하여 필요한 위치에서 스팟 인스턴스 유형을 찾도록 도와줍니다. 이 도구를 사용하면 플릿 위치를 선택한 다음 해당 위치의 인스턴스 유형 가용성을 볼 수 있습니다.

  • 다중 위치 스팟 플릿 생성 - 여러 위치로 스팟 플릿을 생성할 수 있습니다. 단일 다중 위치 스팟 플릿은 동일한 인스턴스 유형의 인스턴스를 여러 AWS 리전 또는 로컬 영역에 배포합니다. 스팟 실행 가능성 알고리즘은 인스턴스 유형과 위치 모두를 기반으로 실행 가능성을 평가합니다. 스팟 플릿 위치가 실행 불가능한 것으로 평가되는 경우 플릿의 다른 위치에 영향을 주지 않으며 게임 세션을 호스팅하는 데에도 여전히 사용할 수 있습니다.

  • 스팟 플릿 다양성을 사용하여 대기열 생성 - 게임 호스팅에 스팟 플릿을 사용하는 경우 게임 세션 배치 대기열을 설정해야 합니다. 각 새 게임 세션 요청에 대해 대기열은 사용 가능한 게임 호스팅 리소스를 찾고 가능한 최상의 옵션을 선택합니다. 스팟 플릿을 사용할 때에는 위치 및 인스턴스 유형 모두에서 서로 다른 여러 플릿을 검색할 수 있는 대기열이 필요하며, 적어도 하나 이상의 온디맨드 플릿을 백업 용량으로 포함해야 합니다. 다양한 배치 옵션을 제공하는 잘 설계된 다중 플릿 대기열은 중단, 속도 저하 및 장애에 대한 복원력이 뛰어납니다. 스팟용 대기열 설계에 대한 추가 지침은 스팟 인스턴스를 위한 대기열 빌드 섹션을 참조하세요.

  • 정상적으로 중단 처리 - 스팟 중단 발생 시 플레이어에 미치는 영향을 최소화하도록 게임 서버를 설정합니다. AWS가 스팟 인스턴스를 회수하면 Amazon GameLift Servers는 서버 SDK 콜백 함수 onProcessTerminate()를 사용하여 영향을 받는 모든 서버 프로세스에 종료 알림을 전달합니다. 게임 세션을 정상적으로 종료하려면 게임에서 이 콜백을 구현해야 합니다. 자세한 내용은 서버 프로세스 종료 알림에 응답 섹션을 참조하세요.

    참고

    AWS는 인스턴스가 회수되기 전 알림을 제공하기 위해 최선을 다하지만 경고를 수신하기 전에 AWS가 스팟 인스턴스를 회수할 수도 있습니다. 또한 게임 서버를 준비하여 예기치 않은 중단을 처리해야 합니다.

  • 스팟 중단 중에 서비스를 유지하도록 백업 플릿에 대한 오토 스케일링을 구성합니다. 대상 추적 오토 스케일링은 용량 버퍼를 유지하고 수요에 따라 자동으로 확장합니다. 오토 스케일링을 사용하면 백업 플릿(스팟 또는 온디맨드)이 더 많은 게임 세션 요청을 수신하기 시작할 때마다 용량이 증가하기 시작합니다.

    스팟 플릿을 사용할 수 없게 될 때 손실된 용량을 빠르게 교체하려면 사용자 지정 조정 메커니즘은 사용 가능한 대기열 및 플릿 지표를 사용하여 백업 플릿의 신속한 스케일 아웃을 시작할 수 있습니다. FirstChoiceOutOfCapacity, FirstChoiceNotViable, PercentAvailableGameSessions과 같은 지표를 사용하여 스팟 플릿을 실행할 수 없게 되는 시점을 감지합니다. 최근 PlacementsStarted 지표 데이터를 분석하여 대체 용량 요구 사항을 추정합니다. 백업 플릿을 조정하여 즉각적인 수요를 처리하면 일반적인 오토 스케일링이 인계될 수 있습니다.

  • FlexMatch와의 통합 - 솔루션이 FlexMatch 매치메이커를 사용하는 경우 스팟 플릿에 대한 특별한 요구 사항은 없습니다. 스팟 플릿과 함께 대기열을 사용하도록 매치메이커를 구성할 수 있습니다. Amazon GameLift Servers는 새 게임 세션을 배치할 때와 기존 게임 세션에서 빈 플레이어 슬롯을 채우는 경우를 포함하여 스팟 및 온디맨드 플릿에서 매치 배치의 우선 순위가 자동으로 지정됩니다.