Como criar um domínio

Esta página explica como criar, listar, descrever e atualizar os domínios do Game Servers. O realm é um agrupamento de clusters de servidores de jogos definido pelo usuário com base nos requisitos de latência do jogo para inserções de jogadores.

Antes de começar

Antes de começar, recomendamos que você se familiarize com os principais conceitos na Visão geral do Game Servers. Verifique se você também realizou as seguintes tarefas:

  • Verifique se você ativou a API Game Services.
  • Ativar a API Game Services
  • Escolha um shell com a CLI gcloud instalada ou use um cliente de API:
  • Cloud Shell

    Para iniciar o Cloud Shell, execute os seguintes passos:

    1. Acesse o Console do Google Cloud.

      Console do Google Cloud

    2. No canto superior direito do console, clique no botão Ativar Cloud Shell:

    Uma sessão do Cloud Shell é aberta dentro de um quadro inferior no console. Use esse shell para executar comandos gcloud.

    Shell local

    Instale a CLI gcloud.

    Verifique se você definiu o projeto padrão desejado para a Google Cloud CLI. Caso contrário, será necessário especificar a sinalização --project explicitamente para cada comando mais tarde:

    gcloud config list project
    

    Caso contrário, execute o seguinte comando para definir um projeto padrão, substituindo PROJECT_ID pelo ID do projeto que você quer:

    gcloud config set project PROJECT_ID
    

    Execute o seguinte comando para verificar a versão da Google Cloud CLI. O Game Servers requer a versão 306.0.0 ou mais recente da CLI gcloud.

    gcloud version
    

    Para atualizar a instalação, execute o seguinte comando:

    gcloud components update
    

    curl / PowerShell

    Para usar a API REST com curl ou o Windows PowerShell, faça o seguinte:

    1. Crie uma conta de serviço.
    2. Faça o download de uma chave privada como um arquivo JSON.
    3. Defina a variável de ambiente GOOGLE_APPLICATION_CREDENTIALS como o caminho do arquivo JSON que contém suas credenciais. Essa variável só se aplica à sessão de shell atual. Assim, se você abrir uma nova sessão, precisará definir a variável novamente.

    Biblioteca de cliente

    O Game Servers do Google Cloud pode ser controlado de maneira programática usando uma biblioteca de cliente. Consulte Visão geral das bibliotecas de cliente para instruções sobre como usar a biblioteca e fazer a autenticação.

Como criar um domínio

Os realms podem ser globais ou regionais. Um realm global é uma boa opção se os clusters registrados em um realm forem de regiões que se estendem por várias localizações geográficas, como América do Norte e América do Sul ou Europa e Ásia. Um realm regional é uma boa opção se os clusters estiverem na mesma região, como o oeste da Europa. No caso de uma interrupção da rede entre as regiões, um realm global pode não ser capaz de gerenciar clusters em todas elas. Para aumentar a resiliência contra interrupções de rede entre as regiões, crie realms regionais em regiões o mais próximo possível dos clusters de servidores de jogos associados.

Por exemplo, se você criar clusters nas regiões europe-west1, europe-west2 e europe-west3 para veicular usuários no oeste da Europa, também será possível criar um realm regional em uma dessas regiões. Essa configuração garante que o realm continue a gerenciar clusters caso essas regiões não possam ser acessadas por regiões de outras partes do mundo devido a uma interrupção da rede.

Se você não tem certeza de onde criar seu realm, pode criá-lo como um realm global. A medida que os requisitos mudam, é possível criar um novo realm em uma região mais próxima dos clusters que ele precisa gerenciar. É possível mover clusters atuais para o novo realm regional. Primeiro exclua e cancele o registro de clusters do realm global e, em seguida, registre no novo realm regional.

Console

  1. No Console do Google Cloud, acesse a página Domínios e clusters.

    Acessar o Game Servers

  2. Clique em Criar Realm.

  3. Na caixa Nome do realm, digite um identificador exclusivo para esse realm.

  4. Na caixa Fuso horário, selecione um fuso horário para esse realm. Os eventos baseados em tempo, como políticas de escalonamento, serão programados para esse fuso horário.

  5. Clique em Criar.

gcloud

É possível criar domínios usando a Google Cloud CLI. Para criar um realm global, execute o seguinte comando e substitua os valores do marcador, como realmID, pelos valores apropriados:

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

Para criar um realm regional, execute o seguinte comando e substitua os valores de marcador, como realmID, pelos valores apropriados:

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

Os marcadores das variáveis correspondem às seguintes descrições:

  • realmID é um identificador exclusivo que pode ser especificado para esse realm.
  • tz é o fuso horário para este realm. Os eventos baseados em tempo, como políticas de escalonamento, serão programados para esse fuso horário.
  • region é a região do realm. Se você quiser controlar domínios de falha, especifique uma região. Recomendamos criar um realm global e omitir essa opção.

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • LOCATION: a região do realm. Se você quiser controlar os domínios de falha, especifique uma região na lista de locais compatíveis. Recomendamos que você especifique um realm global.
  • REALM_ID: um identificador definido pelo usuário para o novo realm.
  • TIME_ZONE: o fuso horário deste realm (por exemplo, US/Eastern). Você programa eventos baseados em tempo, como políticas de escalonamento, para esse fuso horário.

Solicitar corpo JSON:

{
  "timeZone": "TIME_ZONE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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
}

Como listar realms

Console

  1. No Console do Google Cloud, acesse a página Domínios e clusters.

    Acessar o Game Servers

  2. É possível usar a caixa de filtro para filtrar a lista realms por propriedades diferentes.

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • LOCATION: a região dos realms ou global

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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

É possível listar domínios globais ou regionais usando a Google Cloud CLI.

Para listar realms globais e regionais, execute o seguinte comando:

gcloud game servers realms list

Para listar realms em um local específico, execute o seguinte comando e substitua region por global ou uma região do Google Cloud:

gcloud game servers realms list --location=region

Como descrever realms

Console

  1. No Console do Google Cloud, acesse a página Domínios e clusters.

    Acessar o Game Servers

  2. É possível usar a caixa de filtro para filtrar a lista realms por propriedades diferentes.

  3. Na última coluna da tabela, clique nas reticências e selecione Visualizar detalhes.

gcloud

É possível conseguir detalhes sobre um realm, como o horário de criação ou o fuso horário, usando a Google Cloud CLI.

Para descrever um realm global, execute o seguinte comando e substitua realmID pelo identificador de um realm que você criou anteriormente:

gcloud game servers realms describe realmID

Se você criou um ou mais realms que não são globais, é possível descrever detalhes de um realm em uma região específica. Para descrever um realm em uma região, substitua realmID pelo identificador de um realm que você criou anteriormente e region pela região onde o realm está:

gcloud game servers realms describe realmID --location=region

REST

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • LOCATION: a região do realm ou global
  • REALM_ID: um identificador definido pelo usuário para o realm

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Como atualizar um realm

gcloud

Para atualizar um campo para um realm, execute o comando gcloud game servers realms update depois de substituir realmID e region para um realm existente. O comando a seguir atualiza o valor de fuso horário de um realm. Substitua tz por um valor de fuso horário compatível.

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

Para encontrar as sinalizações de outros campos de realm, consulte a referência do gcloud.

REST

A amostra a seguir atualiza o campo timeZone. Para atualizar outros campos, adicione os nomes deles ao parâmetro de consulta ?updateMask= e solicite o corpo JSON.

Antes de usar os dados da solicitação, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto do Google Cloud listado nas Configurações do IAM
  • LOCATION: a região do realm
  • REALM_ID: o identificador definido pelo usuário para o realm
  • TIME_ZONE: o fuso horário atualizado deste realm (por exemplo, US/Eastern). Você programa eventos baseados em tempo, como políticas de escalonamento, para esse fuso horário.

Solicitar corpo JSON:

{
  "timeZone": "TIME_ZONE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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
}

A seguir