Créer des groupes d'instances non gérés

Les groupes d'instances non gérés sont des ensembles d'instances qui ne sont pas nécessairement identiques et ne partagent pas de modèle d'instance commun. Ils vous permettent d'exploiter vos configurations préexistantes lors de l'exécution de tâches d'équilibrage de charge. Il est toutefois préférable d'utiliser des groupes d'instances gérés, sauf lorsque vos applications exigent le regroupement d'instances qui ne sont pas identiques.

Pour en savoir plus sur les groupes d'instances, consultez la présentation des groupes d'instances.

Avant de commencer

Créer un groupe d'instances non géré

Contrairement aux groupes d'instances gérés, les groupes d'instances non gérés ne sont que des ensembles d'instances uniques qui ne partagent pas de modèle d'instance commun. Ils ne permettent d'effectuer aucune tâche de création, de suppression ou de scaling du nombre d'instances au sein du groupe. Vous créez simplement un groupe, puis y ajoutez des instances individuelles par la suite.

Console

  1. Dans la console GCP, accédez à la page "Groupes d'instances".

    Accéder à la page "Groupes d'instances"

  2. Cliquez sur Créer un groupe d'instances.
  3. Saisissez un nom pour le groupe d'instances non géré.
  4. Dans la section Emplacement, sélectionnez Zone unique.
  5. Dans la section Zone, sélectionnez la zone dans laquelle vous souhaitez créer votre groupe.
  6. Dans la section Type de groupe, sélectionnez Groupe d'instances non géré.
  7. Sélectionnez le réseau pour ce groupe.
  8. Dans la section Instances de VM, sélectionnez les instances que vous souhaitez ajouter au groupe.
  9. Cliquez sur Créer pour créer le groupe.

gcloud

Pour créer un groupe d'instances non géré à l'aide de l'outil gcloud, utilisez la commande instance-groups unmanaged create :

gcloud compute instance-groups unmanaged create [INSTANCE_GROUP]

API

Dans l'API, envoyez une requête POST au service instanceGroups en spécifiant un nom de groupe dans le corps de la requête.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups

{
 "name": "[INSTANCE_GROUP]"
}

Lorsque vous créez un groupe d'instances non géré, il est d'abord vide. Vous pouvez ensuite y ajouter des instances spécifiques.

Ajouter des instances à un groupe d'instances non géré

Après avoir créé un groupe d'instances non géré, vous pouvez ajouter vos instances existantes.

Remarques :

  • Une instance ne peut appartenir qu'à un seul groupe d'instances à équilibrage de charge. Vous pouvez également ajouter une instance à un seul groupe d'instances à équilibrage de charge ainsi qu'à plusieurs groupes d'instances sans équilibrage de charge.

  • Si le groupe d'instances est soumis à un équilibrage de charge, toutes les instances doivent appartenir au même réseau ou sous-réseau VPC.

Console

  1. Dans la console GCP, accédez à la page "Groupes d'instances".

    Accéder à la page "Groupes d'instances"

  2. Dans la colonne Nom de la liste, cliquez sur le nom du groupe auquel vous souhaitez ajouter des instances. La page qui s'ouvre affiche les propriétés du groupe ainsi que la liste des instances en faisant déjà partie.
  3. Cliquez sur Modifier le groupe pour modifier le groupe d'instances non géré.
  4. Dans la section Instances de VM, sélectionnez une ou plusieurs instances existantes à ajouter au groupe. Vous ne pouvez sélectionner des instances que si elles se trouvent dans la même zone que le groupe.
  5. Cliquez sur Enregistrer pour enregistrer les modifications. Les instances sélectionnées rejoignent le groupe non géré.

gcloud

Utilisez la sous-commande add-instances contenue dans gcloud instance-groups unmanaged :

gcloud compute instance-groups unmanaged add-instances [INSTANCE_GROUP] \
  --instances [INSTANCE_NAME],[ANOTHER_INSTANCE_NAME]

API

Envoyez une requête au service instanceGroups en indiquant le nom du groupe d'instances non géré auquel vous souhaitez ajouter des instances. Spécifiez les URL des instances que vous souhaitez ajouter.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/addInstances

{
 "instances": [
  {
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]"
  }
 ]
}

Répertorier les groupes d'instances non gérés d'un projet

Récupérez la liste des groupes d'instances non gérés existants.

Console

Dans la console GCP, accédez à la page "Groupes d'instances".

Accéder à la page "Groupes d'instances"

Cette page répertorie les groupes d'instances dont vous disposez, ainsi que les groupes d'instances gérés.

gcloud

Confirmez que votre groupe d'instances non géré a bien été créé à l'aide de la commande list :

gcloud compute instance-groups unmanaged list [INSTANCE_GROUP]

Pour obtenir des informations sur un groupe spécifique, exécutez la commande suivante :

gcloud compute instance-groups unmanaged describe [INSTANCE_GROUP]

API

Pour répertorier tous les groupes d'instances d'un projet, envoyez une requête GET au service instanceGroups :

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups

Pour obtenir des informations sur un groupe donné, envoyez une requête GET au service instanceGroups en spécifiant le nom du groupe concerné :

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Répertorier les instances d'un groupe d'instances non géré

Récupérez la liste des instances appartenant à un groupe non géré.

Console

  1. Dans la console GCP, accédez à la page "Groupes d'instances".

    Accéder à la page "Groupes d'instances"

  2. Dans la colonne Nom de la liste, cliquez sur le nom du groupe non géré contenant les instances que vous souhaitez afficher. La page qui s'ouvre affiche les propriétés du groupe ainsi que la liste des instances qui en font partie.

gcloud

Pour répertorier les instances d'un groupe non géré, utilisez la sous-commande list-instances contenue dans le groupe de commandes instances de gcloud compute instance-groups unmanaged :

gcloud compute instance-groups unmanaged list-instances [INSTANCE_GROUP]

API

Envoyez une requête au service instanceGroups en spécifiant le nom du groupe non géré qui contient les instances que vous souhaitez répertorier. Vous pouvez également inclure des filtres dans le corps de la requête.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/listInstances

Retirer des instances d'un groupe

Séparez des instances de leur groupe sans les supprimer.

Si le groupe fait partie d'un service de backend sur lequel le drainage de connexion est activé, le retrait ou la suppression de l'instance de VM peut prendre jusqu'à 60 secondes après la fin de la période de drainage.

Console

  1. Dans la console GCP, accédez à la page "Groupes d'instances".

    Accéder à la page "Groupes d'instances"

  2. Dans la colonne Nom de la liste, cliquez sur le nom du groupe qui contient les instances que vous souhaitez retirer. La page qui s'ouvre affiche les propriétés du groupe ainsi que la liste des instances qui en font partie.
  3. Dans la liste des instances, sélectionnez une ou plusieurs instances à retirer du groupe.
  4. Cliquez sur Retirer du groupe. Les instances sélectionnées ne font plus partie du groupe, mais continuent de s'exécuter en dehors de celui-ci.

gcloud

Pour retirer des instances d'un groupe non géré, utilisez la sous-commande remove contenue dans gcloud compute instance-groups unmanaged :

gcloud compute instance-groups unmanaged remove-instances [INSTANCE_GROUP] \
  --instances [INSTANCE_NAME],[ANOTHER_INSTANCE_NAME],[INSTANCES ...]

API

Envoyez une requête au service instanceGroups en indiquant le nom du groupe non géré associé aux instances que vous souhaitez retirer. Spécifiez l'URL des instances que vous souhaitez retirer du groupe.

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/removeInstances

{
 "instances": [
  {
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[INSTANCE_NAME]",
   "instance": "https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instances/[ANOTHER_INSTANCE_NAME]"
  }
 ]
}

Ajouter un groupe d'instances non géré à un service de backend

Vous devez disposer d'un service de backend pour pouvoir créer un équilibreur de charge interne, proxy TCP, proxy SSL ou HTTP(S). Un service de backend peut contenir plusieurs backends. Un groupe d'instances est un type de backend. Les instances du groupe d'instances répondent au trafic provenant de l'équilibreur de charge. Le service de backend sait ainsi quelles instances il peut exploiter, quel volume de trafic ces dernières peuvent traiter et quel volume elles traitent actuellement. En outre, le service de backend vérifie l'intégrité des instances et n'envoie pas de nouvelles connexions aux instances défectueuses.

Pour découvrir comment ajouter un groupe d'instances à un service de backend, consultez la section Ajouter des groupes d'instances à un service de backend.

Affecter des ports nommés à des groupes d'instances non gérés

Les ports nommés sont des paires clé/valeur qui représentent un nom de service et le numéro de port sur lequel le service s'exécute. Ils permettent aux services d'équilibrage de charge de rediriger le trafic vers des ports spécifiques sur des instances individuelles. Par exemple, si vous définissez un port nommé sur http:80, puis configurez votre service de backend pour qu'il envoie du trafic vers un port nommé http, l'équilibrage de charge transfère le trafic au port 80 des instances individuelles appartenant au groupe d'instances.

Les ports nommés sont des métadonnées simples utilisées par l'équilibrage de charge. Ils ne permettent de contrôler ni les ressources réseau, ni le pare-feu dans Compute Engine.

Vous pouvez affecter plusieurs ports à chaque nom de service, et plusieurs noms de service à chaque port. Gardez toutefois à l'esprit qu'un service de backend ne peut transférer le trafic qu'à un seul port à la fois.

Console

  1. Dans la console GCP, accédez à la page "Groupes d'instances".

    Accéder à la page "Groupes d'instances"

  2. Dans la colonne Nom de la liste, cliquez sur le nom du groupe d'instances dans lequel vous souhaitez spécifier des ports nommés. La page qui s'ouvre affiche les propriétés du groupe.
  3. Cliquez sur Modifier le groupe pour modifier le groupe d'instances non géré.
  4. Cliquez sur Préciser le mappage des noms des ports pour développer les options relatives aux ports nommés.
  5. Cliquez sur Ajouter un élément, puis saisissez le nom de port souhaité, ainsi que les numéros de port que vous voulez associer à ce nom. Cliquez à nouveau sur Ajouter un élément pour ajouter des entrées supplémentaires en cas de besoin.
  6. Cliquez sur Enregistrer pour enregistrer les modifications et appliquer les ports nommés aux instances du groupe non géré.

gcloud

Définissez un ou plusieurs ports nommés à l'aide de la commande set-named-ports :

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports [PORT_NAME]:[PORT],[PORT_NAME]:[PORT]

Exemple :

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports name1:80,name2:8080

Pour attribuer plusieurs ports à chaque nom de service, ou plusieurs noms à chaque service, créez plusieurs entrées pour chaque nom ou port. Par exemple, attribuez le nom name1 aux ports 10, 20 et 80. Assignez ensuite les noms name2 et name3 au port 80. Enfin, affectez le port 9000 au nom name4.

gcloud compute instance-groups unmanaged set-named-ports [INSTANCE_GROUP] \
  --named-ports name1:10,name1:20,name1:80,\
                name2:8080,name3:8080,\
                name4:9000

Vous pouvez vérifier les affectations des ports nommés d'un groupe d'instances non géré à l'aide de la commande get-named-ports :

gcloud compute instance-groups unmanaged get-named-ports [INSTANCE_GROUP]
NAME  PORT
name1 10
name1 20
name1 80
name2 8080
name3 8080
name4 9000

API

Envoyez une requête au service instanceGroups en spécifiant le nom d'un groupe d'instances non géré. Récupérez la valeur fingerprint actuelle associée au groupe en obtenant des informations sur un groupe spécifique. Incluez la valeur fingerprint et une ou plusieurs paires de valeurs namedPorts dans le corps de la requête :

POST https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  },
  {
   "name": "[PORT_NAME]",
   "port": [PORT_NUMBER]
  }
 ]
}

Exemple :

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 80
  },
  {
   "name": "name2",
   "port": 8080
  }
 ]
}

Pour attribuer plusieurs ports à chaque nom de service, créez plusieurs entrées pour ce nom de service. Par exemple, vous pouvez attribuer les ports 10, 20 et 80 au nom name1. Affectez également le port 8080 au nom name2.

POST https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroups/example-group/setNamedPorts

{
 "fingerprint": "42WmSpB8rSM=",
 "namedPorts": [
  {
   "name": "name1",
   "port": 10
  },
  {
   "name": "name1",
   "port": 20
  }
  {
   "name": "name1",
   "port": 80
  }
  {
   "name": "name2",
   "port": 8080
  }
  {
   "name": "name3",
   "port": 80
  }
  {
   "name": "name4",
   "port": 8080
  }
 ]
}

Pour répertorier les ports nommés déjà affectés à un groupe d'instances non géré, rédigez une requête GET qui pointe vers le groupe :

GET https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Supprimer un groupe d'instances non géré

Contrairement aux instances des groupes gérés, les instances des groupes non gérés demeurent même après la suppression du groupe. La suppression d'un groupe non géré dissout simplement le regroupement logique des instances.

Vous pouvez supprimer un groupe d'instances non géré à l'aide de l'outil gcloud compute ou de l'API.

Console

  1. Dans la console GCP, accédez à la page "Groupes d'instances".

    Accéder à la page "Groupes d'instances"

  2. Dans la liste, sélectionnez un ou plusieurs groupes à supprimer.
  3. Cliquez sur Supprimer pour supprimer le groupe. Les instances du groupe ne sont pas supprimées.

gcloud

Pour supprimer un groupe d'instances non géré, utilisez la commande delete :

gcloud compute instance-groups unmanaged delete [INSTANCE_GROUP]

API

Envoyez une requête DELETE au service instanceGroups en spécifiant le nom d'un groupe d'instances non géré spécifique à supprimer :

DELETE https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/zones/[ZONE]/instanceGroups/[INSTANCE_GROUP]

Étapes suivantes

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…

Documentation Compute Engine