Amazon GameLift FleetIQ 로직 - Amazon GameLift

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

Amazon GameLift FleetIQ 로직

다음 다이어그램은 게임 호스팅을 EC2 위해 Amazon과 함께 작업할 때 Amazon GameLift FleetIQ의 역할을 보여줍니다. 주된 목표는 게임 세션을 호스팅하는 데 최고의 적정 게임 서버를 찾고 플레이어에게 최적의 게임 플레이 경험을 제공하는 것입니다. Amazon GameLift FleetIQ는 가장 저렴한 비용으로 가장 높은 게임 호스팅 실행 가능성을 제공하는 리소스로 최고의 리소스를 정의합니다. Amazon GameLift FleetIQ는 두 가지 주요 방식으로 이 목표에 접근합니다. 첫째는 Auto Scaling 그룹에서 실행 가능한 인스턴스 유형만 허용하고, 둘째는 그룹의 사용 가능한 리소스 전체에 새 게임 세션을 효과적으로 배치하는 것입니다.

Amazon GameLift FleetIQ는 Amazon과 함께 작동합니다. EC2

오토 스케일링을 최적의 인스턴스 유형으로 채우기

오토 스케일링의 임무는 새 인스턴스를 시작하고 이전 인스턴스를 사용 중지하면서 호스팅 리소스 모음을 유지하고 플레이어 수요에 맞게 조정하는 것입니다. 이를 위해 오토 스케일링은 원하는 인스턴스 유형 목록을 사용합니다. Amazon GameLift FleetIQ의 작업은 이러한 원하는 인스턴스 유형의 실행 가능성을 지속적으로 확인하고 Auto Scaling 그룹의 목록을 업데이트하는 것입니다. 이 프로세스를 인스턴스 밸런싱이라고 합니다. 이를 통해 오토 스케일링의 인스턴스가 지속적으로 새로 고쳐져 현재 실행 가능한 인스턴스 유형만 항상 사용됩니다.

Amazon GameLift FleetIQ는 Auto Scaling 그룹이 다음과 같은 방식으로 최적의 인스턴스 유형을 선택하는 방식에 영향을 미칩니다.

  • 스팟 및/또는 온디맨드 인스턴스의 사용량을 결정합니다. Amazon GameLift FleetIQ 게임 서버 그룹은 Auto Scaling 그룹이 스팟 및/또는 온디맨드 인스턴스를 사용하는 방식에 영향을 미치는 밸런싱 전략으로 구성됩니다. 스팟 인스턴스는 가용성 변동 및 잠재적 중단, Amazon GameLift FleetIQ가 게임 서버 호스팅에 대해 최소화하는 제한으로 인해 비용이 절감됩니다. 온디맨드 인스턴스는 비용이 더 많이 들지만 필요할 때 더 안정적인 가용성을 제공합니다.

  • 새 인스턴스를 실행 가능한 인스턴스 유형에서만 시작할 수 있도록 제한합니다. Amazon GameLift FleetIQ 게임 서버 그룹은 원하는 인스턴스 유형의 마스터 목록을 유지합니다. 인스턴스 밸런싱 프로세스는 인스턴스 유형의 최근 가용성 및 중단율을 확인하는 예측 알고리즘을 사용하여 게임 호스팅 실행 가능성에 대해 목록에서 원하는 각 인스턴스 유형을 지속적으로 평가합니다. 이 평가 결과 Amazon GameLift FleetIQ는 현재 사용 가능한 인스턴스 유형만 포함하도록 Auto Scaling 그룹의 원하는 인스턴스 유형 목록을 지속적으로 업데이트합니다.

  • 실행 불가능한 인스턴스 유형인 기존 인스턴스에 플래그를 지정합니다. Amazon GameLift FleetIQ는 Auto Scaling 그룹의 기존 인스턴스를 식별합니다. 이 인스턴스는 현재 생존할 수 없는 인스턴스 유형입니다. 이러한 인스턴스에는 드레이닝이라는 플래그가 지정되어 있습니다. 이는 해당 인스턴스가 종료되고 새 인스턴스로 교체됨을 의미합니다. 게임 서버 보호 기능이 설정되어 있는 인스턴스의 경우 모든 활성 게임 세션이 정상적으로 종료될 때까지 종료가 연기됩니다.

저비용 스팟 인스턴스 유형의 가용성이 변동되더라도 오토 스케일링은 인스턴스를 시작하고 만료할 때 게임 호스팅에 최적화된 모음을 유지합니다. 밸런싱 활동은 활성 인스턴스가 있는 게임 서버 그룹에서만 이루어집니다. 이 프로세스의 작동 방식에 대해 스팟 밸런싱 프로세스에서 자세히 알아보십시오.

효과적으로 게임 세션 배치

Amazon GameLift FleetIQ는 게임 서버 그룹의 모든 활성 게임 서버를 추적하고 이 정보를 사용하여 새 게임 세션 및 플레이어에 가장 적합한 위치를 결정합니다.

Amazon GameLift FleetIQ가 게임 서버를 추적할 수 있도록 하려면 게임 서버 소프트웨어가 상태를 보고해야 합니다. 사용자 지정은 각 인스턴스에서 새 게임 서버 프로세스가 시작되고 중지되는 방식을 AMI 제어합니다. 새 게임 서버가 시작되면 Amazon GameLift FleetIQ 에 등록하여 게임 세션을 호스팅할 준비가 되었음을 나타냅니다. 등록 후 게임 서버는 주기적으로 자체 상태와 현재 게임 세션을 호스팅하고 있는지 여부를 보고합니다. 게임 서버가 종료되면 Amazon GameLift FleetIQ 에 대한 등록이 취소됩니다.

새 게임 세션을 시작하려면 게임 클라이언트(또는 매치메이커 또는 기타 클라이언트 서비스)가 Amazon GameLift FleetIQ 에 게임 서버에 대한 요청을 보냅니다. Amazon GameLift FleetIQ는 사용 가능한 게임 서버를 찾아서 새 게임 세션에 대해 클레임하고 게임 서버 ID 및 연결 정보로 응답합니다. 그런 다음 게임 서버의 상태가 업데이트되고 들어오는 플레이어를 위한 새 게임 세션이 시작됩니다.

새 게임 세션을 호스팅할 게임 서버를 선택할 때 Amazon GameLift FleetIQ는 다음과 같은 의사 결정 프로세스를 사용하여 실행 가능한 저비용 스팟 인스턴스를 사용하여 배치를 최적화합니다.

  1. 가능하면 Amazon GameLift FleetIQ는 이미 다른 게임 세션을 호스팅하고 있는 인스턴스에 새 게임 세션을 배치합니다. 일부 인스턴스로 압축하고(과부하시키는 않음) 다른 인스턴스를 유휴 상태로 유지함으로써 오토 스케일링이 필요 없을 때 유휴 인스턴스를 빠르게 축소할 수 있으므로 호스팅 비용을 절감할 수 있습니다.

  2. Amazon GameLift FleetIQ는 드레이닝 으로 플래그가 지정된 인스턴스, 즉 게임 호스팅에 사용할 수 없는 인스턴스를 무시합니다. 이러한 인스턴스는 기존 게임 세션을 지원하기 위해서만 계속 실행됩니다. 이러한 인스턴스는 다른 게임 서버를 사용할 수 없으면 새 게임 세션에 사용할 수 없습니다.

  3. Amazon GameLift FleetIQ는 실행 가능한 인스턴스에서 실행 중인 사용 가능한 모든 게임 서버를 식별합니다.

게임 서버 그룹에 대한 게임 세션 보호 기능을 설정하여 오토 스케일링이 활발하게 실행 중인 게임 세션이 있는 인스턴스를 종료하지 못하게 할 수 있습니다.