En configurant des adresses IP avec état dans un groupe d'instances géré (MIG), vous vous assurez que les adresses IP sont conservées lorsque les instances de VM du groupe sont autoréparées, mises à jour et recréées.
Vous pouvez conserver les adresses IPv4 internes et externes. Vous pouvez configurer l'attribution automatique d'adresses IP ou attribuer des adresses IP spécifiques à chaque instance de VM d'un MIG.
Avant de commencer
- Revoyez les pages expliquant dans quels cas utiliser des MIG avec état et le fonctionnement des MIG avec état.
-
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 :
Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :
Console
Lorsque vous utilisez la console Google Cloud pour accéder aux services et aux API Google Cloud, vous n'avez pas besoin de configurer l'authentification.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Définissez une région et une zone par défaut.
Terraform
Pour utiliser les exemples Terraform de cette page dans un environnement de développement local, installez et initialisez gcloud CLI, puis configurez le service Identifiants par défaut de l'application à l'aide de vos identifiants utilisateur.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create local authentication credentials for your user account:
gcloud auth application-default login
Pour en savoir plus, consultez les sections sur Configurer l'authentification pour un environnement de développement local.
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
-
Limites
Un MIG avec des adresses IP avec état présente les limites suivantes :
Les adresses IPv6 ne sont pas compatibles.
Les adresses IP internes ne sont pas compatibles avec les réseaux qui n'ont pas de sous-réseau (par exemple, les anciens réseaux).
Un MIG doté d'une configuration avec état (un MIG avec état) présente les limites suivantes :
- Vous ne pouvez pas utiliser l'autoscaling si votre MIG dispose d'une configuration avec état.
- Si vous souhaitez utiliser des mises à jour progressives automatiques, vous devez définir la méthode de remplacement sur
RECREATE
. - Pour les MIG régionaux avec état, vous devez désactiver la redistribution proactive (définissez le type de redistribution sur
NONE
) pour empêcher la suppression d'instances avec état lors de redistributions interzones automatiques. - Si vous utilisez une configuration basée sur toutes les instances pour remplacer les propriétés d'un modèle d'instance, vous ne pouvez pas spécifier ces propriétés à la fois dans une configuration par instance et dans une configuration sur toutes les instances du groupe.
Tarifs
Les adresses IP externes vous sont facturées conformément aux tarifs du réseau.
Quand utiliser des adresses IP avec état
La conservation des adresses IP des instances est utile dans les scénarios suivants :
- Votre application nécessite qu'une adresse IP reste statique après son attribution (par exemple, Kafka).
- La configuration de votre application dépend d'adresses IP spécifiques, par exemple un serveur DNS.
- Les utilisateurs, y compris d'autres applications, accèdent à votre serveur via une adresse IP statique dédiée, par exemple un serveur de fichiers.
- Vous devez migrer des charges de travail existantes sans modifier la configuration du réseau.
Configurer des adresses IP avec état pour toutes les VM d'un groupe
La configuration d'adresses IP avec état pour toutes les VM d'un MIG est utile dans les scénarios suivants :
- Votre application nécessite qu'une adresse IP reste statique après son attribution. Mais votre application ne nécessite pas l'attribution d'adresses IP spécifiques à des instances spécifiques. Les adresses IP peuvent être attribuées automatiquement lors de la création de l'instance.
- Vos utilisateurs, y compris d'autres applications, accèdent à vos serveurs via des adresses IP statiques que vous publiez après le déploiement de votre application.
- Vous souhaitez bénéficier de l'autoréparation des instances et des mises à jour automatiques tout en préservant l'adresse IP statique attribuée automatiquement lors de la création de l'instance.
Pour conserver les adresses IP internes ou externes statiques pour les instances de VM existantes et futures du groupe, configurez-les dans la règle avec état.
Lorsque vous ajoutez une configuration d'adresse IP avec état à la règle avec état du groupe, le MIG applique la configuration de la manière suivante :
- Pour les nouvelles instances, le groupe d'instances géré attribue et réserve automatiquement les adresses IP statiques.
- Pour les instances existantes, le groupe d'instances géré convertit les adresses IP internes ou externes éphémères utilisées en adresses statiques en réservant les adresses IP statiques correspondantes.
Pour les instances existantes sans adresse IP externe, le MIG attribue et réserve les adresses IP statiques, et ajoute une configuration d'accès à l'interface réseau correspondante avec les valeurs par défaut suivantes :
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External NAT", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
Pour réserver une adresse IP statique, le groupe d'instances géré crée une ressource Adresse.
Configurer des adresses IP avec état lors de la création d'un groupe d'instances géré
Utilisez la console Google Cloud, la gcloud CLI, Terraform ou REST.
Console
Dans la console Google Cloud, accédez à la page Groupes d'instances.
Sélectionnez le projet et cliquez sur Continuer.
Cliquez sur Créer un groupe d'instances.
Sélectionnez Nouveau groupe d'instances géré (avec état).
Renseignez un Nom pour le groupe d'instances.
Sélectionnez un modèle d'instance.
Dans la section Nombre d'instances, spécifiez le nombre d'instances que vous souhaitez inclure au sein du groupe.
Sous Configuration avec état, développez les adresses IP externes et internes que vous souhaitez définir avec état.
- Sous Avec état, sélectionnez Oui.
- Dans la liste déroulante Lors de la suppression permanente de l'instance, sélectionnez l'action à effectuer sur l'adresse IP avec état lorsque l'instance de VM est supprimée. Les options disponibles sont les suivantes :
- Dissocier l'adresse IP : (par défaut) Supprimez l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.
- Supprimer l'adresse IP : supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
- Une fois que vous avez terminé la configuration avec état, cliquez sur Terminé.
Cliquez sur Créer.
gcloud
Lorsque vous créez un MIG, pour spécifier les adresses IP des interfaces réseau du modèle d'instance qui doivent être avec état, utilisez une ou plusieurs des options suivantes avec la commande gcloud compute instance-groups managed create
:
--stateful-internal-ip
pour marquer une adresse IP interne d'une interface réseau donnée comme étant avec état.--stateful-external-ip
pour marquer une adresse IP externe d'une interface réseau donnée comme étant avec état.
gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template INSTANCE_TEMPLATE \ --size SIZE \ --instance-redistribution-type NONE \ --stateful-internal-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Remplacez les éléments suivants :
- INSTANCE_GROUP_NAME : nom du MIG à créer.
- INSTANCE_TEMPLATE : nom du modèle d'instance à utiliser lors de la création d'instances.
- SIZE : nombre initial d'instances dont vous avez besoin dans ce groupe.
- NI_NAME : (Facultatif) Nom de l'interface réseau. Si elle n'est pas spécifiée, l'option
enabled
est obligatoire et l'interface réseau principale nomméenic0
est utilisée par défaut. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier cette option pour chaque adresse IP dans chaque interface réseau. DELETE_RULE : (Facultatif) Indique ce qu'il advient de la ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
never
: (Par défaut) Ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.on-permanent-instance-deletion
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
Exemple
Vous devez créer un groupe régional d'instances de VM avec des adresses IP internes statiques pour les réseaux par défaut et personnalisés, et des adresses IP externes statiques uniquement pour le réseau par défaut. Vous souhaitez que les adresses soient attribuées automatiquement, mais vous devez les conserver via l'autoréparation, les mises à jour et les événements de recréation de l'instance. Vous stockez la configuration d'instance dans un modèle d'instance nommé node-template
.
Pour créer le groupe, exécutez la commande suivante :
gcloud compute instance-groups managed create example-group \ --region us-east1 \ --template node-template \ --base-instance-name node \ --instance-redistribution-type NONE \ --size 3 \ --stateful-internal-ip interface-name=nic0,auto-delete=on-permanent-instance-deletion --stateful-internal-ip interface-name=nic1,auto-delete=on-permanent-instance-deletion --stateful-external-ip enabled,auto-delete=on-permanent-instance-deletion
Les adresses IP internes dans les interfaces réseau nic0
et nic1
et l'adresse IP externe dans l'interface réseau nic0
sont configurées avec état pour toutes les instances du groupe. Le groupe réserve automatiquement les adresses IP internes et externes statiques pour chaque instance. L'option auto-delete
étant définie sur on-permanent-instance-deletion
, le groupe supprime automatiquement les réservations d'adresses IP statiques lorsque vous supprimez les instances associées ou le groupe entier.
Pour vérifier que les adresses IP internes dans les interfaces réseau nic0
et nic1
et l'adresse IP externe dans l'interface réseau nic0
sont configurées avec état, exécutez la commande suivante :
gcloud compute instance-groups managed describe example-group \ --zone us-east1-c
Le résultat se présente comme suit :
baseInstanceName: node ... name: example-group ... statefulPolicy: preservedState: internalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION nic1: autoDelete: ON_PERMANENT_INSTANCE_DELETION externalIPs: nic0: autoDelete: ON_PERMANENT_INSTANCE_DELETION ...
Vous pouvez constater que la règle avec état du groupe déclare les adresses IP internes dans les interfaces réseau nic0
et nic1
et les adresses IP externes de l'interface réseau nic0
comme étant avec état, avec une règle pour supprimer les réservations d'adresses IP statiques Réservations lors de la suppression permanente d'une instance.
Terraform
Si vous n'avez pas encore créé de modèle d'instance, qui spécifie le type de machine, l'image de disque de démarrage, le réseau et les autres propriétés de VM que vous souhaitez pour chaque VM de votre MIG, créez Un modèle d'instance.
Lorsque vous créez un MIG, pour spécifier les adresses IP des interfaces réseau du modèle d'instance qui doivent être avec état, utilisez un ou plusieurs des blocs suivants:
stateful_internal_ip
pour marquer une adresse IP interne d'une interface réseau donnée comme étant avec état.stateful_external_ip
pour marquer une adresse IP externe d'une interface réseau donnée comme étant avec état.
L'exemple suivant configure les adresses IP avec état lors de la création d'un MIG régional. Pour en savoir plus sur la ressource utilisée dans l'exemple, consultez la section Ressource google_compute_region_instance_group_manager
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
REST
Lors de la création d'un groupe d'instances géré, pour spécifier les adresses IP dans les interfaces réseau du modèle d'instance qui doivent être avec état, incluez-les dans le champ statefulPolicy
dans le corps de la requête de la méthode instanceGroupManagers.insert
ou regionInstanceGroupManagers.insert
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE" } ], "targetSize": SIZE, "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } }, "externalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } } } }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Remplacez les éléments suivants :
- PROJECT : ID du projet pour la requête.
- REGION : pour les MIG régionaux, la région où se trouve le MIG. Pour les MIG zonaux, remplacez
regions/REGION
parzones/ZONE
et spécifiez la zone où se trouve le MIG. - NAME : nom du MIG à créer.
- INSTANCE_TEMPLATE : nom du modèle d'instance à utiliser lors de la création d'instances.
- SIZE : nombre initial d'instances dont vous avez besoin dans ce groupe.
- NI_NAME : (Facultatif) Nom de l'interface réseau. Si elle n'est pas spécifiée, l'option
enabled
est obligatoire et l'interface réseau principale nomméenic0
est utilisée par défaut. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES. DELETE_RULE : (facultatif) indique ce qui doit arriver à une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
NEVER
: (par défaut) ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.ON_PERMANENT_INSTANCE_DELETION
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
Exemple
Vous devez créer un groupe régional d'instances de VM avec des adresses IP internes statiques pour les réseaux par défaut et personnalisés, et des adresses IP externes statiques uniquement pour le réseau par défaut. Vous souhaitez que les adresses soient attribuées automatiquement, mais vous devez les conserver via l'autoréparation, les mises à jour et les événements de recréation de l'instance. Vous stockez la configuration d'instance dans un modèle d'instance nommé node-template
.
Pour créer le groupe, utilisez la méthode regionInstanceGroupManagers.insert
:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers { "name": "example-group", "baseInstanceName": "node", "versions": [ { "instanceTemplate": "global/instanceTemplates/node-template" } ], "targetSize": 3, "statefulPolicy": { "preservedState": { "internalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }, "nic1": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } "externalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } }, "updatePolicy": { "instanceRedistributionType": "NONE" } }
Les adresses IP internes dans les interfaces réseau nic0
et nic1
et les adresses IP externes de l'interface réseau nic0
sont configurées avec état pour toutes les instances du groupe. Le groupe réserve automatiquement les adresses IP internes et externes statiques pour chaque instance. Le champ auto-delete
étant défini sur ON_PERMANENT_INSTANCE_DELETION
, le groupe supprime automatiquement les réservations d'adresses IP statiques lorsque vous supprimez des instances associées ou le groupe entier.
Utilisez la méthode regionInstanceGroupManagers.get
pour vérifier que les adresses IP internes dans les interfaces réseau nic0
et nic1
et les adresses IP externes dans l'interface réseau nic0
sont configurées dans la règle avec état de la nouvelle ressource regionInstanceGroupManagers
:
GET https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group
La réponse contient la règle avec état configurée :
{ "name": "example-group", "baseInstanceName": "node", ... "statefulPolicy": { "preservedState": { "internalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" }, "nic1": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } "externalIPs": { "nic0": {"autoDelete": "ON_PERMANENT_INSTANCE_DELETION" } } } } ... }
Vous pouvez constater que la règle avec état du groupe déclare les adresses IP internes dans les interfaces réseau nic0
et nic1
et les adresses IP externes de l'interface réseau nic0
avec état avec une règle pour supprimer les réservations d'adresses IP statiques associées lors de la suppression permanente de l'instance.
Définir et mettre à jour la configuration avec état pour les adresses IP dans le groupe d'instances géré existant
Si vous exécutez une charge de travail sur un MIG sans état (MIG sans configuration avec état) et que la charge de travail nécessite des adresses IP statiques, vous pouvez configurer les adresses IP déjà attribuées aux instances de VM gérées pour les rendre avec état. Cela garantit que les adresses IP de vos VM existantes sont conservées lors des opérations d'autoréparation, de mise à jour et de recréation des instances. Vous pouvez éventuellement conserver les réservations d'adresses IP statiques après la suppression des instances.
En configurant une règle avec état pour les adresses IP dans un MIG existant, vous pouvez effectuer les opérations suivantes :
- Configurez les adresses IP avec état pour toutes les instances existantes et futures du groupe. Cette opération permet de convertir les adresses IP éphémères correspondantes de toutes les instances existantes en adresses IP statiques.
- Mettez à jour la configuration avec état existante pour les adresses IP.
Le MIG applique automatiquement et de manière asynchrone la configuration mise à jour dans la règle avec état à toutes les instances. Les mises à jour des configurations d'adresse IP dans une règle avec état n'interrompent pas l'exécution des instances de VM. Pour en savoir plus, consultez la page Appliquer des mises à jour de règles avec état.
Console
Dans la console Google Cloud, accédez à la page Groupes d'instances.
Cliquez sur le nom du groupe d'instances pour lequel vous souhaitez spécifier des adresses IP avec état.
Cliquez sur Modifier pour modifier le groupe d'instances géré.
Sous Configuration avec état, développez les adresses IP externes et internes que vous souhaitez définir avec état.
- Sous Avec état, sélectionnez Oui.
- Dans la liste déroulante Lors de la suppression permanente de l'instance, sélectionnez l'action à effectuer sur l'adresse IP avec état lorsque l'instance de VM est supprimée. Les options disponibles sont les suivantes :
- Dissocier l'adresse IP : (par défaut) Supprimez l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.
- Supprimer l'adresse IP : supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
- Après avoir mis à jour la configuration avec état, cliquez sur Terminé.
- Cliquez sur Enregistrer pour terminer la mise à jour.
gcloud
Pour spécifier les adresses IP devant être avec état ou pour mettre à jour la configuration IP avec état d'un MIG existant, utilisez une ou plusieurs options --stateful-internal-ip
ou --stateful-external-ip
avec la commande gcloud compute instance-groups managed update
.
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip [enabled | interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Remplacez les éléments suivants :
- INSTANCE_GROUP_NAME : nom du MIG à mettre à jour.
- NI_NAME : (Facultatif) Nom de l'interface réseau. Si elle n'est pas spécifiée, l'option
enabled
est obligatoire et l'interface réseau principale nomméenic0
est utilisée par défaut. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier cette option pour chaque adresse IP dans chaque interface réseau. DELETE_RULE : (Facultatif) Indique ce qu'il advient d'une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
never
: (Par défaut) Ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.on-permanent-instance-deletion
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
Si une adresse IP spécifiée est déjà configurée dans la règle avec état pour une interface réseau donnée, la commande met à jour la configuration.
Exemple
Vous devez exposer un serveur de fichiers s'exécutant sur un MIG avec état nommé example-fs-group
aux utilisateurs externes via des adresses IP externes statiques.
Les instances du groupe disposent d'adresses IP externes éphémères.
Vous devez vous assurer que les adresses IP sont conservées lors de l'autoréparation et des mises à jour des instances afin que les utilisateurs externes aient un accès continu aux serveurs via les adresses IP publiées. Vous devez également conserver les adresses IP réservées pour la continuité en cas de suppression accidentelle du groupe.
Mettez à jour le MIG pour définir les adresses IP externes avec état à l'aide de la commande suivante :
gcloud compute instance-groups managed update example-fs-group \ --stateful-external-ip enabled
Par conséquent, le groupe convertit les adresses IP externes éphémères de l'interface réseau nic0
en adresses IP statiques pour toutes les instances gérées de manière asynchrone.
Les adresses IP externes sont désormais conservées lors des événements d'autoréparation, de mise à jour et de recréation de l'instance. Les réservations d'adresses IP statiques associées ne sont pas attribuées et conservées lors de la suppression de l'instance, car la règle auto-delete
non spécifiée est définie sur never
par défaut.
Vous pouvez vérifier que l'adresse IP externe avec état est configurée dans la règle avec état en exécutant la commande gcloud compute instance-groups managed describe example-fs-group
.
REST
Pour spécifier les adresses IP avec état ou mettre à jour la configuration IP avec état d'un MIG existant, utilisez la commande instanceGroupManagers.patch
ou regionInstanceGroupManagers.patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } }, "externalIPs": { "NI_NAME": {"autoDelete": "DELETE_RULE" } } } } }
Remplacez les éléments suivants :
- PROJECT : ID du projet pour la requête.
- REGION : pour les MIG régionaux, la région où se trouve le MIG. Pour les MIG zonaux, remplacez
regions/REGION
parzones/ZONE
et spécifiez la zone où se trouve le MIG. - NAME : nom du MIG à créer.
- NI_NAME : (obligatoire) nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES. DELETE_RULE : (facultatif) indique ce qui doit arriver à une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
NEVER
: (par défaut) ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.ON_PERMANENT_INSTANCE_DELETION
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
Si une adresse IP spécifiée est déjà configurée dans la règle avec état, la méthode corrige la configuration.
Exemple
Vous devez exposer un serveur de fichiers s'exécutant sur un MIG avec état nommé example-fs-group
aux utilisateurs externes via des adresses IP externes statiques.
Les instances du groupe disposent d'adresses IP externes éphémères.
Vous devez vous assurer que les adresses IP sont conservées lors de l'autoréparation et des mises à jour des instances afin que les utilisateurs externes aient un accès continu aux serveurs via l'interface réseau publiée. Vous devez également conserver les adresses IP réservées pour la continuité en cas de suppression accidentelle du groupe.
Appliquez un correctif au MIG pour définir les adresses IP externes avec état :
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-fs-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": {"autoDelete": "NEVER" } } } } }
Par conséquent, le groupe convertit les adresses IP externes éphémères de l'interface réseau nic0
en adresses IP statiques pour toutes les instances gérées de manière asynchrone.
Les adresses IP externes sont désormais conservées lors des événements d'autoréparation, de mise à jour et de recréation de l'instance. Les réservations d'adresses IP statiques associées ne sont pas attribuées et sont conservées lors de la suppression de l'instance, car la règle autoDelete
est définie sur NEVER
.
Vérifiez que l'adresse IP externe est configurée dans la règle avec état en affichant la ressource regionInstanceGroupManagers
, renvoyée par la méthode regionInstanceGroupManagers.get
.
Déclarer des adresses IP avec état comme étant sans état
Vous devrez peut-être configurer une adresse IP avec état pour qu'elle devienne éphémère, par exemple pour les raisons suivantes :
- Vous redéfinissez l'architecture de votre application pour ne plus utiliser d'adresses IP statiques.
- Vous avez configuré l'adresse IP avec un état par erreur et vous souhaitez la rétablir.
Vous pouvez supprimer la configuration d'adresses IP avec état de la règle avec état du groupe pour déclarer une adresse IP dans une interface réseau donnée comme éphémère pour toutes les instances gérées.
Lorsque vous supprimez la configuration IP avec état de la règle avec état, le MIG supprime automatiquement et de manière asynchrone les adresses de l'état préservé de toutes les instances du groupe. Cette opération n'interrompt pas l'exécution des instances de VM. Les adresses IP restent actives sur les instances, mais ne sont plus avec état. Lorsque vous recréez ou mettez à jour les instances, ou lorsque les instances sont autoréparées, le MIG annule l'attribution des adresses IP statiques associées et attribue automatiquement des adresses éphémères. Si vous n'avez plus besoin de conserver les réservations d'adresses IP externes statiques, vous pouvez maintenant les libérer.
Pour en savoir plus, consultez les documents suivants :
- Comment la suppression d'une ressource d'une règle avec état affecte l'état préservé.
- Appliquer des mises à jour de règles avec état
Console
Dans la console Google Cloud, accédez à la page Groupes d'instances.
Cliquez sur le nom du groupe d'instances duquel vous souhaitez supprimer la configuration avec état pour les adresses IP.
Cliquez sur Modifier pour modifier le groupe d'instances géré.
Sous Configuration avec état, développez les adresses IP externes et internes que vous souhaitez définir sans état.
- Définissez l'option Avec état sur Non.
- Cliquez sur OK.
Une fois les modifications effectuées, cliquez sur Enregistrer.
gcloud
Pour spécifier les adresses IP de la règle avec état du MIG à rendre éphémère, utilisez l'option --remove-stateful-internal-ips
ou --remove-stateful-external-ips
avec la commande gcloud compute instance-groups managed update
:
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --remove-stateful-internal-ips NI_NAME[,NI_NAME,...] \ --remove-stateful-external-ips NI_NAME[,NI_NAME,...]
Remplacez les éléments suivants :
- INSTANCE_GROUP_NAME : nom du MIG à mettre à jour.
- NI_NAME : obligatoire. Nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES.
Si vous devez transformer une adresse IP avec état de l'interface réseau principale par défaut nommée nic0
en adresse IP éphémère, vous pouvez également utiliser la commande suivante :
gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --stateful-internal-ip disabled \ --stateful-external-ip disabled
Exemple
Votre application a été exposée aux utilisateurs via les adresses IP externes statiques publiées des instances de VM dans un MIG nommé example-group
.
Vous avez modifié l'architecture de votre service en déployant un équilibreur de charge devant le MIG et en acheminant le trafic vers les VM gérées via celui-ci.
Vous n'avez plus besoin de gérer les adresses IP externes statiques et vous souhaitez rendre éphémères les adresses IP externes des VM.
Pour rendre éphémères les adresses IP externes avec état des VM dans un MIG, exécutez la commande suivante :
gcloud compute instance-groups managed update example-group \ --remove-stateful-external-ips nic0
Le MIG supprime automatiquement et de manière asynchrone les adresses IP externes statiques de l'interface réseau nic0
de l'état préservé de toutes les instances du groupe. Les adresses IP externes restent actives sur les instances, mais ne sont plus avec état. Lorsque vous recréez ou mettez à jour les instances, ou lorsque les instances sont autoréparées, le MIG annule l'attribution des adresses IP statiques associées et attribue automatiquement des adresses éphémères. Si vous n'avez plus besoin de conserver les réservations d'adresses IP externes statiques, vous pouvez maintenant les libérer.
REST
Pour spécifier les adresses IP de la règle avec état du MIG à rendre éphémère, supprimez la configuration de chaque adresse IP de la règle avec état du MIG à l'aide de la méthode instanceGroupManagers.patch
ou regionInstanceGroupManagers.patch
:
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "statefulPolicy": { "preservedState": { "internalIPs": { "NI_NAME": null }, "externalIPs": { "NI_NAME": null } } } }
Remplacez les éléments suivants :
- PROJECT : ID du projet pour la requête.
- REGION : pour les MIG régionaux, la région où se trouve le MIG. Pour les MIG zonaux, remplacez
regions/REGION
parzones/ZONE
et spécifiez la zone où se trouve le MIG. - INSTANCE_GROUP_NAME : nom du MIG à créer.
- NI_NAME : (obligatoire) nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES.
Exemple
Votre application a été exposée aux utilisateurs via des adresses IP externes statiques publiées des instances de VM dans un MIG nommé example-group
. Vous avez redéfini l'architecture de votre service en déployant un équilibreur de charge devant le MIG et en acheminant le trafic vers les VM gérées. Vous n'avez plus besoin de gérer les adresses IP externes statiques et vous souhaitez rendre éphémères les adresses IP externes des VM.
Pour rendre éphémères les adresses IP externes avec état des VM dans un MIG, appliquez un correctif au MIG :
PATCH https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group { "statefulPolicy": { "preservedState": { "externalIPs": { "nic0": null } } } }
Le MIG supprime automatiquement et de manière asynchrone les adresses IP externes statiques de l'interface réseau nic0
de l'état préservé de toutes les instances du groupe. Les adresses IP externes restent actives sur les instances, mais ne sont plus avec état. Lorsque vous recréez ou mettez à jour les instances, ou lorsque les instances sont autoréparées, le MIG annule l'attribution des adresses IP statiques associées et attribue automatiquement des adresses éphémères.
Si vous n'avez plus besoin de conserver les réservations d'adresses IP externes statiques, vous pouvez maintenant les libérer.
Configurer individuellement des adresses IP avec état pour les VM d'un groupe d'instances géré
La configuration individuelle d'adresses IP avec état pour les VM d'un MIG est utile dans les scénarios suivants :
- Migration de charges de travail existantes (apporter des adresses IP statiques réservées existantes) d'instances de VM autonomes vers des MIG avec état afin de bénéficier de l'autoréparation et des mises à jour automatisées.
- Attribution d'adresses IP statiques réservées spécifiques requises par la configuration de l'architecture ou de la charge de travail.
Configurer des adresses IP statiques lors de la création de VM dans un MIG
Vous pouvez réserver et attribuer des adresses IP statiques à des instances spécifiques lorsque vous créez ces instances individuellement dans un MIG. Cela est utile pour migrer une application avec état des VM autonomes existantes vers un MIG avec état dans une situation où l'architecture, la configuration ou les utilisateurs reposent sur des adresses IP statiques spécifiques.
Lorsque vous créez manuellement une instance au sein d'un MIG et que vous fournissez une adresse IP statique, le MIG effectue les actions suivantes :
- Crée une réservation d'adresses IP statiques internes ou externes pour les adresses IP fournies si elles n'existent pas encore.
- Crée une instance à partir du modèle d'instance à l'aide du nom d'instance et des adresses IP fournis.
- Crée une configuration par instance avec la configuration avec état fournie pour les adresses IP.
gcloud
Pour créer une instance avec une adresse IP statique prédéfinie, exécutez la commande gcloud compute instance-groups managed create-instance
avec une ou plusieurs des options suivantes :
--stateful-internal-ip
pour définir une adresse IP interne statique d'une interface réseau donnée.--stateful-external-ip
pour définir une adresse IP externe statique d'une interface réseau donnée.
gcloud compute instance-groups managed create-instance INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE]
Remplacez les éléments suivants :
- INSTANCE_GROUP_NAME : nom du MIG.
- INSTANCE_NAME : nom de l'instance à créer.
- NI_NAME : (Facultatif) Nom de l'interface réseau. S'il n'est pas spécifié, l'interface réseau principale nommée
nic0
est utilisée par défaut. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier cette option pour chaque adresse IP dans chaque interface réseau. ADDRESS : obligatoire. Adresse IP statique à attribuer à l'instance dans l'un des formats suivants :
- Adresse. URL d'une réservation d'adresse IP statique, par exemple
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Littéral, par exemple
"130.211.181.55"
.- Si l'adresse IP fournie n'est pas encore réservée, le MIG crée automatiquement une réservation d'adresse IP correspondante.
- Si l'adresse IP fournie est réservée, le groupe d'instances géré attribue la réservation à l'instance.
- Adresse. URL d'une réservation d'adresse IP statique, par exemple
DELETE_RULE : (Facultatif) Indique ce qu'il advient d'une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
never
: (Par défaut) Ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.on-permanent-instance-deletion
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
Exemple
Vous devez ajouter une instance de VM supplémentaire à votre cluster de serveur proxy, s'exécutant sur un MIG nommé proxy-cluster
. Vous avez créé une réservation d'adresse IP interne statique nommée proxy-node-03-ip
et vous devez l'attribuer au nouveau nœud. Vous souhaitez conserver la réservation d'adresse IP, même si vous décidez de supprimer le nœud à l'avenir.
Exécutez la commande suivante pour créer le nœud :
gcloud compute instance-groups managed create-instance proxy-cluster \ --instance proxy-node-03 \ --stateful-internal-ip address="projects/example-project/regions/us-east1/addresses/proxy-node-03-ip",auto-delete=never
La commande crée une instance nommée proxy-node-03
, attribue l'adresse IP interne statique fournie nommée proxy-node-03-ip
à l'instance et stocke la configuration avec état de l'adresse IP dans la configuration par instance correspondante.
Comme l'option auto-delete
est définie sur never
, l'adresse IP reste réservée si vous supprimez l'instance ultérieurement.
Terraform
Pour créer une VM avec une adresse IP statique prédéfinie, utilisez un ou plusieurs des blocs suivants :
preserved_state.internal_ip
pour marquer une adresse IP interne d'une interface réseau donnée comme étant avec état.preserved_state.external_ip
pour marquer une adresse IP externe d'une interface réseau donnée comme étant avec état.
L'exemple suivant configure des adresses IP statiques lors de la création de la VM dans un MIG régional. Pour en savoir plus sur la ressource utilisée dans l'exemple, consultez la section consacrée à la ressource google_compute_region_per_instance_config
.
Pour un MIG zonal, utilisez la ressource google_compute_per_instance_config
.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez la page Commandes Terraform de base.
REST
Pour créer une ou plusieurs instances dans un MIG, définir des noms d'instances personnalisés et attribuer des adresses IP statiques prédéfinies à ces instances, utilisez la méthode instanceGroupManagers.createInstances
ou regionInstanceGroupManagers.createInstances
.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/createInstances { "instances": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... } }, ... ] }
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet pour la requête.
- NAME : nom du MIG.
- REGION : pour les MIG régionaux, la région où se trouve le MIG. Pour les MIG zonaux, remplacez
regions/REGION
parzones/ZONE
et spécifiez la zone où se trouve le MIG. - INSTANCE_NAME : nom de l'instance à créer.
- NI_NAME : obligatoire. Nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES. - ADDRESS : (Facultatif) Adresse IP statique à attribuer à l'instance au format d'une réservation d'adresse IP statique, par exemple
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Vous devez et ne pouvez définir qu'un seul champ à la fois,address
ouliteral
, lorsque vous attribuez une adresse IP statique. - LITERAL : (Facultatif) Adresse IP statique à attribuer à l'instance au format littéral, par exemple
"130.211.181.55"
. Vous devez et ne pouvez définir qu'un seul champ à la fois,address
ouliteral
, lorsque vous attribuez une adresse IP statique.- Si l'adresse IP littérale fournie n'est pas encore réservée, le MIG crée automatiquement une réservation d'adresse IP correspondante.
- Si l'adresse IP littérale fournie est réservée, le MIG attribue la réservation à l'instance.
DELETE_RULE : (Facultatif) Indique ce qu'il advient d'une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
NEVER
: (Par défaut) Ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.ON_PERMANENT_INSTANCE_DELETION
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
Exemple
Vous devez ajouter une instance de VM supplémentaire à votre cluster de serveur proxy, s'exécutant sur un MIG nommé proxy-cluster
. Vous avez créé une réservation d'adresse IP interne statique nommée proxy-node-03-ip
et vous devez l'attribuer au nouveau nœud. Vous souhaitez conserver la réservation d'adresse IP, même si vous décidez de supprimer le nœud à l'avenir.
Appelez la méthode regionInstanceGroupManagers.createInstances
pour créer une instance supplémentaire :
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/proxy-cluster/createInstances { "instances": [ { "name": "proxy-node-03", "preservedState" : { "internalIPs": { "nic0" : { "ipAddress": { "address": "projects/example-project/regions/us-east1/addresses/proxy-node-03-ip" }, "autoDelete": "NEVER" } } } } ] }
La méthode crée une instance nommée proxy-node-03
, attribue l'adresse IP interne statique fournie nommée proxy-node-03-ip
à l'instance et stocke la configuration avec état de l'adresse IP dans la configuration par instance correspondante.
Comme l'option autoDelete
est définie sur NEVER
, l'adresse IP reste réservée si vous supprimez l'instance ultérieurement.
Configurer des adresses IP statiques pour une VM existante dans un groupe d'instances géré
Vous pouvez définir une adresse IP statique prédéfinie ou mettre à jour la configuration IP avec état individuellement pour une instance gérée, par exemple :
- Attribuez une adresse IP statique à une instance existante d'un groupe d'instances géré. Pour les adresses IP externes statiques, cette opération nécessite une actualisation de l'instance et, pour les adresses IP internes statiques, cela nécessite la recréation de l'instance.
- Mettez à jour la règle de suppression pour une adresse IP statique déjà attribuée. Cette opération peut être effectuée sans perturber l'instance en cours d'exécution.
Pour une instance existante sans adresse IP externe pour laquelle vous configurez une adresse IP externe avec état, le MIG ajoute une configuration d'accès à l'interface réseau correspondante avec les valeurs par défaut suivantes :
"accessConfigs": [ { "kind": "compute#accessConfig", "name": "External Nat", "natIP": "XX.XX.XX.XX", "networkTier": "PREMIUM", "type": "ONE_TO_ONE_NAT" } ]
gcloud
Pour configurer une adresse IP avec état individuellement pour une instance de VM au sein d'un MIG, ajoutez ou mettez à jour la configuration IP avec état dans la configuration par instance associée.
Si aucune configuration par instance n'existe pour l'instance, exécutez la commande gcloud compute instance-groups managed instance-configs create
avec une ou plusieurs des options suivantes :
--stateful-internal-ip
pour définir une adresse IP interne statique d'une interface réseau donnée.--stateful-external-ip
pour définir une adresse IP externe statique d'une interface réseau donnée.
gcloud compute instance-groups managed instance-configs create INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] [--instance-update-minimal-action MINIMAL_ACTION]
Si une configuration par instance existe déjà pour l'instance, exécutez la commande gcloud compute instance-groups managed instance-configs update
avec une ou plusieurs options --stateful-internal-ip
ou --stateful-external-ip
:
gcloud compute instance-groups managed instance-configs update INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --stateful-internal-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ --stateful-external-ip address=ADDRESS[,interface-name=NI_NAME][,auto-delete=DELETE_RULE] \ [--no-update-instance | --update-instance] [--instance-update-minimal-action MINIMAL_ACTION]
Remplacez les éléments suivants :
- INSTANCE_GROUP_NAME : nom du MIG.
- INSTANCE_NAME : nom de l'instance pour laquelle configurer des adresses IP avec état.
- NI_NAME : (Facultatif) Nom de l'interface réseau. S'il n'est pas spécifié, l'interface réseau principale nommée
nic0
est utilisée par défaut. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier cette option pour chaque adresse IP de chaque interface réseau. - ADDRESS : adresse IP statique à attribuer à l'instance dans l'un des formats suivants :
- Adresse. URL d'une réservation d'adresse IP statique, par exemple
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. - Littéral. Exemple :
"130.211.181.55"
.- Si l'adresse IP fournie n'est pas encore réservée, le MIG crée automatiquement une réservation d'adresse IP correspondante.
- Si l'adresse IP fournie est réservée, le groupe d'instances géré attribue la réservation à l'instance.
- Cette sous-option est facultative si l'adresse est déjà définie dans la configuration par instance de l'instance. Sinon, vous devez la renseigner.
- Si elle n'est pas spécifiée, l'adresse configurée reste inchangée.
- Adresse. URL d'une réservation d'adresse IP statique, par exemple
DELETE_RULE : (Facultatif) Indique ce qu'il advient d'une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
never
: (Par défaut) Ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.on-permanent-instance-deletion
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.- Si cette valeur est omise, la valeur par défaut est définie pour une nouvelle configuration d'adresse IP avec état. La valeur reste inchangée dans une configuration existante.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
--update-instance
: (facultatif, par défaut). Appliquez les modifications immédiatement à l'instance. Si vous utilisez l'option--no-update-instance
, les modifications sont appliquées uniquement lorsque vous recréez l'instance ou appliquez la mise à jour.MINIMAL_ACTION : (Facultatif) Effectue au minimum l'action spécifiée lorsque la mise à jour de la configuration par instance est effectivement appliquée à l'instance. Doit être utilisé avec l'option
--update-instance
. La valeur doit correspondre à l'un des éléments suivants :none
: aucune action.refresh
: appliquer les mises à jour qu'il est possible d'appliquer sans arrêter l'instance.restart
: arrêter l'instance, puis la redémarrer.replace
: recréer l'instance.
Si cet élément n'est pas spécifié, l'action la moins perturbatrice requise par la mise à jour est utilisée.
Exemple
Vous disposez d'une instance de serveur de fichiers appelée file-server
, qui est une instance unique d'un MIG avec état appelé fs-group
. Le groupe possède une configuration par instance correspondante, dans laquelle un disque de données avec état est configuré. Le serveur de fichiers n'était accessible qu'en interne, mais vous disposez désormais d'utilisateurs qui doivent y accéder en externe via une adresse IP statique. Vous avez réservé l'adresse IP externe statique en créant une réservation d'adresse file-server-ip
. Vous devez maintenant attribuer cette adresse IP à l'instance de serveur de fichiers.
Exécutez la commande suivante pour configurer l'adresse IP externe avec état pour l'instance de serveur de fichiers :
gcloud compute instance-groups managed instance-configs update fs-group \ --instance file-server \ --stateful-external-ip interface-name=nic0,address="projects/example-project/regions/us-east1/addresses/file-server-ip",auto-delete=never \ --update-instance
La commande :
- Met à jour la configuration par instance de l'instance
file-server
:- Ajoute une configuration d'adresse IP externe avec état, pointant vers la réservation d'adresse
file-server-ip
. - Conserve la configuration de disque de données avec état existante.
- Ajoute une configuration d'adresse IP externe avec état, pointant vers la réservation d'adresse
- Applique immédiatement la mise à jour de la configuration par instance à l'instance
file-server
, car l'option--update-instance
est incluse : actualise l'instance et attribue l'adresse IP externe statique de la réservationfile-server-ip
.
REST
Pour configurer des adresses IP avec état individuellement pour les instances de VM d'un MIG, ajoutez ou mettez à jour la configuration IP avec état dans les configurations par instance associées.
Si les configurations par instance n'existent pas encore pour les instances données, utilisez la méthode instanceGroupManagers.updatePerInstanceConfigs
ou regionInstanceGroupManagers.updatePerInstanceConfigs
avec une configuration avec état pour une ou plusieurs adresses IP :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/updatePerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... }, "fingerprint: "FINGERPRINT" }, ... ] }
Si des configurations par instance existent déjà pour les instances données, utilisez la méthode instanceGroupManagers.patchPerInstanceConfigs
ou regionInstanceGroupManagers.patchPerInstanceConfigs
avec une configuration avec état pour une ou plusieurs adresses IP :
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, "externalIPs": { "NI_NAME" : { "ipAddress": { "address": "ADDRESS", "literal": "LITERAL" }, "autoDelete": "DELETE_RULE" }, ... }, ... }, "fingerprint: "FINGERPRINT" }, ... ] }
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet pour la requête.
- NAME : nom du MIG.
- REGION : pour les MIG régionaux, la région où se trouve le MIG. Pour les MIG zonaux, remplacez
regions/REGION
parzones/ZONE
et spécifiez la zone où se trouve le MIG. - INSTANCE_NAME : obligatoire. Nom de l'instance pour laquelle configurer des adresses IP avec état.
- NI_NAME : obligatoire. Nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES. - ADDRESS : (Facultatif) Adresse IP statique à attribuer à l'instance au format d'une réservation d'adresse IP statique, par exemple
"projects/example-project/regions/us-east1/addresses/example-ip-name"
. Vous ne pouvez définir qu'un seul champ à la fois, adresse ou littéral, lorsque vous attribuez une adresse IP statique. - LITERAL : (Facultatif) Adresse IP statique à attribuer à l'instance au format littéral. Exemple :
"130.211.181.55"
. Vous ne pouvez définir qu'un seul champ à la fois, adresse ou littéral, lorsque vous attribuez une adresse IP statique.- Si l'adresse IP littérale fournie n'est pas encore réservée, le MIG crée automatiquement une réservation d'adresse IP correspondante.
- Si l'adresse IP littérale fournie est réservée, le MIG attribue la réservation à l'instance.
DELETE_RULE : (Facultatif) Indique ce qu'il advient d'une ressource Adresse statique associée lorsqu'une instance de VM est définitivement supprimée. Les options disponibles sont les suivantes :
NEVER
: (Par défaut) Ne supprimez jamais l'adresse IP statique. Supprimez plutôt l'attribution d'adresse lors de la suppression d'instance et conservez l'adresse réservée.ON_PERMANENT_INSTANCE_DELETION
: supprimez la réservation d'adresse IP statique lorsqu'une instance est définitivement supprimée du groupe d'instances, par exemple lorsque vous supprimez manuellement une instance ou réduisez la taille du groupe.- Si cette valeur est omise, la valeur par défaut est définie pour une nouvelle configuration d'adresse IP avec état. La valeur reste inchangée dans une configuration existante.
Quelle que soit la valeur de la règle de suppression, le groupe conserve toujours les adresses IP avec état lors des opérations d'autoréparation, de mise à jour et de recréation de l'instance.
FINGERPRINT : (Facultatif) Empreinte de la configuration donnée, si celle-ci existe déjà. Elle est utilisée pour le verrouillage optimiste. L'opération échoue si l'empreinte est différente de celle fournie, car elle indique que la configuration par instance a été modifiée depuis sa dernière lecture. Pour afficher la dernière empreinte, consultez le résultat de la méthode
listPerInstanceConfigs
pour un MIG régional ou zonal. Sifingerprint
est omis, l'opération se poursuit sans comparaison d'empreinte.
Les méthodes updatePerInstanceConfigs
et patchPerInstanceConfigs
mettent à jour les configurations par instance spécifiées, mais n'appliquent pas les mises à jour de configuration aux instances gérées associées. Les modifications sont appliquées à une instance lorsque le MIG est invité à recréer ou à mettre à jour l'instance. Vous pouvez appliquer la mise à jour manuellement pour appliquer les modifications à une instance.
Exemple
Vous disposez d'une instance de serveur de fichiers appelée file-server
, qui est une instance unique d'un MIG avec état appelé fs-group
. Le groupe possède une configuration par instance correspondante, dans laquelle un disque de données avec état est configuré. Le serveur de fichiers n'était accessible qu'en interne, mais vous disposez désormais d'utilisateurs qui doivent y accéder en externe via une adresse IP statique. Vous avez réservé l'adresse IP externe statique en créant une réservation d'adresse file-server-ip
. Vous devez maintenant attribuer cette adresse IP à l'instance de serveur de fichiers.
Pour mettre à jour la configuration par instance de file-server
avec la nouvelle adresse IP externe avec état, appelez la méthode patchPerInstanceConfigs
:
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/fs-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "file-server", "preservedState" : { "externalIPs": { "nic0" : { "ipAddress": { "address": "projects/example-project/regions/us-east1/addresses/file-server-ip" }, "autoDelete": "NEVER" } } } } ] }
La méthode corrige la configuration par instance pour l'instance file-server
:
- Ajoute une configuration d'adresse IP externe avec état, pointant vers la réservation d'adresse
file-server-ip
. - Conserve la configuration de disque de données avec état existante.
La mise à jour de la configuration n'est pas encore appliquée à l'instance de VM file-server
. Le MIG applique la mise à jour de la configuration lorsque vous recréez ou appliquez la mise à jour à l'instance ultérieurement.
Pour appliquer la mise à jour de la configuration par instance à l'instance de VM file-server
, appelez la méthode regionInstanceGroupManagers.applyUpdatesToInstances
pour l'instance :
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/gs-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-b/instances/file-server"] }
La méthode attribue l'adresse IP externe statique configurée de la réservation file-server-ip
à l'instance gérée. La méthode actualise l'instance file-server
pour attribuer une adresse IP externe.
Étant donné que le paramètre autoDelete
est défini sur NEVER
dans la configuration d'adresses IP avec état, l'adresse IP restera réservée si vous supprimez l'instance ultérieurement.
Dissocier des adresses IP statiques d'une VM existante dans un MIG
Vous devrez peut-être dissocier une adresse IP statique d'une VM existante, ce qui rend l'interface réseau éphémère pour la VM. Cela est utile dans les scénarios suivants :
- Vous redéfinissez l'architecture de votre application pour ne plus utiliser d'adresses IP statiques.
- Vous avez configuré l'adresse IP avec un état par erreur et vous souhaitez la rétablir.
Vous pouvez dissocier une adresse IP statique d'une VM existante dans le MIG et la rendre éphémère pour une VM individuelle en supprimant la configuration avec état de l'adresse IP de la configuration par instance associée, ou supprimer l'intégralité de la configuration par instance si elle ne contient aucun autre état. L'application de la modification a les effets suivants :
- L'adresse IP reste active sur l'instance, mais n'est plus avec état.
- Lorsque vous recréez ou mettez à jour l'instance, ou lorsque l'instance est autoréparée, le MIG annule l'attribution de l'adresse IP statique associée et attribue automatiquement une adresse éphémère.
- Après l'annulation de l'attribution, l'adresse IP statique reste réservée.
La suppression d'une configuration d'adresse IP avec état d'une configuration par instance n'interrompt pas l'exécution des instances de VM, sauf si vous choisissez explicitement de le faire.
Pour en savoir plus, consultez les documents suivants :
- Comment la suppression de la configuration d'adresses IP avec état des configurations par instance affecte l'état préservé
- Appliquer des mises à jour de configurations par instance
gcloud
Pour supprimer une configuration d'adresses IP avec état de la configuration par instance associée, utilisez la commande gcloud compute instance-groups managed instance-configs update
avec les options --remove-stateful-internal-ips
ou --remove-stateful-external-ips
:
gcloud compute instance-groups managed instance-configs update INSTANCE_GROUP_NAME \ --instance INSTANCE_NAME \ --remove-stateful-internal-ips NI_NAME[,NI_NAME,...] \ --remove-stateful-external-ips NI_NAME[,NI_NAME,...] [--no-update-instance | --update-instance] \ [--instance-update-minimal-action MINIMAL_ACTION]
Remplacez les éléments suivants :
- INSTANCE_GROUP_NAME : nom du MIG.
- INSTANCE_NAME : obligatoire. Nom de l'instance pour laquelle supprimer la configuration d'adresses IP avec état.
- NI_NAME : obligatoire. Nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES. --update-instance
: (facultatif, par défaut). Appliquez les modifications immédiatement à l'instance. Si vous utilisez l'option--no-update-instance
, les modifications sont appliquées uniquement lorsque vous recréez l'instance ou appliquez la mise à jour.MINIMAL_ACTION : (Facultatif) Effectue au minimum l'action spécifiée lorsque la mise à jour de la configuration par instance est effectivement appliquée à l'instance. Cette option ne peut être utilisée qu'avec l'option
--update-instance
. La valeur doit correspondre à l'un des éléments suivants :none
: aucune action.refresh
: appliquer les mises à jour qu'il est possible d'appliquer sans arrêter l'instance.restart
: arrêter l'instance, puis la redémarrer.replace
: recréer l'instance.
Si cet élément n'est pas spécifié, l'action la moins perturbatrice requise par la mise à jour est utilisée.
Exemple
Votre application a été exposée aux utilisateurs via des adresses IP statiques externes publiées sur les instances de VM d'un groupe d'instances géré nommé example-group
.
Vous avez redéfini l'architecture de votre service en déployant un équilibreur de charge devant le MIG et en acheminant le trafic vers les VM gérées. Vous n'avez plus besoin de gérer les adresses IP externes statiques et vous souhaitez rendre éphémères les adresses IP externes des VM.
Pour rendre éphémères les adresses IP externes avec état des VM dans un MIG, exécutez la commande suivante pour chaque instance, par exemple pour node-1
:
gcloud compute instance-groups managed instance-configs update example-group \ --instance node-1 \ --remove-stateful-external-ips nic0 \ --update-instance
La commande :
- Supprime la configuration avec état de l'adresse IP externe dans l'interface réseau
nic0
de la configuration par instance pournode-1
. - Applique immédiatement la mise à jour de la configuration par instance à l'instance de VM
node-1
, car l'option--update-instance
est incluse. L'instance de VM n'est pas interrompue et continue de diffuser à partir de la même adresse IP, qui n'est plus avec état. Le MIG supprime la référence à la réservation d'adresse IP statique du fichierpreservedStateFromConfig
de l'instance gérée et traite l'adresse IP externe comme éphémère. Le MIG attribue automatiquement une adresse IP externe lors d'événements ultérieurs de recréation, de mise à jour ou d'autoréparation d'instances. - Après avoir été non attribuée, l'adresse IP statique d'origine reste réservée. Vous pouvez libérer l'adresse IP si vous n'en avez plus besoin.
REST
Pour supprimer une configuration d'adresses IP avec état de la configuration par instance associée, utilisez la méthode instanceGroupManagers.patchPerInstanceConfigs
ou regionInstanceGroupManagers.patchPerInstanceConfigs
:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "INSTANCE_NAME", "preservedState" : { "internalIPs": { "NI_NAME" : null }, "externalIPs": { "NI_NAME" : null } }, "fingerprint: "FINGERPRINT" }, ... ] }
Remplacez les éléments suivants :
- PROJECT_ID : ID du projet pour la requête.
- NAME : nom du MIG.
- REGION : pour les MIG régionaux, la région où se trouve le MIG. Pour les MIG zonaux, remplacez
regions/REGION
parzones/ZONE
et spécifiez la zone où se trouve le MIG. - INSTANCE_NAME : obligatoire. Nom de l'instance pour laquelle supprimer la configuration d'adresses IP avec état.
- NI_NAME : obligatoire. Nom de l'interface réseau. L'interface réseau principale est nommée
nic0
. Si vous disposez de plusieurs interfaces réseau, vous pouvez spécifier plusieurs NI_NAMES. - FINGERPRINT : (Facultatif) Empreinte de la configuration donnée, si celle-ci existe déjà. Elle est utilisée pour le verrouillage optimiste. L'opération échoue si l'empreinte est différente de celle fournie, car elle indique que la configuration par instance a été modifiée depuis sa dernière lecture. Pour afficher la dernière empreinte, consultez le résultat de la méthode
listPerInstanceConfigs
pour un MIG régional ou zonal. Sifingerprint
est omis, l'opération se poursuit sans comparaison d'empreinte.
La méthode patchPerInstanceConfigs
met à jour les configurations par instance spécifiées, mais n'applique pas les mises à jour de configuration aux instances gérées associées. Les modifications sont appliquées à une instance lorsque le MIG est invité à recréer ou à mettre à jour l'instance. Vous pouvez appliquer la mise à jour manuellement pour appliquer les modifications à une instance.
Exemple
Votre application a été exposée aux utilisateurs via des adresses IP statiques externes publiées sur les instances de VM d'un groupe d'instances géré nommé example-group
. Vous avez redéfini l'architecture de votre service en déployant un équilibreur de charge devant le MIG et en acheminant le trafic vers les VM gérées. Vous n'avez plus besoin de gérer les adresses IP externes statiques et vous souhaitez rendre éphémères les adresses IP externes des VM.
Pour rendre éphémères les adresses IP externes avec état des VM dans un MIG, exécutez la méthode suivante pour chaque instance, par exemple pour node-1
, et fournissez la valeur null
à la configuration avec état de l'interface réseau :
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group/patchPerInstanceConfigs { "perInstanceConfigs": [ { "name": "node-1", "preservedState" : { "externalIPs": { "nic0" : null } } } ] }
La méthode supprime la configuration des adresses IP avec état dans l'interface réseau nic0
de la configuration par instance pour node-1
. La mise à jour de la configuration n'est pas encore appliquée à l'instance de VM node-1
. Le MIG applique la mise à jour de la configuration lors de la prochaine recréation ou mise à jour de l'instance.
Pour appliquer la mise à jour de la configuration par instance à l'instance de VM node-1
, appelez la méthode regionInstanceGroupManagers.applyUpdatesToInstances
pour l'instance :
POST https://compute.googleapis.com/compute/v1/projects/example-project/regions/us-east1/instanceGroupManagers/example-group/applyUpdatesToInstances { "instances": ["/zones/us-east1-c/instances/node-1"] }
Le MIG supprime la référence à la réservation d'adresse IP statique du champ preservedStateFromConfig
pour l'instance node-1
et traite l'adresse IP comme éphémère. Le groupe d'instances géré attribue automatiquement une adresse IP externe aux événements ultérieurs de recréation, de mise à jour ou d'autoréparation d'instances.
Après avoir été non attribuée, l'adresse IP statique d'origine reste réservée. Vous pouvez libérer l'adresse IP si vous n'en avez plus besoin.
Supprimer la configuration avec état
Pour supprimer la configuration d'une règle avec état pour toutes les VM dans un MIG, consultez les documents suivants :
- Pour ne supprimer que les adresses IP avec état, consultez la page Déclarer des adresses IP avec état comme étant sans état.
- Pour supprimer toutes les configurations avec état d'une règle avec état, consultez la page Supprimer une règle avec état.
Pour supprimer la configuration d'une configuration par instance pour une VM spécifique dans un MIG, consultez les documents suivants :
- Pour ne supprimer que les adresses IP avec état, consultez la page Dissocier une adresse IP statique d'une VM existante dans un MIG.
- Pour supprimer toutes les configurations avec état d'une configuration par instance, consultez la page Supprimer une configuration avec état pour une VM spécifique.
Nettoyer les adresses IP statiques inutilisées
Lorsque vous configurez une adresse IP avec état pour les instances gérées d'un groupe, vous pouvez choisir de libérer manuellement ou automatiquement la réservation d'adresses IP statiques associées lorsqu'une instance est supprimée définitivement :
- Pour libérer automatiquement les réservations d'adresses IP statiques lors de la suppression permanente d'une instance, définissez le paramètre
autoDelete
surON_PERMANENT_INSTANCE_DELETION
. - Pour libérer manuellement des réservations d'adresses IP statiques, définissez le paramètre
autoDelete
surNEVER
. Pour nettoyer les réservations d'adresses IP statiques non utilisées, par exemple, afin d'éviter des frais inutiles, consultez les documents suivants :
Si vous avez indiqué au MIG de ne jamais supprimer les réservations d'adresses IP associées, les adresses IP statiques restent réservées une fois que les instances correspondantes ou le MIG n'existent plus.
Votre avis
Nous souhaitons en savoir plus sur vos cas d'utilisation, les défis que vous rencontrez ou vos impressions sur les MIG avec état. Vous pouvez nous faire part de vos commentaires à l'adresse suivante : mig-discuss@google.com.
Étapes suivantes
- Découvrez comment appliquer, afficher et supprimer une configuration avec état.
- Obtenez des informations sur un MIG spécifique et ses instances gérées, y compris l'état et les propriétés de la VM.
- Découvrez comment utiliser des instances gérées.