Un groupe d'instances non géré est un ensemble d'instances de machines virtuelles (VM) qui résident dans un seul projet, une seule zone, un seul réseau VPC et un seul sous-réseau. Il permet de regrouper des VM nécessitant des réglages ou des paramètres de configuration individuels. Vous pouvez utiliser un groupe d'instances non géré dans le service de backend d'un équilibreur de charge.
Pour les VM qui nécessitent des paramètres de configuration cohérents, vous pouvez utiliser un groupe d'instances géré (MIG) basé sur un modèle d'instance. Si possible, utilisez des groupes d'instances gérés à la place de groupes non gérés. Pour créer un groupe d'instances géré, consultez la page Créer un MIG.
Vous pouvez ajouter l'un ou l'autre des types de groupes d'instances en tant que backend à un équilibreur de charge Google Cloud. Pour plus d'informations, consultez la page Présentation de Cloud Load Balancing. Pour connaître le nombre de VM par groupe d'instances pris en charge par Cloud Load Balancing, consultez la section VM par groupe d'instances.
Pour en savoir plus sur les groupes d'instances, consultez la page Présentation des groupes d'instances.
Avant de commencer
- Renseignez-vous sur la différence entre les groupes d'instances gérés et non gérés.
-
Si ce n'est pas déjà fait, configurez l'authentification.
L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud.
Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine comme suit :
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Cliquez sur Créer un groupe d'instances.
- Cliquez sur Nouveau groupe d'instances non géré.
- Saisissez un nom pour le groupe d'instances non géré.
- Sous Emplacement, sélectionnez une région et une zone.
- Sélectionnez un réseau et un sous-réseau.
- Sous Instances de VM, sélectionnez les VM à ajouter à ce groupe.
- Cliquez sur Créer.
instance-group-name
: nom du groupe que vous souhaitez créer.zone
: zone dans laquelle vous souhaitez créer le groupe.instance-group-name
: nom du groupe que vous souhaitez créer.zone
: zone dans laquelle vous souhaitez créer le groupe.project-id
: ID du projet contenant le groupe.instance-group-name
: nom du groupe à décrire.zone
: zone du groupe.instance-group-name
: nom du groupe à décrire.zone
: zone du groupe.project-id
: ID du projet contenant le groupe.- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Sélectionnez un ou plusieurs groupes d'instances non gérés dans la liste.
- Cliquez sur Supprimer pour supprimer les groupes. Les groupes sont supprimés, mais pas les VM qu'ils contiennent.
instance-group-name
: nom du groupe que vous souhaitez supprimer.zone
: zone du groupe.instance-group-name
: nom du groupe que vous souhaitez supprimer.zone
: zone du groupe.project-id
: ID du projet contenant le groupe.- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Dans la colonne Nom de la liste, cliquez sur le nom du groupe d'instances auquel vous souhaitez ajouter des VM. La page qui s'ouvre affiche les propriétés du groupe d'instances et la liste des VM qui en font déjà partie.
- Cliquez sur Modifier pour modifier le groupe d'instances non géré.
- Sur la page Instances de VM, sélectionnez une ou plusieurs VM existantes à ajouter au groupe. Vous ne pouvez sélectionner que les VM situées dans la même zone, le même réseau VPC et le même sous-réseau que les VM existantes.
- Cliquez sur Enregistrer pour ajouter les nouvelles VM au groupe.
instance-group-name
: nom du groupe auquel vous souhaitez ajouter des VM.zone
: zone du groupe.list-of-VM-names
: liste de VM, séparées par une virgule, situées dans la même zone, le même réseau VPC et le même sous-réseauinstance-group-name
: nom du groupe auquel vous souhaitez ajouter des VM.zone
: zone du groupe.project-id
: ID du projet contenant le groupe.instance-1-name
etinstance-2-name
: noms des VM, situées dans la même zone, le même réseau VPC et le même sous-réseau, que vous souhaitez ajouter au groupe.- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Dans la colonne Nom de la liste, cliquez sur le nom du groupe d'instances non géré que vous souhaitez afficher. Une page contenant la liste des instances incluses dans le groupe s'affiche.
instance-group-name
: nom du groupe dont vous souhaitez répertorier les membres.zone
: zone du groupe.instance-group-name
: nom du groupe dont vous souhaitez répertorier les membres.zone
: zone du groupe.project-id
: ID du projet contenant le groupe.- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- Dans la colonne Nom de la liste, cliquez sur le nom du groupe d'instances duquel vous souhaitez retirer des VM. La page qui s'ouvre affiche les propriétés du groupe d'instances ainsi que la liste des VM qui en font partie.
- Dans la liste, sélectionnez une ou plusieurs VM que vous souhaitez retirer du groupe.
- Cliquez sur Retirer du groupe. Les VM retirées d'un groupe d'instances non géré continuent d'exister et de s'exécuter, sauf si vous les arrêtez ou les supprimez.
instance-group-name
: nom du groupe contenant les instances à supprimer.zone
: zone du groupe.list-of-VM-names
: liste de VM, séparées par une virgule, que vous souhaitez retirer du groupe.instance-group-name
: nom du groupe contenant les instances à supprimer.zone
: zone du groupe.project-id
: ID du projet contenant le groupe.instance-1-name
etinstance-2-name
: noms des VM que vous souhaitez dissocier du groupe.- Le trafic est équilibré entre tous les ports ayant le même nom de port.
- Un service de backend donné ne peut transférer le trafic que vers un seul port nommé à la fois.
Si vous utilisez plusieurs numéros de port pour un port nommé, ils doivent tous correspondre à la même application.
Par exemple,
http:80,http:8080
fonctionne, maishttp:80,http:443
ne fonctionne pas, car le port 80 n'est généralement pas compatible avec le protocole TLS.instance-group-a
avec le port nomméhttp-port:80
instance-group-b
avec le port nomméhttp-port:79
- Dans Google Cloud Console, accédez à la page Groupes d'instances.
- 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.
- Cliquez sur Modifier pour modifier le groupe d'instances non géré.
- Dans la section Mappage de port, cliquez sur Ajouter un port, puis saisissez le nom et le numéro d'un port. Ajoutez ou supprimez d'autres ports nommés si nécessaire.
- Cliquez sur Enregistrer afin de mettre à jour la liste des ports nommés pour le groupe d'instances non géré.
instance-group-name
: nom du groupe d'instances.zone
: zone du groupe.port-name
etport-number
: nom et numéro de port correspondant à un mappage entre un nom et un numéro de port. Vous pouvez spécifier plusieurs mappages en les séparant par des virgules. Par exemple,port-one:80,port-two:8080
est une liste valide de ports nommés.Décrivez le groupe d'instances et notez la valeur de fingerprint.
Pour ajouter des ports nommés, envoyez une requête
POST
à l'aide de la méthode instanceGroups.setNamedPorts. Si vous souhaitez supprimer tous les ports nommés, définisseznamedPorts
sur une liste vide.POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/setNamedPorts { "fingerprint": "fingerprint", "namedPorts": [ { "name": "port-name", "port": port-number }, { "name": "port-name", "port": port-number }, .... ] }
Remplacez l'élément suivant :
instance-group-name
: nom du groupe d'instances.zone
: zone du groupe.project-id
: ID du projet contenant le groupe.port-name
etport-number
: nom et numéro de port correspondant à un mappage entre un nom et un numéro de port.fingerprint
: empreinte obtenue à l'étape précédente.
- Créez un groupe d'instances géré avec des VM dans une seule zone.
- Créez un groupe d'instances géré avec des VM dans plusieurs zones d'une région.
- Apprenez-en plus sur Cloud Load Balancing.
REST
Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.
Utiliser des groupes d'instances non gérés
Créer des groupes
Contrairement aux groupes d'instances gérés, les groupes d'instances non gérés ne sont que des ensembles de VM distinctes qui ne partagent pas de modèle d'instance commun. Il vous suffit de créer un groupe, puis d'y ajouter des VM individuelles.
Console
gcloud
Pour créer un groupe d'instances non géré, exécutez la commande instance-groups unmanaged create :
gcloud compute instance-groups unmanaged create instance-group-name \ --zone=zone
Remplacez l'élément suivant :
REST
Pour créer un groupe d'instances non géré avec REST, envoyez une requête
POST
à l'aide de la méthode instanceGroups.insert :POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups { "name": "instance-group-name" }
Remplacez les éléments suivants :
Lorsque vous créez un groupe d'instances non géré avec Google Cloud CLI ou REST, aucune VM n'y est ajoutée automatiquement. Vous pouvez ajouter manuellement des VM au groupe d'instances non géré.
Répertorier et décrire des groupes
Récupérez la liste des groupes d'instances non gérés existants.
Console
Dans la console Google Cloud, la page Groupes d'instances répertorie les groupes d'instances gérés et non gérés.
gcloud
Pour répertorier tous les groupes d'instances non gérés de votre projet à l'aide de Google Cloud CLI, exécutez la commande instance-groups unmanaged list :
gcloud compute instance-groups unmanaged list
Pour afficher des informations sur un groupe d'instances non géré spécifique, exécutez la commande instance-groups unmanaged describe :
gcloud compute instance-groups unmanaged describe instance-group-name \ --zone=zone
Remplacez l'élément suivant :
REST
Pour répertorier les groupes d'instances avec REST, envoyez une requête
GET
à l'aide de la méthode instanceGroups.list :GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups
Pour obtenir des informations sur un groupe d'instances non géré spécifique avec l'API, envoyez une requête
GET
à l'aide de la méthode instanceGroups.get :GET https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Remplacez l'élément suivant :
Supprimer des groupes
Contrairement à un groupe d'instances géré, supprimer un groupe d'instances non géré ne supprime aucune des VM du groupe. Supprimer un groupe d'instances non géré ne supprime que le regroupement logique des VM.
Vous ne pouvez pas supprimer un groupe d'instances s'il s'agit d'un backend d'un équilibreur de charge Google Cloud. Vous devez d'abord supprimer le backend du service de backend.
Console
gcloud
Pour supprimer un groupe d'instances non géré, exécutez la commande instance-groups unmanaged delete :
gcloud compute instance-groups unmanaged delete instance-group-name \ --zone=zone
Remplacez l'élément suivant :
REST
Pour supprimer un groupe d'instances non géré avec REST, envoyez une requête
DELETE
à l'aide de la méthode instanceGroups.delete :DELETE https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name
Remplacez les éléments suivants :
Appartenance à un groupe
Ajouter des VM
Une fois que vous avez créé un groupe d'instances non géré, vous pouvez ajouter des VM à ce groupe. Toutefois, vous ne pouvez regrouper les VM que si la première ou la seule interface réseau (
nic0
) de chaque VM est associée au même réseau VPC. Vous pouvez ajouter jusqu'à 2 000 VM à un groupe d'instances non géré. Si vous souhaitez ajouter plus de 2 000 VM au groupe, contactez l'assistance.Console
gcloud
Pour ajouter des instances à un groupe d'instances non géré, exécutez la commande instance-groups unmanaged add-instances :
gcloud compute instance-groups unmanaged add-instances instance-group-name \ --zone=zone \ --instances=list-of-VM-names
Remplacez l'élément suivant :
REST
Pour ajouter des VM à un groupe d'instances non géré, envoyez une requête
POST
à l'aide de la méthode instanceGroups.addInstances :POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/addInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name", "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name", .... } ] }
Remplacez les éléments suivants :
Répertorier des VM
Vous pouvez récupérer la liste des VM membres d'un groupe d'instances non géré.
Console
gcloud
Pour répertorier les VM d'un groupe d'instances non géré, exécutez la commande instance-groups unmanaged list-instances :
gcloud compute instance-groups unmanaged list-instances instance-group-name \ --zone=zone
Remplacez l'élément suivant :
REST
Pour répertorier les VM d'un groupe d'instances non géré, envoyez une requête
POST
à l'aide de la méthode instanceGroups.listInstances :POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/listInstances
Remplacez les éléments suivants :
Retirer des VM
Vous pouvez retirer des VM d'un groupe d'instances non géré. Retirer une VM du groupe d'instances n'entraîne pas sa suppression.
Console
gcloud
Pour retirer des VM d'un groupe d'instances non géré, exécutez la commande instance-groups unmanaged remove-instances :
gcloud compute instance-groups unmanaged remove-instances instance-group-name \ --zone=zone \ --instances=list-of-VM-names
Remplacez l'élément suivant :
REST
Pour retirer des VM d'un groupe d'instances non géré, envoyez une requête
POST
à l'aide de la méthode instanceGroups.removeInstances. Vous pouvez supprimer plusieurs VM simultanément, comme illustré ci-dessous :POST https://compute.googleapis.com/compute/v1/projects/project-id/zones/zone/instanceGroups/instance-group-name/removeInstances { "instances": [ { "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-1-name", "instance": "https://www.googleapis.com/compute/v1/projects/project-id/zones/zone/instances/instance-2-name", .... } ] }
Remplacez l'élément suivant :
Utiliser des ports nommés
Les ports nommés sont des paires clé-valeur qui représentent le nom et le numéro d'un port. Le nom de port représente le nom d'un service ou d'une application. Le numéro de port représente le port sur lequel le service ou l'application s'exécute.
Les ports nommés sont utilisés par Cloud Load Balancing. Les équilibreurs de charge qui agissent en tant que proxys s'abonnent à un seul port nommé dans leur configuration de service de backend. Le nom du port est converti en un numéro de port en fonction du mappage de ports nommés de chaque backend du groupe d'instances.
Par exemple, un service de backend peut s'abonner à un port nommé
http-port
. Le groupe d'instances backend peut avoir un port nomméhttp-port:80
. Le groupe d'instances backend indique à l'équilibreur de charge d'envoyer le trafic à une VM du groupe sur le port 80 via un protocole (par exemple, TCP). Le protocole est défini dans le service de backend de l'équilibreur de charge.Les ports nommés sont des métadonnées simples utilisées par les équilibreurs de charge proxy. Ils ne permettent de contrôler ni les ressources réseau, ni le pare-feu dans Compute Engine.
Plusieurs numéros de ports pour un port nommé
Vous pouvez attribuer plusieurs ports à chaque nom de service. Vous pouvez également attribuer plusieurs noms de service à chaque port.
Gardez à l'esprit les points suivants :
Vous pouvez attribuer plusieurs ports nommés dans un groupe d'instances. Prenons l'exemple d'un service de backend qui s'abonne au port nommé
http-port
et qui possède deux groupes d'instances backend :Ce service de backend envoie du trafic au port 80 pour les VM dans
instance-group-a
et au port 79 pour les VM dansinstance-group-b
.Lorsque vous ajoutez le même groupe d'instances à plusieurs services de backend (pour plusieurs équilibreurs de charge) et que le groupe d'instances diffuse différents ports sur chaque équilibreur de charge, n'ajoutez pas tous les numéros de port à un seul port nommé. Créez plutôt un port nommé unique et mappez-le à un ensemble de ports que chaque service de backend doit servir.
Par exemple, supposons que vous ayez trois applications, chacune avec son propre équilibreur de charge. Chaque application possède son propre numéro de port : 81 pour
app1
, 82 pourapp2
et 83 pourapp3
. En supposant que les trois services de backend utilisent un groupe d'instances commun, attribuez les ports nommés de ce groupe d'instances au format[app1:81, app2:82, app3:83]
.Ports nommés et vérifications d'état
Pour qu'un port nommé avec plusieurs numéros de port sur un service de backend fonctionne sur un équilibreur de charge d'application externe ou interne, la vérification de l'état doit comporter l'option
--use-serving-port
plutôt qu'un numéro de port spécifique. Cette option n'est pas disponible dans la console Google Cloud. Pour définir--use-serving-port
, vous devez utiliser la Google Cloud CLI ou l'API.Supposons par exemple que vous ayez une application qui équilibre la charge du trafic sur trois ports différents (81, 82, 83) sur le même service de backend avec un seul groupe d'instances. Vous pouvez attribuer les ports de ces groupes d'instances au format
[app:81, 82, 83]
. Dans ce scénario, la vérification d'état doit comporter l'option--use-serving-port
.Pour en savoir plus, consultez la documentation sur la vérification de l'état de l'équilibrage de charge.
Ports nommés et règles de pare-feu
Les ports nommés n'entraînent pas la création ni la modification des règles de pare-feu Google Cloud. Pour autoriser le trafic vers les VM de backend, vous devez toujours créer les règles de pare-feu nécessaires.
Ports nommés et services de backend
Outre la configuration du groupe d'instances, vous devez également configurer le service de backend. Par exemple, supposons que vous définissiez le port nommé sur un groupe d'instances avec le nom
my-service-name
et le port8888
:gcloud compute instance-groups set-named-ports my-unmanaged-ig \ --named-ports=my-service-name:8888
Vous devez ensuite faire référence au port nommé dans la configuration du service de backend, avec le
--port-name
sur le service de backend défini surmy-service-name
:gcloud compute backend-services update my-backend-service \ --port-name=my-service-name
Créer des ports nommés
Console
gcloud
Pour ajouter des ports nommés à un groupe d'instances non géré, utilisez la commande
instance-groups unmanaged set-named-ports
:gcloud compute instance-groups unmanaged set-named-ports instance-group-name \ --zone=zone \ --named-ports=port-name:port-number,...
Pour répertorier les ports nommés dans un groupe d'instances non géré, utilisez la commande
instance-groups unmanaged get-named-ports
: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, si les ports
10
,20
et80
sont pour la même application, vous pouvez attribuername1
à tous ces ports. Vous pouvez également attribuer deux noms,name2
etname3
, au port8080
. Enfin, vous pouvez attribuer le port9000
àname4
, comme dans l'exemple suivant :gcloud compute instance-groups unmanaged set-named-ports INSTANCE_GROUP \ --named-ports name1:10,name1:20,name1:80,\ name2:8080,name3:8080,\ name4:9000
Pour supprimer tous les ports nommés d'un groupe d'instances non géré avec Google Cloud CLI, exécutez la commande instance-groups unmanaged set-named-ports avec une liste vide de ports nommés :
gcloud compute instance-groups unmanaged set-named-ports instance-group-name \ --zone=zone \ --named-ports=""
Dans tous les exemples ci-dessus, remplacez les éléments suivants s'ils sont présents :
REST
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/11/21 (UTC).
-