

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

# 게임 세션 대기열 사용자 지정
<a name="queues-design"></a>

이 주제에서는 게임 세션 배치에 대해 가능한 최상의 결정을 내릴 수 있도록 게임 세션 대기열을 사용자 지정하는 방법을 설명합니다. 게임 세션 대기열 및 작동 방식에 대한 자세한 내용은 [게임 세션 배치 구성](queues-intro.md) 섹션을 참조하세요.

이러한 Amazon GameLift Servers 기능에는 대기열이 필요합니다.
+ [FlexMatch를 통한 매치메이킹](https://docs.aws.amazon.com/gameliftservers/latest/flexmatchguide/match-tasks.html)
+ [스팟 인스턴스를 위한 대기열 빌드](spot-tasks.md)

**Topics**
+ [대기열의 범위 정의](queues-design-scope.md)
+ [다중 위치 대기열 빌드](queues-design-multiregion.md)
+ [대기열 지표 평가](queues-design-metrics.md)

# 대기열의 범위 정의
<a name="queues-design-scope"></a>

게임의 플레이어 모집단에는 함께 플레이해서는 안 되는 플레이어 그룹이 있을 수 있습니다. 예를 들어 게임을 두 언어로 게시하는 경우 각 언어에는 고유한 게임 서버가 있어야 합니다.

플레이어 인구를 대상으로 게임 세션 배치를 설정하려면 각 플레이어 세그먼트에 대해 별도의 대기열을 생성합니다. 각 대기열의 범위를 지정하여 플레이어를 올바른 게임 서버에 배치합니다. 대기열의 범위를 지정하는 몇 가지 일반적인 방법은 다음과 같습니다.
+ **지리적 위치별.** 여러 지역에 게임 서버를 배포할 때는 각 위치에 플레이어를 위한 대기열을 만들어 플레이어 지연 시간을 줄일 수 있습니다.
+ **빌드 또는 스크립트 변형별.** 게임 서버의 변형이 두 개 이상이면 동일한 게임 세션에서 플레이할 수 없는 플레이어 그룹을 지원하는 것일 수 있습니다. 예를 들어 게임 서버 빌드나 스크립트는 다양한 언어 또는 디바이스 유형을 지원할 수 있습니다.
+ **이벤트 유형별.** 토너먼트 또는 기타 특별 이벤트 참가자의 게임을 관리하기 위해 특별 대기열을 만들 수 있습니다.

## 여러 대기열 설계
<a name="queues-design-players"></a>

게임과 플레이어에 따라 게임 세션 대기열을 두 개 이상 만들어야 할 수도 있습니다. 게임 클라이언트 서비스가 새로운 게임 세션을 요청하면 어떤 게임 세션 대기열을 사용하는지 지정합니다. 대기열을 여러 개 사용할지 여부를 결정하는 데 도움이 되려면 다음을 고려합니다.
+ 게임 서버의 변형. 게임 서버의 각 변형에 대해 별도의 대기열을 만들 수 있습니다. 대기열에 있는 모든 플릿은 호환 가능한 게임 서버를 배포해야 합니다. 대기열을 사용하여 게임에 참가하는 플레이어는 해당 대기열의 모든 게임 서버에서 플레이할 수 있어야 하기 때문입니다.
+ 다양한 플레이어 그룹. Amazon GameLift Servers가 플레이어 그룹을 기반으로 게임 세션을 배치하는 방법을 사용자 지정할 수 있습니다. 예를 들어 특별한 인스턴스 유형이나 런타임 구성이 필요한 특정 게임 모드에 맞게 사용자 지정된 대기열이 필요할 수 있습니다. 또는 토너먼트나 기타 이벤트의 배치를 관리하기 위한 특수 대기열을 원할 수도 있습니다.
+ 게임 세션 대기열 지표. 게임 세션 배치 지표를 수집하려는 방식에 따라 대기열을 설정할 수 있습니다. 자세한 내용은 [대기열에 대한 Amazon GameLift Servers 지표](monitoring-cloudwatch.md#gamelift-metrics-queue) 단원을 참조하십시오.

# 다중 위치 대기열 빌드
<a name="queues-design-multiregion"></a>

모든 대기열에 다중 위치 설계를 사용하는 것이 좋습니다. 이 설계를 통해 배치 속도와 호스팅 복원성을 개선할 수 있습니다. 플레이어 지연 시간 데이터를 사용하여 플레이어를 지연 시간을 최소화하면서 게임 세션에 참여시키려면 다중 위치 설계가 필요합니다. 스팟 인스턴스 플릿을 사용하는 다중 위치 대기열을 구축하는 경우 [스팟 플릿으로 게임 호스팅 비용 절감](fleets-spot.md)의 지침을 따릅니다.

다중 위치 대기열을 생성하는 한 가지 방법은 대기열에 [다중 위치 플릿](gamelift-regions.md#gamelift-regions-hosting)을 추가하는 것입니다. 이렇게 하면 대기열에서 플릿의 어느 위치에나 게임 세션을 배치할 수 있습니다. 중복성을 위해 구성이나 홈 위치가 다른 플릿을 추가할 수도 있습니다. 다중 위치 스팟 인스턴스 플릿을 사용하는 경우 모범 사례를 따르고 동일한 위치의 온디맨드 인스턴스 플릿을 포함합니다.

다음 예는 기본 다중 위치 대기열을 설계하는 프로세스에 대해 간략하게 설명합니다. 이 예에서는 스팟 인스턴스 플릿 하나와 온디맨드 인스턴스 플릿 하나, 이렇게 두 플릿을 사용합니다. 각 플릿에는 배치 위치에 AWS 리전 대한 `us-east-1`, `us-east-2`, 및 `ca-central-1`가 있습니다`us-west-2`.

**다중 위치 플릿이 포함된 기본 다중 위치 대기열을 생성하려면**

1. 대기열을 생성할 위치를 선택합니다. 클라이언트 서비스를 배포한 위치 근처에 대기열을 배치하여 요청 지연 시간을 최소화할 수 있습니다. 이 예제에서는 `us-east-1`에서 대기열을 만듭니다.

1. 새 대기열을 생성하고 대기열 대상으로 다중 위치 플릿을 추가합니다. 대상 순서에 따라 Amazon GameLift Servers가 게임 세션을 배치하는 방식이 결정됩니다. 이 예에서는 스팟 인스턴스 플릿을 먼저 나열하고 온디맨드 인스턴스 플릿을 두 번째로 나열합니다.

1. 대기열의 게임 세션 배치 우선 순위를 정의합니다. 이 순서는 대기열이 사용 가능한 게임 서버를 가장 먼저 검색하는 위치를 결정합니다. 이 예제에서는 기본 우선 순위 순서를 사용합니다.

1. 위치 순서를 정의합니다. 위치 순서를 정의하지 않는 경우 Amazon GameLift Servers는 위치를 알파벳 순서대로 사용합니다.

![\[예제 대기열의 위치와 대상 순서를 보여주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/gameliftservers/latest/developerguide/images/queue-multi-location-1.png)


![\[대기열의 배치 우선 순위 및 위치 순서를 보여주는 콘솔 스크린샷\]](http://docs.aws.amazon.com/ko_kr/gameliftservers/latest/developerguide/images/queue-multi-location-2.png)


# 대기열 지표 평가
<a name="queues-design-metrics"></a>

자체 대기열이 잘 수행되고 있는지 지표를 통해 평가하세요. [Amazon GameLift Servers 콘솔](https://console.aws.amazon.com/gamelift) 또는 Amazon CloudWatch에서 대기열과 관련된 지표를 볼 수 있습니다. 대기열 지표의 목록 및 설명은 [대기열에 대한 Amazon GameLift Servers 지표](monitoring-cloudwatch.md#gamelift-metrics-queue) 섹션을 참조하세요.

대기열 지표는 다음에 대한 인사이트를 제공할 수 있습니다.
+ **전체 대기열 성능** - 대기열 지표는 대기열이 배치 요청에 얼마나 성공적으로 응답하는지를 나타냅니다. 또한 이러한 지표는 배치가 실패하는 시기와 이유를 식별하는 데도 도움이 될 수 있습니다. 플릿을 수동으로 크기 조정한 대기열의 경우 `AverageWaitTime` 및 `QueueDepth` 지표를 통해 대기열 용량을 조정해야 하는 시기를 표시할 수 있습니다.
+ **FleetIQ 알고리즘 성능** - FleetIQ 알고리즘을 사용하는 배치 요청의 경우, 지표는 알고리즘이 이상적인 게임 세션 배치를 찾는 빈도를 보여줍니다. 플레이어 지연 시간이 가장 짧은 리소스 또는 비용이 가장 저렴한 리소스를 우선적으로 사용하여 배치할 수 있습니다. Amazon GameLift Servers가 이상적인 배치를 찾지 못하는 일반적인 이유를 식별하는 오류 지표도 있습니다. 지표에 대한 자세한 정보는 [Amazon CloudWatch를 사용하여 Amazon GameLift Servers 모니터링](monitoring-cloudwatch.md) 섹션을 참조하세요.
+ **위치 관련 배치** - 다중 위치 대기열의 경우 지표는 위치별 성공적인 배치를 보여줍니다. FleetIQ 알고리즘을 사용하는 대기열의 경우, 이 데이터는 플레이어 활동이 발생하는 곳에 대한 유용한 인사이트를 제공합니다.

FleetIQ 알고리즘 성능의 지표를 평가할 때는 다음 팁을 고려합니다.
+ 대기열이 이상적인 배치를 찾는 속도를 추적하려면 가장 짧은 지연 시간과 최저 비용을 위해 `PlacementsSucceeded` 지표를 FleetIQ 지표와 함께 사용합니다.
+ 대기열이 이상적인 배치를 찾는 속도를 높이려면 다음 오류 지표를 검토합니다.
  + `FirstChoiceOutOfCapacity`값이 높으면 대기열 플릿에 맞게 용량 크기를 조정합니다.
  + `FirstChoiceNotViable` 오류 지표가 높으면 스팟 인스턴스 플릿을 살펴봅니다. 특정 인스턴스 유형의 간섭 속도가 매우 높을 경우 스팟 인스턴스 플릿은 사용 가능하지 않은 상태로 여겨집니다. 이 문제를 해결하려면 대기열을 바꿔 다른 인스턴스 유형을 통해 스팟 인스턴스 플릿을 사용합니다. 위치마다 인스턴스 유형이 다른 스팟 인스턴스 플릿을 포함하는 것이 좋습니다.