렐름 만들기

이 페이지에서는 Game Servers 렐름을 생성, 나열, 설명, 업데이트하는 방법을 설명합니다. 렐름은 플레이어 집단을 위한 게임 지연 시간 요구사항에 기초하여 게임 서버 클러스터를 사용자 정의로 그룹화한 것입니다.

시작하기 전에

시작하기 전에 Game Servers 개요의 주요 개념을 숙지하는 것이 좋습니다. 또한 다음 태스크를 수행했는지 확인합니다.

  • Game Services API가 사용 설정되어 있는지 확인합니다.
  • Game Services API 사용 설정
  • gcloud CLI가 설치된 셸을 선택하거나 API 클라이언트를 사용합니다.
  • Cloud Shell

    Cloud Shell을 시작하려면 다음 단계를 수행하세요.

    1. Google Cloud Console로 이동.

      Google Cloud console

    2. Console의 오른쪽 상단에서 Cloud Shell 활성화 버튼을 클릭합니다.

    Console 하단의 프레임에서 Cloud Shell 세션이 열립니다. 이 셸을 사용하여 gcloud 명령어를 실행합니다.

    로컬 셸

    gcloud CLI 설치

    Google Cloud CLI에 원하는 기본 프로젝트를 설정했는지 확인합니다. 그렇지 않으면 나중에 명령어마다 --project 플래그를 명시적으로 지정해야 합니다.

    gcloud config list project
    

    사용할 수 없는 경우 다음 명령어를 실행하여 기본 프로젝트를 설정하고 PROJECT_ID를 원하는 프로젝트 ID로 바꾸세요.

    gcloud config set project PROJECT_ID
    

    다음 명령어를 실행하여 Google Cloud CLI 버전을 확인합니다. Game Servers에는 gcloud CLI 버전 306.0.0 이상이 필요합니다.

    gcloud version
    

    설치를 업데이트하려면 다음 명령어를 실행합니다.

    gcloud components update
    

    curl / PowerShell

    curl 또는 Windows PowerShell에서 REST API를 사용하려면 다음을 수행합니다.

    1. 서비스 계정 만들기.
    2. 비공개 키를 JSON 파일로 다운로드합니다.
    3. GOOGLE_APPLICATION_CREDENTIALS 환경 변수를 사용자 인증 정보가 포함된 JSON 파일의 경로로 설정합니다. 이 변수는 현재 셸 세션에만 적용되므로 새 세션을 열면 변수를 다시 설정합니다.

    클라이언트 라이브러리

    클라이언트 라이브러리를 사용하여 Google Cloud Game Servers를 프로그래매틱 방식으로 제어할 수 있습니다. 라이브러리 사용 및 인증에 대한 안내는 클라이언트 라이브러리 개요를 참조하세요.

렐름 만들기

렐름은 전역 또는 리전일 수 있습니다. 렐름 클러스터로 등록된 클러스터가 북미와 남미 또는 유럽과 아시아 등 다양한 지리적 위치에 걸쳐 있는 리전의 경우 전역 렐름이 유용한 옵션입니다. 클러스터가 유럽 서부처럼 같은 리전에 있을 때는 리전 렐름이 적합합니다. 리전 간 네트워크 중단 시 전역 렐름에서 일부 리전의 클러스터를 관리하지 못할 수도 있습니다. 리전 간 네트워크 장애에 대비하기 위해 연결된 게임 서버 클러스터와 최대한 가까운 리전의 리전 렐름을 만들어야 합니다.

예를 들어 europe-west1, europe-west2, europe-west3 리전에 클러스터를 만들어 유럽 서부의 사용자에게 서비스를 제공하는 경우 이러한 리전 중 하나에 리전 렐름을 만들 수도 있습니다. 이 구성은 네트워크 중단으로 인해 다른 리전에서 리전이 도달할 수 없는 경우 렐름이 계속 클러스터를 관리할 수 있게 해줍니다.

렐름을 어디에서 만들지 확신이 없으면 해당 렐름을 전역 렐름으로 만들 수 있습니다. 요구사항이 변경되면 관리가 필요한 클러스터와 더 가까운 리전에서 새 렐름을 만들 수 있습니다. 그런 다음 먼저 전역 렐름에서 클러스터를 삭제 및 등록 취소한 후에 새로운 리전 렐름에서 등록하는 방식으로 기존 클러스터를 새 리전 렐름으로 이동할 수 있습니다.

Console

  1. Google Cloud Console에서 렐름 및 클러스터 페이지로 이동합니다.

    Game Servers로 이동

  2. 렐름 만들기를 클릭합니다.

  3. 렐름 이름 상자에 이 렐름의 고유한 식별자를 입력합니다.

  4. 시간대 상자에서 이 렐름의 시간대를 선택합니다. 확장 정책 같은 시간 기반 이벤트를 예약하는 경우 이 시간대를 적용합니다.

  5. 만들기를 클릭합니다.

gcloud

Google Cloud CLI를 사용하여 렐름을 만들 수 있습니다. 전역 렐름을 만들려면 다음 명령어를 실행하고 자리표시자 값(예: realmID)을 적절한 값으로 바꿉니다.

gcloud game servers realms create realmID --time-zone tz

리전 렐름을 만들려면 다음 명령어를 실행하고 자리표시자 값(예: realmID)을 적절한 값으로 바꿉니다.

gcloud game servers realms create realmID --time-zone tz --location=region

변수 자리표시자는 다음 설명에 해당됩니다.

  • realmID는 이 렐름에 지정할 수 있는 고유 식별자입니다.
  • tz는 이 렐름의 시간대입니다. 확장 정책 같은 시간 기반 이벤트를 예약하는 경우 이 시간대를 적용합니다.
  • region은 렐름의 리전입니다. 장애 도메인을 제어하려면 리전을 지정하세요. 전역 렐름을 만들고 이 옵션을 생략하는 것을 추천합니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: IAM 설정에 나열된 Google Cloud 프로젝트 ID입니다.
  • LOCATION: 렐름의 리전입니다. 장애 도메인을 제어하려면 지원되는 위치 목록에서 리전을 지정하세요. global 렐름을 지정하는 것이 좋습니다.
  • REALM_ID: 새 렐름의 사용자 정의 식별자입니다.
  • TIME_ZONE: 이 렐름의 시간대입니다(예: US/Eastern). 이 시간대에 대해 확장 정책과 같은 시간 기반 이벤트를 예약합니다.

JSON 요청 본문:

{
  "timeZone": "TIME_ZONE"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID",
    "verb": "create",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

렐름 나열

Console

  1. Google Cloud Console에서 렐름 및 클러스터 페이지로 이동합니다.

    Game Servers로 이동

  2. 필터 상자를 사용하여 여러 속성별로 렐름 목록을 필터링할 수 있습니다.

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: IAM 설정에 나열된 Google Cloud 프로젝트 ID입니다.
  • LOCATION: 렐름의 리전입니다(또는 global).

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "realms": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/realms/realm1",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "timeZone": "US/Eastern",
      "etag": "PlXtLrUJ5pHQoZk0Lz-pWkPFN_dt3PXhIpRrJ5HHWu8"
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/realms/realm2",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "timeZone": "America/Eirunepe",
      "etag": "ay1tXqeujLSsSd93n6uhlZwlxdNTOfG7El992Tsiz98"
    },
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/realms/realm3",
      "createTime": CREATE_TIME,
      "updateTime": UPDATE_TIME,
      "timeZone": "Asia/Anadyr",
      "etag": "cBxzV2AWK_zgijSmYA-oXPWv3giwhUzssoWcqjPZFuk"
    }
  ]
}

gcloud

Google Cloud CLI를 사용하여 전역 또는 리전 렐름을 나열할 수 있습니다.

전역 렐름과 리전 렐름을 모두 나열하려면 다음 명령어를 실행합니다.

gcloud game servers realms list

특정 위치의 렐름을 나열하려면 다음 명령어를 실행하고 regionglobal 또는 Google Cloud 리전으로 바꿉니다.

gcloud game servers realms list --location=region

렐름 설명

Console

  1. Google Cloud Console에서 렐름 및 클러스터 페이지로 이동합니다.

    Game Servers로 이동

  2. 필터 상자를 사용하여 여러 속성별로 렐름 목록을 필터링할 수 있습니다.

  3. 마지막 테이블 열에서 줄임표 를 클릭하고 세부정보 보기를 선택합니다.

gcloud

Google Cloud CLI를 사용하여 만든 시간 또는 시간대와 같은 렐름에 대한 세부정보를 가져올 수 있습니다.

전역 렐름을 설명하려면 다음 명령어를 실행하고 realmID를 이전에 만든 렐름의 식별자로 바꿉니다.

gcloud game servers realms describe realmID

전역이 아닌 렐름을 하나 이상 만든 경우 특정 리전의 렐름에 대한 세부정보를 기술할 수 있습니다. 리전의 렐름을 설명하려면 realmID를 이전에 만든 렐름의 식별자로, region을 렐름이 위치한 리전으로 바꿉니다.

gcloud game servers realms describe realmID --location=region

REST

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: IAM 설정에 나열된 Google Cloud 프로젝트 ID입니다.
  • LOCATION: 렐름의 리전입니다(또는 global).
  • REALM_ID: 렐름의 사용자 정의 식별자입니다.

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID",
  "createTime": CREATE_TIME,
  "updateTime": UPDATE_TIME,
  "timeZone": "Asia/Anadyr",
  "etag": "cBxzV2AWK_zgijSmYA-oXPWv3giwhUzssoWcqjPZFuk"
}

렐름 업데이트

gcloud

렐름의 필드를 업데이트하려면 기존 렐름의 realmIDregion을 바꾼 후 gcloud game servers realms update 명령어를 실행합니다. 다음 명령어는 렐름의 시간대 값을 업데이트합니다. tz지원되는 시간대 값으로 바꿉니다.

gcloud game servers realms update realmID --location=region \
    --time-zone=tz --no-dry-run

다른 렐름 필드의 플래그를 찾으려면 gcloud 참조를 확인하세요.

REST

다음 샘플은 timeZone 필드를 업데이트합니다. 다른 필드를 업데이트하려면 필드 이름을 ?updateMask= 쿼리 매개변수에 추가하고 JSON 본문을 요청합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT_ID: IAM 설정에 나열된 Google Cloud 프로젝트 ID입니다.
  • LOCATION: 렐름의 리전입니다.
  • REALM_ID: 렐름의 사용자 정의 식별자입니다.
  • TIME_ZONE: 이 렐름의 업데이트된 시간대입니다(예: US/Eastern). 이 시간대에 대해 확장 정책과 같은 시간 기반 이벤트를 예약합니다.

JSON 요청 본문:

{
  "timeZone": "TIME_ZONE"
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  "name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.gaming.v1.OperationMetadata",
    "createTime": CREATE_TIME,
    "target": "projects/PROJECT_ID/locations/LOCATION/realms/REALM_ID",
    "verb": "update",
    "requestedCancellation": false,
    "apiVersion": "v1"
  },
  "done": false
}

다음 단계