Amazon GameLift 관리형 EC2플릿 생성 - Amazon GameLift

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

Amazon GameLift 관리형 EC2플릿 생성

이 주제에서는 Amazon GameLift 관리형 EC2플릿을 생성하는 방법을 설명합니다. 관리형 플릿은 멀티플레이어 게임 호스팅에 최적화된 Amazon Elastic Compute Cloud(AmazonEC2) 컴퓨팅 인스턴스를 사용합니다. Amazon 에서 지원하는 AWS 리전 및 로컬 영역에 컴퓨팅을 배포하는 관리형 플릿을 생성할 수 있습니다 GameLift.

새 관리형 EC2플릿을 생성하면 플릿 생성 프로세스가 즉시 시작됩니다. 관리형 플릿은 Amazon이 게임 서버 빌드를 GameLift 준비하고, 빌드가 설치된 인스턴스를 배포하고, 각 EC2 인스턴스에서 게임 서버를 시작할 때 여러 단계를 거칩니다. 콘솔 또는 uring AWS Command Line Interface ()을 사용하여 플릿의 상태를 모니터링할 수 있습니다AWS CLI. 플릿은 상태가 에 도달하면 게임 세션을 호스팅할 준비가 됩니다ACTIVE. 관리형 플릿 생성에 대한 자세한 내용은 다음 주제를 참조하세요.

관리형 EC2플릿을 생성하려면

Amazon GameLift 콘솔 또는 AWS Command Line Interface (AWS CLI)를 사용하여 관리형 EC2플릿을 생성합니다.

Console

Amazon GameLift 콘솔 에서 탐색 창을 사용하여 플릿 페이지를 엽니다. 플릿 생성을 선택하여 플릿 생성 워크플로를 시작합니다.

1단계 컴퓨팅 유형 선택

관리EC2형 옵션을 선택하고 다음 를 선택합니다.

2단계 플릿 세부 정보 정의

이 단계에서는 일부 플릿 전체 설정을 지정합니다.

최소 플릿 구성의 경우:
  • 플릿 이름을 입력합니다.

  • 바이너리 유형을 선택하고 업로드된 빌드 또는 스크립트를 지정합니다.

  • 추가 세부 정보 및 태그에 대한 섹션을 건너뜁니다.

  1. 플릿 세부 정보 섹션을 작성합니다.

    1. 플릿 이름 을 입력합니다. 플릿 목록을 볼 때 플릿 유형을 더 쉽게 식별할 수 있도록 플릿 이름 지정 패턴을 사용하는 것이 좋습니다.

    2. 플릿에 대한 간단한 설명을 제공합니다.

    3. 바이너리 유형 에서 빌드를 선택하여 사용자 지정 게임 서버 빌드를 배포하고 있음을 나타내거나, Realtime Server를 이 플릿에 배포하고 있는 경우 또는 스크립트를 선택합니다. 드롭다운 목록에서 업로드된 빌드 또는 스크립트를 선택합니다.

  2. (선택 사항) 필요에 따라 추가 세부 정보를 설정합니다.

    1. 게임 서버 실행 파일이 계정의 다른 AWS 리소스에 액세스해야 하는 경우 필요한 권한을 가진 IAM 인스턴스 역할을 지정합니다. 다른 서버 측 애플리케이션(예: CloudWatch 에이전트)을 승인하는 방법을 비롯한 자세한 내용은 섹션을 참조하세요플릿의 다른 AWS 리소스와 통신. 플릿을 생성한 후에는 이 설정을 변경할 수 없습니다.

      역할을 사용하는 플릿을 생성하기 전에 역할을 생성해야 합니다. 또한 인스턴스 역할이 있는 플릿을 생성하려면 AWS 사용자에게 IAM PassRole 권한이 있어야 합니다( 참조Amazon GameLift에 사용되는 IAM 권한 예제).

    2. 게임에 대한 인증 및 암호화를 설정하려면 TLS 인증서 생성 옵션을 켭니다. 게임 클라이언트는 이 인증서를 사용하여 모든 클라이언트/서버 통신을 연결하고 암호화할 때 게임 서버를 인증합니다. TLS활성화된 플릿의 각 인스턴스에 대해 Amazon은 인증서로 새 DNS 항목 GameLift 도 생성합니다. 플릿을 생성한 후에는 이 설정을 변경할 수 없습니다.

    3. 이 플릿 및 기타 플릿의 지표 데이터를 결합하려면 지표 그룹 이름을 지정합니다. 함께 결합하려는 모든 플릿에 동일한 지표 그룹 이름을 사용합니다. 지표 그룹의 지표를 보고 집계된 데이터를 확인합니다.

  3. (선택 사항) 플릿 리소스에 태그를 추가합니다. 각 태그는 사용자가 정의하는 키와 선택적 값으로 구성됩니다. 목적, 소유자 또는 환경별로 분류하려는 AWS 리소스에 태그를 할당합니다. 추가하려는 각 추가 태그에 대해 새 태그 추가를 선택합니다.

  4. 워크플로를 계속하려면 다음을 선택합니다.

3단계 인스턴스 세부 정보 정의

이 단계에서는 사용할 호스팅 리소스 유형과 이를 배포할 위치를 지정합니다. 여러 위치를 선택하면 게임 서버를 더 넓은 지리적 위치에 배포할 수 있으므로 플레이어에 더 가깝게 배치하고 지연 시간을 최소화할 수 있습니다. 모든 인스턴스 EC2 유형을 모든 위치에서 사용할 수 있는 것은 아닙니다.

최소 플릿 구성의 경우:
  • 원격 위치를 추가하지 마세요.

  • 플릿 유형을 “온디맨드”로 설정합니다. 스팟 플릿에는 추가 설정 작업이 필요합니다.

  • 인스턴스 유형을 “c5.large”로 설정합니다. 일반적으로 사용되는 이 인스턴스 유형은 모든 에서 사용할 수 있습니다 AWS 리전.

  1. 인스턴스 배포 에서 플릿 위치 및 유형을 지정합니다.

    1. 플릿 인스턴스를 배포하려는 위치를 하나 이상 추가로 선택합니다. 이러한 원격 위치는 플릿의 홈 위치(미리 선택됨)에 추가되며, 이 위치는 이 플릿을 생성하는 AWS 리전 위치입니다. Amazon에서 GameLift 지원하는 모든 AWS 리전 및 로컬 영역에서 원격 위치를 선택할 수 있습니다.

      기본적으로 활성화되지 AWS 리전 않은 를 사용하는 방법을 포함하여 지원되는 위치에 대한 자세한 내용은 관리형 호스팅을 참조Amazon GameLift 서비스 위치하세요. 또한 플릿당 위치에 대한 Amazon GameLift 할당량을 검토합니다.

    2. 이 플릿에 온디맨드 또는 스팟 인스턴스를 사용하도록 선택합니다. 플릿 유형에 대한 자세한 내용은 온디맨드 인스턴스 및 스팟 인스턴스 비교 섹션을 참조하세요.

  2. 요구 사항을 충족하고 선택한 모든 위치에서 사용할 수 있는 Amazon EC2 인스턴스 구성을 선택합니다. 이 목록은 현재 위치 및 플릿 유형 선택에 따라 필터링됩니다. 인스턴스 유형 패밀리 및 아키텍처와 같은 다른 요인을 기준으로 추가로 필터링할 수 있습니다. 플릿을 생성한 후에는 인스턴스 유형을 변경할 수 없습니다.

    일부 위치에는 제한된 인스턴스 유형 옵션이 있습니다. 원하는 인스턴스 유형을 모든 위치에 사용할 수 없는 경우 위치 가용성 값을 선택하여 전체 세부 정보를 확인합니다. 모든 위치를 수용하려면 인스턴스 유형이 다른 별도의 플릿을 생성해야 할 수 있습니다.

    인스턴스 유형을 선택하는 방법에 대한 자세한 내용은 인스턴스 타입 섹션을 참조하세요. Amazon EC2 Arm 아키텍처에 대한 자세한 내용은 AWS Graviton 프로세서Amazon EC2 인스턴스 유형 섹션을 참조하세요. Amazon 에서 지원하는 인스턴스 유형의 전체 목록은 EC2InstanceType () API 참조를 GameLift참조하세요CreateFleet().

    참고

    Graviton Arm 인스턴스에는 Linux OS에서 Amazon GameLift 서버 빌드가 필요합니다. C++ 및 C#에는 서버 SDK 5.1.1 이상이 필요합니다. Go에는 서버 SDK 5.0 이상이 필요합니다. 이러한 인스턴스는 Amazon Linux 2023(0AL223) 또는 Amazon Linux 2()에서 Mono 설치를 out-of-the-box 지원하지 않습니다AL2.

  3. 워크플로를 계속하려면 다음을 선택합니다.

4단계 런타임 구성

이 단계에서는 플릿의 각 인스턴스가 게임 서버 소프트웨어를 실행하는 방법을 설명합니다. 인스턴스에서 실행할 각 실행 파일에 대해 별도의 서버 프로세스 라인 항목을 정의하고 동시에 실행할 각 서버 프로세스의 수를 결정합니다. 플레이어가 게임 서버에 직접 연결할 수 있도록 각 인스턴스의 포트를 엽니다. 언제든지 이러한 플릿 설정을 업데이트할 수 있습니다.

최소 플릿 구성의 경우:
  • 게임 서버 실행 파일에 대한 단일 서버 프로세스 라인 항목을 정의합니다. 게임 서버에서 다른 프로세스를 실행해야 하는 경우 각 프로세스에 대한 정의도 생성합니다.

  • 각 라인 항목에 대해 기본 동시 프로세스 수(1)를 사용합니다.

  • 게임 세션 활성화 설정을 건너뜁니다.

  • 단일 포트 번호를 지정합니다.

  • 게임 세션 리소스 설정을 건너뜁니다.

  1. 런타임 구성을 생성하여 플릿의 각 인스턴스에서 서버 프로세스를 실행하는 GameLift 방법을 Amazon에 알립니다. 배포 후 언제든지 플릿의 런타임 구성을 변경할 수 있습니다.

    1. 빌드에서 실행 파일의 시작 경로를 입력합니다. Windows 인스턴스에서는 게임 서버 실행 파일이 경로 에 구축됩니다C:\game. Linux 인스턴스에서 게임 서버는 /local/game에 빌드됩니다. 예: C:\game\MyGame\server.exe, /local/game/MyGame/server.exe, 또는 MyRealtimeLaunchScript.js.

    2. 게임 실행 파일에 전달할 선택적 시작 파라미터를 입력합니다. 예: +sv_port 33435 +start_lobby.

    3. 각 인스턴스에서 실행할 동시 프로세스 수를 지정합니다. 게임 서버 실행 파일의 경우 각 프로세스가 하나의 게임 세션을 호스팅할 수 있으므로 동시 프로세스에 따라 인스턴스가 동시에 호스팅할 수 있는 게임 세션 수가 결정됩니다.

      인스턴스당 서버 프로세스에 대한 Amazon GameLift 할당량을 검토합니다. 이러한 할당량은 모든 구성의 총 동시 프로세스에 적용됩니다. 플릿을 초과하도록 구성하면 플릿이 활성화될 수 없습니다.

  2. 게임 세션 활성화 기본값을 사용하거나 게임에 맞게 사용자 지정합니다. 런타임 구성에서 인스턴스당 여러 개의 동시 게임 서버 프로세스를 요구하는 경우 이러한 설정은 새 게임 세션을 시작할 수 있는 속도를 결정합니다.

    1. 게임 세션을 준비하는 인스턴스의 게임 서버 수를 제한하도록 최대 동시 게임 세션 활성화를 설정합니다. 이 설정은 여러 새 게임 세션을 시작할 때 리소스 집약적이며 실행 중인 다른 게임 세션의 성능에 영향을 미칠 수 있습니다.

    2. 새 게임 세션이 활성화를 완료하고 플레이어를 호스팅할 준비가 되었음을 보고하는 데 걸리는 최대 시간을 반영하도록 새 활성화 제한 시간을 설정합니다. Amazon GameLift은 이 값을 초과하는 경우 게임 세션 활성화를 종료합니다.

  3. 인바운드 트래픽이 플릿의 서버 프로세스에 액세스할 수 있도록 EC2 포트 설정을 엽니다. 이러한 설정은 플릿을 생성하는 데 필요하지 않지만 플레이어가 플릿의 게임 세션에 연결하기 전에 설정해야 합니다.

    각 포트 설정에서 게임 클라이언트와 게임 서버 간의 통신에 사용할 데이터 전송 프로토콜 유형을 선택합니다. CIDR 표기법을 사용하여 포트 범위( 형식 nnnnn[-nnnnn])와 IP 주소 범위(예: 에서 모든 사람에게 액세스 0.0.0.0/0 허용)를 제공합니다.

    여러 비연속 범위를 설정해야 하는 경우 여러 포트 설정을 생성합니다.

  4. 선택적 게임 세션 리소스 설정 을 지정합니다. 배포 후 언제든지 이러한 설정을 업데이트할 수 있습니다.

    1. 플릿의 모든 인스턴스에 대해 게임 조정 보호 정책을 켜거나 끕니다. 규모 축소 이벤트 중에 Amazon GameLift 은 활성 게임 세션을 호스팅하는 경우 보호 플릿 인스턴스를 종료하지 않습니다.

    2. 지정된 기간 동안 한 플레이어가 생성할 수 있는 게임 세션 수를 제한하려면 최대 리소스 생성 제한을 설정합니다.

  5. 워크플로를 계속하려면 다음을 선택합니다.

5단계 검토 및 생성

플릿을 생성하기 전에 설정을 검토합니다. 나중에 일부 설정을 업데이트할 수 있지만( 참조Amazon GameLift 플릿 구성 업데이트) 플릿이 생성된 후에는 다음 설정을 변경할 수 없습니다.

  • 컴퓨팅 유형: 관리형 EC2플릿을 Anywhere 플릿으로 변환할 수 없습니다.

  • 빌드 또는 스크립트: 게임 서버 빌드 또는 스크립트에 업데이트를 배포하려면 새 플릿을 생성해야 합니다.

  • 인스턴스 역할 및 TLS 인증서 생성을 포함한 추가 옵션.

  • 플릿 유형(스팟 또는 온디맨드) 및 인스턴스 유형을 포함한 EC2 인스턴스 세부 정보입니다.

새 플릿을 배포할 준비가 되면 생성을 선택합니다. Amazon은 GameLift 즉시 플릿 활성화 프로세스를 시작하여 고유한 ID를 할당하고 플릿을 NEW 상태로 전환합니다. 플릿 페이지에서 플릿의 진행 상황을 추적합니다. 플릿의 세부 정보 페이지를 보고 이벤트 탭으로 이동합니다.

플릿이 ACTIVE 상태에 도달한 후 플릿의 호스팅 용량을 조정할 수 있습니다. Amazon은 GameLift 처음에 각 플릿 위치에 단일 인스턴스가 있는 플릿을 배포합니다. 와 사용자는 각 위치에 인스턴스를 추가하여 용량을 조정합니다. 자세한 내용은 Amazon을 사용하여 게임 호스팅 용량 확장 GameLift 단원을 참조하십시오.

AWS CLI

create-fleet 명령을 사용하여 컴퓨팅 유형의 플릿을 생성합니다EC2. Amazon은 현재 기본값으로 플릿 리소스를 GameLift 생성합니다 AWS 리전 (또는 -- 리전 태그를 추가하여 다른 를 지정할 수 있습니다 AWS 리전).

최소 관리형 플릿 생성

다음 예제 요청은 게임 클라이언트가 연결할 수 있는 실행 중인 게임 서버가 있는 플릿을 배포하는 데 필요한 최소 설정으로 새 플릿을 생성합니다. 새 플릿의 특징은 다음과 같습니다.

  • Amazon에 업로드되고 GameLift READY 상태인 게임 서버 빌드를 지정합니다.

  • 는 선택한 게임 빌드와 일치하는 운영 체제와 함께 c5.large 온디맨드 인스턴스를 사용합니다.

  • 플릿의 홈을 AWS 리전 us-west-2 로 설정하고 인스턴스를 해당 리전에만 배포합니다.

  • 런타임 구성을 기반으로 플릿의 각 컴퓨팅은 하나의 게임 서버 프로세스를 실행하므로 각 컴퓨팅은 한 번에 하나의 게임 세션만 호스팅할 수 있습니다. 게임 세션 활성화 제한 시간은 기본값인 300초로 설정되며 동시 활성화 횟수에는 제한이 없습니다.

  • 플레이어는 의 단일 포트 설정을 사용하여 게임 서버에 연결할 수 있습니다33435.

  • 다른 모든 기능은 꺼져 있거나 기본 설정을 사용합니다.

aws gamelift create-fleet \ --name MinimalFleet123 \ --description "A basic test fleet" \ --region us-west-2 \ --ec2-instance-type c5.large \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --runtime-configuration "ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, ConcurrentExecutions=10}]" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33435,IpRange=0.0.0.0/0,Protocol=UDP"

완전히 구성된 관리형 플릿 생성

다음 예제 요청은 모든 선택적 기능에 대한 설정을 사용하여 프로덕션 플릿을 생성합니다. 새 플릿의 특징은 다음과 같습니다.

  • Amazon에 업로드되고 GameLift READY 상태인 게임 서버 빌드를 지정합니다.

  • 선택한 게임 빌드와 일치하는 운영 체제와 함께 c5.large 온디맨드 인스턴스를 사용합니다.

  • 플릿의 홈을 us-west-2 AWS 리전 로 설정하고 인스턴스를 홈 리전과 하나의 원격 위치 에 배포합니다sa-east-1.

  • 런타임 구성을 기반으로 합니다.

    • 플릿의 각 컴퓨팅은 동일한 시작 파라미터로 10개의 게임 서버 프로세스를 실행하므로 각 컴퓨팅은 최대 10개의 게임 세션을 동시에 호스팅할 수 있습니다.

    • 각 컴퓨팅에서 두 개의 게임 세션만 동시에 활성화할 수 있습니다. 게임 세션을 활성화하려면 300초(5분) 이내에 플레이어를 호스팅하거나 종료할 준비가 되어 있어야 합니다.

  • 플레이어는 다음 범위의 포트를 사용하여 게임 서버에 연결할 수 있습니다33435 to 33535.

  • 게임 클라이언트와 서버 간의 암호화된 통신을 위한 TLS 인증서를 생성합니다.

  • 플릿의 모든 게임 세션에는 게임 세션 보호 기능이 켜져 있습니다.

  • 개별 플레이어는 15분 이내에 3개의 새 게임 세션을 생성하는 것으로 제한됩니다.

  • 이 플릿에 대한 지표는 지표 그룹 에 포함되며AMERfleets, (이 예제에서는) 북미, 중남미의 플릿 그룹에 대한 지표를 집계합니다.

aws gamelift create-fleet \ --name ProdFleet123 \ --description "A fully configured prod fleet" \ --ec2-instance-type c5.large \ --region us-west-2 \ --locations "Location=sa-east-1" \ --fleet-type ON_DEMAND \ --build-id build-1111aaaa-22bb-33cc-44dd-5555eeee66ff \ --certificate-configuration "CertificateType=GENERATED" \ --runtime-configuration "GameSessionActivationTimeoutSeconds=300, MaxConcurrentGameSessionActivations=2, ServerProcesses=[{LaunchPath=C:\game\Bin64.dedicated\MultiplayerSampleProjectLauncher_Server.exe, Parameters=+sv_port 33435 +start_lobby, ConcurrentExecutions=10}]" \ --new-game-session-protection-policy "FullProtection" \ --resource-creation-limit-policy "NewGameSessionsPerCreator=3, PolicyPeriodInMinutes=15" \ --ec2-inbound-permissions "FromPort=33435,ToPort=33535,IpRange=0.0.0.0/0,Protocol=UDP" \ --metric-groups "AMERfleets"

Create-fleet 요청이 성공하면 Amazon은 요청한 구성 설정과 새 플릿 ID가 포함된 플릿 속성 세트를 GameLift 반환합니다. 그런 GameLift 다음 Amazon은 플릿 활성화 프로세스를 시작하고 플릿 상태와 위치 상태를 새로 만들기 로 설정합니다. 다음 CLI 명령을 사용하여 플릿의 상태를 추적하고 다른 플릿 정보를 볼 수 있습니다.

이러한 명령을 사용하여 필요에 따라 플릿의 용량 및 기타 구성 설정을 변경할 수 있습니다.