Créer un domaine

Cette page explique comment créer, répertorier, décrire et mettre à jour des domaines Game Servers. Un domaine est un regroupement défini par l'utilisateur de clusters de serveurs de jeu en fonction des exigences de latence du jeu pour le remplissage des joueurs.

Avant de commencer

Avant de commencer, nous vous recommandons de vous familiariser avec les concepts clés de la page Présentation de Game Servers. Assurez-vous également que vous avez également effectué les tâches suivantes :

  • Assurez-vous d'avoir activé l'API des services de jeux.
  • Activer l'API Game Services
  • Choisissez une interface système sur laquelle gcloud CLI est installée ou utilisez un client API:
  • Cloud Shell

    Pour lancer Cloud Shell, procédez comme suit :

    1. Accédez à Google Cloud Console.

      Google Cloud Console

    2. Dans l'angle supérieur droit de la console, cliquez sur le bouton Activer Cloud Shell :

    Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Cette interface système vous permet d'exécuter les commandes gcloud.

    Shell local

    Installer gcloud CLI

    Vérifiez que vous avez défini le projet par défaut souhaité pour Google Cloud CLI (sinon, vous devrez spécifier l'indicateur --project explicitement pour chaque commande ultérieurement):

    gcloud config list project
    

    Si non, vous pouvez exécuter la commande suivante pour définir un projet par défaut, en remplaçant PROJECT_ID par l'ID de projet souhaité :

    gcloud config set project PROJECT_ID
    

    Exécutez la commande suivante pour vérifier votre version de Google Cloud CLI. Game Servers nécessite la version 306.0.0 ou ultérieure de gcloud CLI.

    gcloud version
    

    Pour mettre à jour votre installation, exécutez la commande suivante :

    gcloud components update
    

    curl/PowerShell

    Pour utiliser l'API REST avec curl ou Windows PowerShell, procédez comme suit :

    1. Créer un compte de service
    2. Téléchargez une clé privée sous la forme d'un fichier JSON.
    3. Définissez la variable d'environnement GOOGLE_APPLICATION_CREDENTIALS sur le chemin d'accès du fichier JSON contenant vos identifiants. Cette variable ne s'applique qu'à la session de shell actuelle. Par conséquent, si vous ouvrez une nouvelle session, vous devez de nouveau la définir.

    Bibliothèque cliente

    Google Cloud Game Servers peut être contrôlé par programmation à l'aide d'une bibliothèque cliente. Pour obtenir des instructions sur l'utilisation de la bibliothèque et l'authentification, consultez la page Présentation des bibliothèques clientes.

Créer un domaine

Les domaines peuvent être globaux ou régionaux. Un domaine global est une bonne option si les clusters enregistrés auprès d'un domaine proviennent de régions qui couvrent différentes zones géographiques, telles que l'Amérique du Nord, l'Amérique du Sud ou l'Europe et l'Asie. Un domaine régional est une bonne option si les clusters se trouvent dans la même région, par exemple Europe West. En cas de panne de réseau entre les régions, un domaine global risque de ne pas pouvoir gérer les clusters dans toutes les régions. Pour augmenter la résilience des pannes réseau entre les régions, veillez à créer des domaines régionaux dans des régions aussi proches que possible des clusters de serveurs de jeu associés.

Par exemple, si vous créez des clusters dans les régions europe-west1, europe-west2 et europe-west3 pour servir des utilisateurs à l'ouest de l'Europe, vous pouvez également créer un domaine régional dans l'une de ces régions. Cette configuration garantit que le domaine peut continuer à gérer les clusters si ces régions ne sont pas accessibles à partir des régions d'autres parties du monde en raison d'une panne du réseau.

Si vous ne savez pas où créer votre domaine, vous pouvez le créer en tant que domaine global. À mesure que vos exigences évoluent, vous pouvez créer un domaine dans une région plus proche des clusters qu'il doit gérer. Pour déplacer des clusters existants vers le nouveau domaine régional, commencez par supprimer et annuler l'enregistrement des clusters du domaine global, puis enregistrez-les dans le nouveau domaine régional.

Console

  1. Dans la console Google Cloud, accédez à la page Domaines et clusters.

    Accéder à Game Servers

  2. Cliquez sur Créer un domaine.

  3. Dans la zone Nom de domaine, saisissez un identifiant unique pour ce domaine.

  4. Dans la zone Fuseau horaire, sélectionnez un fuseau horaire pour ce domaine. Lorsque vous planifiez des événements basés sur l'heure, tels que des stratégies de scaling, il est défini pour ce fuseau horaire.

  5. Cliquez sur Créer.

gcloud

Vous pouvez créer des domaines à l'aide de Google Cloud CLI. Pour créer un domaine global, exécutez la commande suivante et remplacez les valeurs d'espace réservé, telles que realmID, par les valeurs appropriées:

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

Pour créer un domaine régional, exécutez la commande suivante et remplacez les valeurs des espaces réservés tels que realmID par les valeurs appropriées :

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

Les espaces réservés de variables correspondent aux descriptions suivantes :

  • realmID est un identifiant unique que vous pouvez spécifier pour ce domaine.
  • tz est le fuseau horaire de ce domaine. Lorsque vous planifiez des événements basés sur l'heure, tels que des stratégies de scaling, il est défini pour ce fuseau horaire.
  • region est la région du domaine. Si vous souhaitez contrôler les domaines de défaillance, spécifiez une région. Nous vous recommandons de créer un domaine global et d'omettre cette option.

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : région du domaine. Si vous souhaitez contrôler les domaines de défaillance, spécifiez une région dans la liste des emplacements acceptés. Nous vous recommandons de spécifier un domaine global.
  • REALM_ID : identifiant défini par l'utilisateur pour le domaine
  • TIME_ZONE : fuseau horaire de ce domaine (par exemple, US/Eastern). Vous planifiez des événements basés sur l'heure, tels que des stratégies de scaling, pour ce fuseau horaire.

Corps JSON de la requête :

{
  "timeZone": "TIME_ZONE"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Répertorier les domaines

Console

  1. Dans la console Google Cloud, accédez à la page Domaines et clusters.

    Accéder à Game Servers

  2. Vous pouvez utiliser la zone de filtre pour filtrer la liste des domaines selon différentes propriétés.

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : région des domaines ou global

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Vous pouvez répertorier les domaines mondiaux ou régionaux à l'aide de Google Cloud CLI.

Pour répertorier les domaines globaux et régionaux, exécutez la commande suivante :

gcloud game servers realms list

Pour répertorier les domaines d'un emplacement spécifique, exécutez la commande suivante et remplacez region par global ou une région Google Cloud :

gcloud game servers realms list --location=region

Décrire les domaines

Console

  1. Dans la console Google Cloud, accédez à la page Domaines et clusters.

    Accéder à Game Servers

  2. Vous pouvez utiliser la zone de filtre pour filtrer la liste des domaines selon différentes propriétés.

  3. Dans la dernière colonne de tableau, cliquez sur les points de suspension , puis sélectionnez Afficher les détails.

gcloud

Vous pouvez obtenir des informations sur un domaine, comme l'heure de création ou le fuseau horaire, à l'aide de Google Cloud CLI.

Pour décrire un domaine global, exécutez la commande suivante et remplacez realmID par l'identifiant d'un domaine que vous avez précédemment créé :

gcloud game servers realms describe realmID

Si vous avez créé un ou plusieurs domaines qui ne sont pas globaux, vous pouvez fournir des informations sur un domaine dans une région spécifique. Pour décrire un domaine d'une région, remplacez realmID par l'identifiant d'un domaine que vous avez précédemment créé et region par la région où se trouve le domaine :

gcloud game servers realms describe realmID --location=region

REST

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : région du domaine ou global
  • REALM_ID : identifiant défini par l'utilisateur pour le domaine

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Mettre à jour un domaine

gcloud

Pour mettre à jour un champ pour un domaine, exécutez la commande gcloud game servers realms update après avoir remplacé realmID et region pour un domaine existant. La commande suivante met à jour la valeur de fuseau horaire pour un domaine. Remplacez tz par une valeur de fuseau horaire compatible.

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

Pour trouver les options d'autres champs de domaine, consultez la documentation de référence sur gcloud.

REST

L'exemple suivant met à jour le champ timeZone. Pour mettre à jour d'autres champs, ajoutez les noms des champs au paramètre de requête ?updateMask= et demandez le corps JSON.

Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants:

  • PROJECT_ID : ID de votre projet Google Cloud répertorié dans les paramètres IAM.
  • LOCATION : région du domaine
  • REALM_ID : identifiant défini par l'utilisateur pour le domaine
  • TIME_ZONE : fuseau horaire mis à jour de ce domaine (par exemple, US/Eastern). Vous planifiez des événements basés sur l'heure, tels que des stratégies de scaling, pour ce fuseau horaire.

Corps JSON de la requête :

{
  "timeZone": "TIME_ZONE"
}

Pour envoyer votre requête, développez l'une des options suivantes :

Vous devriez recevoir une réponse JSON de ce type :

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

Étapes suivantes