Amazon GameLift Anywhere 플릿 생성
이 주제에서는 Amazon GameLift Anywhere 플릿을 생성하는 방법을 설명합니다. Anywhere 플릿을 사용하면 Amazon GameLift 게임 세션 관리 주요 기능을 사용하는 동시에 자체 컴퓨팅 리소스로 게임 세션을 호스팅할 수 있습니다. 온프레미스 하드웨어 또는 기타 클라우드 기반 리소스를 위한 Anywhere 플릿을 생성합니다.
일반적으로 모든 플릿은 하이브리드 호스팅 솔루션에서 Amazon GameLift 관리형 플릿과 함께 사용됩니다. 또한 Amazon GameLift 로 호스팅하기 위한 게임을 개발할 때 유용한 테스트 환경을 제공합니다. Amazon GameLift Anywhere 플릿을 게임 호스팅 솔루션에 통합하는 시기와 방법에 대해 자세히 알아보려면 다음 주제를 참조하세요.
Anywhere 플릿은 자체 관리형 플릿으로 설정 시 몇 가지 추가 작업이 필요합니다. Anywhere 플릿이 게임 세션과 플레이어를 호스팅할 수 있도록 준비하려면 다음 작업을 완료해야 합니다.
시작하기 전에
Anywhere 플릿을 생성하기 전에 다음 작업을 수행합니다. 자세한 지침은 Amazon GameLift Anywhere 호스팅을 위한 개발 로드맵 또는 Amazon GameLift를 사용한 하이브리드 호스팅을 위한 개발 로드맵 섹션을 참조하세요.
-
게임 서버 코드를 Amazon GameLift 서버 SDK 버전 5.x(또는 그 이상)와 통합합니다. 모든 게임 통합 작업을 완료할 필요는 없으며 게임 서버 빌드에 필요한 작업만 완료하면 됩니다. 일반적인 방법은 로컬 시스템을 Anywhere 플릿으로 설정하고 명령줄 인터페이스를 사용하여 게임 서버 통합을 테스트하는 것입니다(Amazon GameLift Anywhere를 사용하여 로컬 테스트 설정 참조). 추가 구성 요소(예: Amazon GameLift가 활성화된 게임 클라이언트)를 개발 시 통합할 수 있습니다.
-
Anywhere 플릿 컴퓨팅에 설치할 게임 서버 소프트웨어를 패키징합니다. 패키지에는 통합 게임 서버 빌드와 게임 서버를 실행하는 데 필요한 모든 지원 소프트웨어가 포함되어야 합니다.
-
Amazon GameLift 에이전트를 Anywhere 플릿과 함께 사용할지 여부를 결정합니다. 에이전트는 Amazon GameLift 에 사용할 서버 프로세스 및 컴퓨팅 관리와 관련된 일부 주요 작업을 자동화하는 온컴퓨트 프로세스 관리 도구입니다. 자세한 내용은 Amazon GameLift 에이전트 사용법 단원을 참조하십시오.
사용자 지정 위치 생성
사용자 지정 위치를 생성하여 컴퓨팅 리소스의 물리적 위치를 나타냅니다. Anywhere 플릿을 생성할 때는 사용자 지정 위치가 하나 이상 이미 정의되어 있어야 합니다. 언제든지 추가 사용자 지정 위치를 생성하고 기존 플릿에 추가할 수 있습니다.
사용자 지정 위치 생성
Amazon GameLift 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 사용자 지정 위치를 생성합니다.
- Console
-
Amazon GameLift 콘솔의 탐색 창에서 위치 페이지를 엽니다. 위치 생성을 선택하여 테이프 생성 대화 상자를 엽니다.
-
대화 상자에 위치 이름을 입력합니다. 식별할 수 있게 위치를 설명하는 이름을 컴퓨팅 리소스 세트에 사용하는 것이 좋습니다. 지리적 위치, 데이터 센터 이름 또는 기타 위치 식별자일 수 있습니다. Amazon GameLift는 사용자 지정 위치의 이름을 custom-으로 추가합니다.
-
(선택)태그를 사용자 지정 위치에 추가합니다. 각 태그는 사용자가 정의하는 키와 선택적 값으로 구성됩니다. 용도, 소유자, 환경 등의 기준에 따라 태그를 지정해 AWS 리소스를 유용하게 분류할 수 있습니다. 추가하려는 각 추가 태그에 대해 새 태그 추가를 선택합니다.
-
생성(Create)을 선택합니다.
- AWS CLI
-
create-location
명령을 사용하여 사용자 지정 위치를 생성합니다. custom-
으로 시작하는 location-name
값을 제공해야 합니다. 식별할 수 있게 위치를 설명하는 이름을 컴퓨팅 리소스 세트에 사용하는 것이 좋습니다. 지리적 위치, 데이터 센터 이름 또는 기타 위치 식별자일 수 있습니다.
aws gamelift create-location \
--location-name custom-location-1
출력
{
"Location": {
"LocationName": "custom-location-1",
"LocationArn": "arn:aws:gamelift:us-east-1:111122223333:location/custom-location-1"
}
}
Anywhere 플릿 생성
보유한 컴퓨팅 리소스 집합에 대한 Anywhere 플릿을 생성합니다. 새 Anywhere 플릿은 비어 있으며 컴퓨팅을 등록하여 플릿에 컴퓨팅을 추가합니다.
생성 과정에서 신규 Anywhere 플릿이 NEW
에서 ACTIVE
상태로 빠르게 전환됩니다. 플릿이 ACTIVE
상태로 전환되면 플릿에 컴퓨팅을 추가할 수 있습니다.
Anywhere 플릿 생성
Amazon GameLift 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 Anywhere 플릿을 생성합니다.
- Console
-
Amazon GameLift 콘솔의 탐색 창에서 플릿 페이지를 실행합니다. 플릿 생성을 선택하여 플릿 생성 워크플로를 시작합니다.
- 1단계: 컴퓨팅 유형 선택
Anywhere 옵션을 선택하고 다음을 선택합니다.
- 2단계: 플릿 세부 정보 지정
-
이 단계에서는 플릿의 전반적인 주요 설정을 지정합니다.
-
플릿 세부 정보 섹션을 작성합니다.
-
플릿 이름을 입력합니다. 플릿 목록을 볼 때 플릿 유형을 더 쉽게 식별할 수 있도록 플릿 이름 지정 패턴을 사용하는 것이 좋습니다.
-
플릿에 대한 간략한 설명을 입력합니다.
-
필요에 따라 선택적으로 추가 세부 정보를 설정합니다. 이러한 플릿 설정은 필요에 따라 나중에 업데이트할 수 있습니다.
-
프로덕션 또는 사전 프로덕션 테스트를 위해 플릿을 생성할 때 이 설정을 사용하여 플릿의 컴퓨팅에 대한 시간당 비용 값을 지정합니다. 이 정보를 바탕으로 Amazon GameLift가 게임 세션 배치 프로세스 중에 비용에 따라 호스팅 리소스를 선택할 수 있습니다.
-
해당 플릿 및 기타 플릿의 지표 데이터를 결합하려면 지표 그룹 이름을 지정합니다. 함께 결합하려는 모든 플릿에 동일한 지표 그룹 이름을 사용합니다. 지표 그룹의 지표를 보고 집계된 데이터를 확인합니다.
-
필요한 태그를 사용자 지정 위치에 추가합니다. 각 태그는 사용자가 정의하는 키와 선택적 값으로 구성됩니다. 용도, 소유자, 환경 등의 기준에 따라 태그를 지정해 AWS 리소스를 유용하게 분류할 수 있습니다. 추가하려는 각 추가 태그에 대해 새 태그 추가를 선택합니다.
-
워크플로를 계속하려면 다음을 선택합니다.
- 3단계: 사용자 지정 위치 선택
-
이 단계에서는 이 플릿에 추가할 컴퓨팅의 물리적 위치를 식별합니다. 지금 하나 이상의 위치를 지정하고 필요에 따라 나중에 위치를 추가하거나 제거할 수 있습니다.
-
사용자 지정 위치에서 플릿의 컴퓨팅에 대해 하나 이상의 위치를 선택합니다. 목록에는 현재 선택한 AWS 리전에서 정의한 모든 사용자 지정 위치가 포함됩니다. 플릿에 추가할 새 사용자 지정 위치를 정의하려면 위치 생성을 선택합니다.
-
워크플로를 계속하려면 다음을 선택합니다.
- 4단계: 검토 및 생성
-
플릿을 생성하기 전에 설정을 검토합니다.
새 플릿을 배포할 준비가 되면 생성을 선택합니다. Amazon GameLift가 즉시 플릿 활성화 프로세스를 시작하여 고유한 ID를 할당하고 플릿을 NEW
상태로 전환합니다. 플릿 페이지에서 플릿의 상태를 볼 수 있습니다.
- AWS CLI
-
create-fleet
명령을 사용하여 컴퓨팅 유형 ANYWHERE
의 플릿을 생성합니다. 이름과 하나 이상의 사용자 지정 위치를 입력합니다. Amazon GameLift가 현재 기본 AWS 리전에 Anywhere 플릿 리소스를 생성합니다(또는 다른 AWS 리전에 리전 태그 추가 지정 가능).
다음 예제 요청으로 최소 필수 설정을 사용하는 새 플릿을 생성할 수 있습니다. FleetName
과 custom-location
를 사용자 정보로 바꿉니다.
aws gamelift create-fleet \
--name FleetName
\
--compute-type ANYWHERE \
--locations "Location=custom-location
"
응답의 예
{
"FleetAttributes": {
"FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
"FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
"Name": "HardwareAnywhere",
"CreationTime": "2023-02-23T17:57:42.293000+00:00",
"Status": "ACTIVE",
"MetricGroups": [
"default"
],
"CertificateConfiguration": {
"CertificateType": "DISABLED"
},
"ComputeType": "ANYWHERE"
}
}
생성 과정에서 신규 Anywhere 플릿이 ACTIVE
상태로 빠르게 전환됩니다. 플릿이 ACTIVE
상태로 전환되면 플릿에 컴퓨팅을 추가할 수 있습니다.
응답에는 플릿 위치가 포함되지 않습니다. describe-fleet-attributes
및 describe-fleet-location-attributes
를 호출하여 전체 플릿 세부 정보를 검색할 수 있습니다
플릿에 컴퓨팅 추가
플릿에 컴퓨팅 리소스를 추가하고 게임 세션을 호스팅할 준비를 하려면 다음 작업을 수행합니다.
Amazon GameLift Agent를 사용하여 게임 서버 소프트웨어를 배포하는 경우 이 단계를 건너뛸 수 있습니다. 에이전트는 각 컴퓨팅을 자동으로 등록하고 컴퓨팅에 유효한 인증 토큰을 유지합니다. Amazon GameLift 에이전트 사용법 섹션을 참조하세요.
AWS CLI를 사용하거나 AWS SDK for Amazon GameLift 를 프로그래밍 방식으로 호출하여 컴퓨팅을 등록하고 인증 토큰을 요청할 수 있습니다. Amazon GameLift 콘솔에서는 이러한 작업을 사용할 수 없습니다.
각 컴퓨팅에 시작 스크립트를 추가하여 이러한 두 작업을 모두 자동화하는 것이 좋습니다. 시작 스크립트는 register-compute
및 get-compute-auth-token
명령을 모두 자동으로 호출합니다. 또한 작업을 자동화하여 컴퓨팅 수명 기간 동안 인증 토큰을 정기적으로 새로 고치고 종료 시 컴퓨팅 등록을 취소할 수 있습니다.
각 시작 작업은 컴퓨팅에 저장해야 하는 컴퓨팅별 값을 반환합니다. 컴퓨팅에서 게임 서버 프로세스가 시작되면 Amazon GameLift 서비스와의 연결을 초기화할 때 이러한 값을 서버 파라미터로 전달해야 합니다(서버 SDK 참조의 ServerParameters 참조). 이러한 컴퓨팅별 값(또는 저장된 위치)을 환경 변수로 설정하는 것이 좋습니다. Amazon GameLift 에이전트를 사용하는 경우 이 작업이 처리됩니다. 컴퓨팅별 값은 다음과 같습니다.
- AWS CLI
-
다음 지침은 AWS CLI를 사용하여 각 요청을 수동으로 제출하는 방법을 설명합니다.
컴퓨팅 등록
register-compute
를 호출하여 컴퓨팅을 등록합니다. 컴퓨팅을 추가할 플릿의 ID를 식별합니다. 식별할 수 있는 이름, IP 주소 및 위치 등의 컴퓨팅 정보를 제공합니다. 컴퓨팅의 위치는 플릿과 이미 연결된 사용자 지정 위치여야 합니다. 다른 사용자 지정 위치를 사용하려면 Amazon GameLift 콘솔을 사용하여 플릿을 업데이트하거나 create-fleet-locations
AWS CLI 명령을 호출하여 플릿에 사용자 지정 위치를 추가합니다.
다음 예에서는 컴퓨팅 및 플릿의 자리 표시자 값을 바꿉니다. Anywhere 플릿을 생성하면 fleet-id
값이 반환됩니다. describe-fleet-attributes
및 describe-fleet-location-attributes
를 호출하여 전체 플릿 세부 정보를 검색할 수 있습니다
aws gamelift register-compute \
--compute-name HardwareAnywhere
\
--fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
\
--ip-address 10.1.2.3
\
--location custom-location-1
출력 예시
{
"Compute": {
"FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
"FleetArn": "arn:aws:gamelift:us-west-2:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
"ComputeName": "HardwareAnywhere",
"ComputeArn": "arn:aws:gamelift:us-west-2:111122223333:compute/HardwareAnywhere",
"IpAddress": "10.1.2.3",
"ComputeStatus": "Active",
"Location": "custom-location-1",
"CreationTime": "2023-02-23T18:09:26.727000+00:00",
"GameLiftServiceSdkEndpoint": "wss://us-west-2.api.amazongamelift.com"
}
}
인증 토큰 요청
get-compute-auth-token
을 호출하여 유효한 인증 토큰을 요청하고 컴퓨팅을 등록합니다. 플릿 ID와 컴퓨팅 이름을 식별합니다.
다음 예에서는 컴퓨팅 및 플릿의 자리 표시자 값을 바꿉니다. Anywhere 플릿을 생성하면 fleet-id
값이 반환됩니다. describe-fleet-attributes
를 호출하여 전체 플릿 세부 정보를 검색할 수 있습니다 컴퓨팅 정보를 찾으려면 플릿 ID로 list-compute
를 호출하여 플릿에 등록된 모든 컴퓨팅을 확인합니다.
aws gamelift get-compute-auth-token \
--fleet-id arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa
\
--compute-name HardwareAnywhere
출력 예시
{
"FleetId": "fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
"FleetArn": "arn:aws:gamelift:us-east-1:111122223333:fleet/fleet-2222bbbb-33cc-44dd-55ee-6666ffff77aa",
"ComputeName": "HardwareAnywhere",
"ComputeArn": "arn:aws:gamelift:us-east-1:111122223333:compute/HardwareAnywhere",
"AuthToken": "0c728041-3e84-4aaa-b927-a0fb202684c0",
"ExpirationTimestamp": "2023-02-23T18:47:54+00:00"
}
게임 서버 실행 시작
Anywhere 플릿을 생성하고 플릿에 하나 이상의 컴퓨팅을 추가하면 게임 서버 실행을 시작할 준비가 완료됩니다.
- 1단계: 게임 서버 소프트웨어 설치
Anywhere 플릿의 각 컴퓨팅에 게임 서버 빌드와 모든 종속 소프트웨어를 설치합니다. 게임 서버 빌드는 Amazon GameLift 서버 SDK 버전 5.x(또는 그 이상)와 통합되어야 하며 Amazon GameLift 서비스와 통신하는 데 필요한 최소 기능이 있어야 합니다.
- 2단계: 게임 서버를 실행할 수 있도록 컴퓨팅 준비
-
각 컴퓨팅이 등록되어 있고 유효한 인증 토큰이 있는지 확인합니다. 스크립트를 사용하여 이러한 작업을 관리하는 경우 게임 서버 프로세스를 시작하기 전에 각 컴퓨팅에서 스크립트가 실행되는지 확인합니다.
Amazon GameLift Agent를 게임 서버 소프트웨어와 함께 배포한 경우 에이전트 실행 파일이 시작되는지 확인합니다.
- 3단계: 게임 서버 프로세스 시작
컴퓨팅에서 게임 서버 실행 파일의 인스턴스를 실행합니다. 게임 서버 빌드가 제대로 통합되면 게임 서버 프로세스는 유효한 서버 파라미터 세트를 사용하여 서버 SDK 작업 InitSDK()
를 호출합니다. 서버 프로세스가 게임 세션을 호스팅할 준비가 되면 ProcessReady()
를 호출합니다.
Amazon GameLift Agent를 사용하여 게임 서버 소프트웨어를 배포하는 경우 이 단계를 건너뛸 수 있습니다. 에이전트는 사용자가 제공한 런타임 지침에 따라 게임 서버 프로세스를 자동으로 시작합니다.
활성화 및 활성 서버 프로세스에 대한 서버 프로세스 지표를 확인하여 진행 상황을 모니터링할 수 있습니다. Amazon GameLift 플릿 지표 섹션을 참조하세요. 게임 서버 프로세스가 초기화되지 않는 경우 프로세스가 실행 중인 컴퓨팅에 적합한 서버 파라미터 값을 검색하고 있는지 확인합니다.