컨테이너 플릿에 대한 Amazon GameLift Servers 컨테이너 그룹 정의 생성 - Amazon GameLift Servers

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

컨테이너 플릿에 대한 Amazon GameLift Servers 컨테이너 그룹 정의 생성

컨테이너 그룹 정의는 컨테이너화된 게임 서버 애플리케이션을 컨테이너 플릿에 배포하는 방법을 설명합니다. 플릿에 배포할 Amazon GameLift Servers 컨테이너 이미지와 이를 실행하는 방법을 알려주는 블루프린트입니다. 컨테이너 플릿을 생성할 때 플릿에 배포할 컨테이너 그룹 정의를 지정합니다. 컨테이너 그룹에 대한 자세한 내용은 섹션을 참조하세요컨테이너 플릿 구성 요소.

시작하기 전에

컨테이너 그룹 정의 생성을 시작하기 전에 수행할 작업에 대한 팁:

  • 컨테이너 이미지를 완성하고 컨테이너 그룹을 생성할 계획 AWS 리전 인 동일한의 Amazon Elastic Container Registry(Amazon ECR) 리포지토리로 푸시합니다.는 컨테이너 그룹 정의를 생성할 때 각 이미지의 스냅샷을 Amazon GameLift Servers 캡처하고 컨테이너 플릿에 배포할 때 스냅샷을 사용합니다. 용 컨테이너 이미지 빌드 Amazon GameLift Servers을(를) 참조하세요.

  • 컨테이너 정의를 JSON 파일로 생성합니다. 컨테이너 그룹 정의에는 하나 이상의 컨테이너 정의가 포함됩니다. AWS CLIfor를 사용하여 컨테이너 그룹 정의를 생성하는 경우 JSON 파일을 사용할 수 있습니다Amazon GameLift Servers.

  • AWS 사용자에게 Amazon ECR 리포지토리에 액세스할 수 있는 IAM 권한이 있는지 확인합니다. 에 대한 IAM 권한 예제 Amazon GameLift Servers을(를) 참조하세요.

게임 서버 컨테이너 그룹 정의 생성

게임 서버 컨테이너 그룹은 게임 서버 소프트웨어를 실행합니다. 게임 서버 컨테이너 그룹에는 게임 서버 실행 파일을 실행하는 게임 서버 컨테이너가 하나 있습니다. 또한 게임 서버를 지원하는 추가 소프트웨어를 실행할 지원 컨테이너가 하나 이상 있을 수 있습니다. (이를 “사이드카” 컨테이너라고도 합니다.)

이 주제에서는 Amazon GameLift Servers 콘솔 또는 AWS CLI 도구를 사용하여 간단한 게임 서버 컨테이너 그룹 정의를 생성하는 방법을 설명합니다. 선택적 기능에 대한 자세한 내용은 섹션을 참조하세요Amazon GameLift Servers 컨테이너 플릿 사용자 지정.

참고

대부분의 컨테이너 그룹 정의 및 컨테이너 정의 설정은 생성한 후 변경할 수 있습니다. 컨테이너 정의를 변경하면가 업데이트된 컨테이너 이미지의 새 스냅샷을 Amazon GameLift Servers 캡처합니다.

간단한 게임 서버 컨테이너 그룹 정의를 생성하려면:

다음 지침에서는 최소 필수 파라미터를 사용하고 Amazon GameLift Servers 기본값을 사용하여 컨테이너 그룹 정의를 생성하는 방법을 설명합니다.

Console

Amazon GameLift Servers 콘솔에서 컨테이너 그룹을 생성할 AWS 리전 를 선택합니다.

콘솔의 왼쪽 탐색 모음을 열고 관리형 컨테이너: 그룹 정의를 선택합니다. 컨테이너 그룹 정의 페이지에서 그룹 정의 생성을 선택합니다.

1단계: 컨테이너 그룹 정의 세부 정보 정의
  1. 컨테이너 그룹 정의 이름을 입력합니다. 이름은 AWS 계정 및 리전에 고유해야 합니다.

  2. 게임 서버 컨테이너 그룹 유형을 선택합니다.

  3. 총 메모리 제한에 컨테이너 그룹의 모든 컨테이너에 사용할 수 있는 최대 메모리 리소스를 입력합니다. 이 값을 계산하는 데 도움이 필요하면 섹션을 참조하세요리소스 제한 설정.

  4. 총 vCPU 한도에 컨테이너 그룹의 모든 컨테이너에 사용할 수 있는 최대 컴퓨팅 성능을 입력합니다. 이 값을 계산하는 데 도움이 필요하면 섹션을 참조하세요리소스 제한 설정.

2단계: 컨테이너 정의 추가

게임 서버 컨테이너 그룹에는 최소한 하나의 게임 서버 컨테이너가 있습니다. 콘솔에서 생성하는 첫 번째 컨테이너 정의는 게임 서버 컨테이너입니다. 이 단계에서는 게임 서버 컨테이너 정의에 필요한 최소 설정을 정의하는 방법을 설명합니다.

  1. 컨테이너 정의 이름을 입력합니다. 그룹에 대해 정의된 각 컨테이너에는 고유한 이름 값이 있어야 합니다.

  2. 게임 서버 빌드를 사용하여 컨테이너 이미지에 연결합니다. 퍼블릭 또는 프라이빗 리포지토리의 컨테이너 이미지에 대한 Amazon ECR 이미지 URI를 입력합니다. 다음 형식 중 하나를 사용할 수 있습니다.

    • 이미지 URI만 해당: [AWS 계정].dkr.ecr.[AWS 리전].amazonaws.com/[repository ID]

    • 이미지 URI + 다이제스트: [AWS 계정].dkr.ecr.[AWS 리전].amazonaws.com/[repository ID]@[digest]

    • 이미지 URI + 태그: [AWS 계정].dkr.ecr.[AWS 리전].amazonaws.com/[repository ID]:[tag]

  3. 게임 Amazon GameLift Servers 서버 빌드에서 사용하는 Server SDK 버전을 지정합니다. 컨테이너 플릿의 경우이 값은 5.2.0 이상이어야 합니다.

  4. 내부 컨테이너 포트 범위에서 프로토콜을 설정하고 포트 범위를 정의합니다. 범위 크기는이 컨테이너에서 실행될 동시 게임 서버 프로세스 수보다 커야 합니다. 게임 서버 컨테이너가 컨테이너당 하나의 서버 프로세스만 실행하는 경우이 포트 범위에는 몇 개의 포트만 필요합니다. 자세한 내용은 네트워크 연결 구성을 참조하세요.

  5. 필요에 따라 컨테이너를 더 추가하여 추가 지원 소프트웨어를 실행합니다. 추가 컨테이너는 자동으로 지원 컨테이너로 지정됩니다. 게임 서버 컨테이너 그룹에는 게임 서버 컨테이너가 하나만 있고 지원 컨테이너는 최대 8개까지 있을 수 있습니다. 다음과 같은 최소 필수 설정을 제공합니다.

    • 컨테이너 정의 이름

    • ECR 이미지 URI.

    • 내부 컨테이너 포트(컨테이너에 네트워크 액세스가 필요한 프로세스가 있는 경우에만 포함)

3단계: 종속성 구성
  • 컨테이너 그룹 정의에 컨테이너가 두 개 이상 있는 경우 필요에 따라 컨테이너 간에 종속성을 설정할 수 있습니다. 자세한 내용은 컨테이너 종속성 설정 단원을 참조하십시오.

3단계: 검토 및 생성
  1. 모든 컨테이너 그룹 정의 설정을 검토합니다. 편집을 사용하여 그룹에 대한 각 컨테이너 정의를 포함하여 모든 섹션을 변경합니다.

  2. 검토를 마치면 생성을 선택합니다.

    요청이 성공하면 콘솔에 새 컨테이너 그룹 정의 리소스에 대한 세부 정보 페이지가 표시됩니다. 처음에는가 그룹에 대한 모든 컨테이너 이미지의 스냅샷을 생성하기 Amazon GameLift Servers 시작COPYING하므로 상태가 입니다. 이 단계가 완료되면 컨테이너 그룹 정의 상태가 로 변경됩니다READY. 컨테이너 그룹 정의가 READY 상태여야 컨테이너 플릿을 생성할 수 있습니다.

AWS CLI

AWS CLI를 사용하여 컨테이너 그룹 정의를 생성할 때는 컨테이너 정의 구성을 별도의 JSON 파일로 유지하십시오. CLI 명령에서 파일을 참조할 수 있습니다. 스키마 예제는 섹션을 참조컨테이너 정의 JSON 파일 생성하세요.

컨테이너 그룹 정의 생성

새 컨테이너 그룹 정의를 생성하려면 create-container-group-definition CLI 명령을 사용합니다. 이 명령에 대한 자세한 내용은 CLI 명령 참조의 create-container-group-definition을 참조하세요. AWS

이 예제에서는 게임 서버 컨테이너 그룹 정의에 대한 요청을 보여줍니다. 이 그룹에 대한 컨테이너 정의가 포함된 JSON 파일을 생성했다고 가정합니다.

aws gamelift create-container-group-definition \ --name MyAdventureGameContainerGroup \ --operating-system AMAZON_LINUX_2023 \ --container-group-type GAME_SERVER \ --total-memory-limit-mebibytes 4096 \ --total-vcpu-limit 1 \ --game-server-container-definition file://MyAdventureGameContainers.json

컨테이너 정의 JSON 파일 생성

컨테이너 그룹 정의를 생성할 때 그룹의 컨테이너도 정의합니다. 컨테이너 정의는 컨테이너 이미지가 저장되는 Amazon ECR 리포지토리와 네트워크 포트에 대한 선택적 구성, CPU 및 메모리 사용량 제한 및 기타 설정을 지정합니다. 컨테이너 그룹의 모든 컨테이너에 대한 구성으로 단일 JSON 파일을 생성하는 것이 좋습니다. 파일을 유지 관리하면 이러한 중요한 구성을 저장, 공유, 버전 추적하는 데 유용합니다. AWS CLI를 사용하여 컨테이너 그룹 정의를 생성하는 경우 명령에서 파일을 참조할 수 있습니다.

컨테이너 정의를 생성하려면
  1. .JSON 파일을 생성하고 엽니다. 예시:

    [~/work/glc]$ vim SimpleServer.json
  2. 그룹의 각 컨테이너에 대해 별도의 컨테이너 정의를 생성합니다. 다음 예제 콘텐츠를 복사하여 컨테이너에 필요한 대로 수정합니다. 컨테이너 정의의 구문에 대한 자세한 내용은 Amazon GameLift Servers API 참조의 ContainerDefinitionInput을 참조하세요.

  3. AWS CLI 명령에서 참조할 수 있도록 파일을 로컬에 저장합니다.

이 예제에서는 게임 서버 컨테이너 그룹의 필수 컨테이너를 설명합니다. 필수 복제본 컨테이너에는 게임 서버 애플리케이션, Amazon GameLift Servers 에이전트가 포함되며 게임 호스팅을 지원하는 다른 소프트웨어가 포함될 수 있습니다. 정의에는 이름, 이미지 URI 및 포트 구성이 포함되어야 합니다. 이 예제에서는 일부 컨테이너별 리소스 제한도 설정합니다.

{ "ContainerName": "MyAdventureGameServer", "ImageUri": "111122223333.dkr.ecr.us-east-1.amazonaws.com/gl-containers:myadventuregame-server", "PortConfiguration": { "ContainerPortRanges": [ { "FromPort": 2000, "Protocol": "TCP", "ToPort": 2010 } ] }, "ServerSdkVersion": "5.2.0" }