Chaque entrée de métadonnées est stockée sur le serveur de métadonnées en tant que paire clé/valeur. Les clés de métadonnées sont sensibles à la casse. Vos clés peuvent être des clés de métadonnées prédéfinies ou personnalisées.
Les métadonnées personnalisées vous permettent de créer et d'utiliser vos propres paires clé/valeur de métadonnées sur une VM individuelle ou sur un projet. Vous pouvez ajouter de nouvelles clés de métadonnées personnalisées, mettre à jour les valeurs de vos clés existantes et supprimer toutes les entrées de métadonnées personnalisées lorsque vous n'en avez pas besoin. La définition de métadonnées personnalisées est utile pour transmettre des valeurs arbitraires aux VM d'un projet. Cette opération permet également de créer des scripts de démarrage et d'arrêt.
Ce document fournit des informations sur la façon d'effectuer les opérations suivantes :
- Ajouter ou mettre à jour des métadonnées personnalisées sur des VM
- Supprimer des métadonnées personnalisées des VM
Avant de commencer
- Examinez les principes de base de la définition, la classification et l'organisation des métadonnées de VM pour Compute Engine. Pour en savoir plus, consultez la page À propos des métadonnées de VM.
-
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.
-
Administrateur d'instances Compute (v1) (
roles/compute.instanceAdmin.v1
) sur la VM ou le projet - Si vos VM utilisent des comptes de service : Utilisateur du compte de service (
roles/iam.serviceAccountUser
) sur le compte de service ou le projet -
Si vos VM utilisent des comptes de service :
iam.serviceAccounts.actAs
-
Pour ajouter, mettre à jour ou supprimer des métadonnées de projet personnalisées, procédez comme suit :
compute.projects.get
compute.projects.setCommonInstanceMetadata
-
Pour ajouter, mettre à jour ou supprimer des métadonnées zonales personnalisées, procédez comme suit :
-
compute.instanceSettings.get
-
compute.instanceSettings.update
-
-
Pour ajouter, mettre à jour ou supprimer des métadonnées d'instance personnalisées, procédez comme suit :
compute.instances.get
compute.instances.setMetadata
- Chaque métadonnée
key
est limitée à 128 octets. Chaque métadonnée
key
est sensible à la casse.Pour les métadonnées zonales, Compute Engine ne vous permet pas de créer deux clés de métadonnées distinctes avec la même chaîne, même si elles sont écrites dans des cases différents. Par exemple, si vous disposez d'une clé de métadonnées personnalisée existante pour des métadonnées zonales appelées
project-zonal-metadata-key
, vous ne pouvez pas créer de clés de métadonnées telles queProject-Zonal-Metadata-Key
,PROJECT-ZONAL-METADATA-KEY
ou toute autre variante de la même chaîne.Chaque métadonnée
value
est limitée à 256 Ko.Chaque métadonnée
value
est sensible à la casse, à l'exception des valeurs booléennes.- Définissez des métadonnées personnalisées d'un projet pour ajouter ou mettre à jour des métadonnées personnalisées pour toutes les VM de votre projet.
- Définissez des métadonnées zonales personnalisées pour ajouter ou mettre à jour des métadonnées personnalisées avec un champ d'application zonal pour les VM du projet.
- Définissez des métadonnées d'instance personnalisées pour ajouter ou mettre à jour des métadonnées d'instance personnalisées pour une VM spécifique.
Dans la console Google Cloud, accédez à la page Métadonnées.
Cliquez sur
Modifier en haut de la page.Pour ajouter des entrées de métadonnées de projet personnalisées, procédez comme suit :
- Accédez au bas de la page, puis cliquez sur Ajouter un élément.
- Dans le champ Clé, saisissez le nom de votre clé de métadonnées personnalisées.
- Dans le champ Valeur, saisissez la valeur des métadonnées personnalisées du projet.
- Facultatif. Pour ajouter d'autres entrées de métadonnées de projet personnalisées, répétez les étapes précédentes pour chaque entrée de métadonnées que vous souhaitez ajouter.
- Pour terminer d'ajouter des entrées de métadonnées de projet personnalisées, cliquez sur Enregistrer.
Pour modifier des entrées de métadonnées de projet personnalisées existantes, procédez comme suit:
- Accédez à l'entrée de métadonnées que vous souhaitez modifier.
- Pour mettre à jour le nom d'une clé de métadonnées personnalisées spécifique, saisissez le nouveau nom dans le champ Clé de cette entrée.
- Pour mettre à jour la valeur d'une entrée de métadonnées de projet personnalisées, saisissez la nouvelle valeur dans le champ Valeur de cette entrée.
- Facultatif. Pour supprimer une entrée de métadonnées de projet personnalisées spécifique, cliquez sur l'icône de suppression à côté de l'entrée de métadonnées.
- Pour modifier plusieurs entrées de métadonnées de projet personnalisées, répétez les étapes précédentes pour chaque entrée de métadonnées que vous souhaitez modifier.
- Pour terminer de modifier les entrées de métadonnées personnalisées de votre projet, cliquez sur Enregistrer.
KEY
: nom de votre clé de métadonnéesVALUE
: valeur stockée pour cette cléFacultatif. Pour effectuer un verrouillage optimiste, vous pouvez éventuellement fournir une empreinte.
Une empreinte est une chaîne aléatoire de caractères générée par Compute Engine. L'empreinte change après chaque requête. Si vous fournissez une empreinte non concordante, votre requête est refusée.
Si vous ne fournissez pas d'empreinte, aucune vérification de cohérence n'est effectuée et la requête
projects().setCommonInstanceMetadata
aboutit. Ce comportement est différent des méthodesinstances().setMetadata
etinstanceSettings().patch
, où une empreinte est toujours requise.Pour obtenir l'empreinte actuelle d'un projet, appelez la méthode
project().get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
Le résultat ressemble à ce qui suit :
{ "name": "myproject", "commonInstanceMetadata": { "kind": "compute#metadata", "fingerprint": "FikclA7UBC0=", ... } }
Envoyez ensuite une requête à la méthode
projects().setCommonInstanceMetadata
, puis définissez les paires clé/valeur des métadonnées personnalisées :POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "fingerprint": "FikclA7UBC0=", "items": [ { "key": "foo", "value": "bar" } ] }
- Créer des clés de métadonnées personnalisées pour une zone spécifique d'un projet et définir des métadonnées pour toutes les VM de cette zone dans ce projet.
- Mettre à jour les valeurs des entrées de métadonnées zonales personnalisées existantes pour toutes les VM d'une zone spécifique d'un projet.
- Pour les clés de métadonnées personnalisées existantes dotées de valeurs de métadonnées de projet, remplacez ces valeurs de métadonnées de projet dans des zones spécifiques et définissez plutôt des métadonnées zonales. Une fois que vous avez défini des métadonnées zonales pour ces clés dans une zone spécifique, toutes les VM de cette zone dans ce projet utilisent les valeurs de métadonnées zonales de ces clés.
- Si vous ajoutez une valeur de métadonnées zonale de projet pour une clé de métadonnées ayant déjà une valeur de projet, Compute Engine remplace la valeur de projet pour les VM de la zone spécifiée et met à jour le répertoire
/project
avec la valeur zonale du projet. - Si vous ajoutez une valeur de métadonnées à l'échelle du projet pour une clé de métadonnées ayant déjà une valeur de métadonnées zonale, rien ne change. Compute Engine conserve la valeur des métadonnées zonales dans le répertoire
/project
de la zone spécifique. - Si vous ne spécifiez pas de valeur de métadonnées zonale de projet pour une clé de métadonnées personnalisée dans une zone spécifique, mais que la clé a une valeur de métadonnées de projet, vos VM continueront d'avoir les valeurs de métadonnées de projet dans ces zones.
Pour ajouter ou mettre à jour des métadonnées zonales personnalisées, exécutez la commande
gcloud compute project-zonal-metadata add
.gcloud compute project-zonal-metadata add \ --zone=ZONE \ --project=PROJECT_ID \ --metadata=KEY1=VALUE1,KEY2=VALUE2,...
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone dans laquelle vous souhaitez ajouter ou mettre à jour les métadonnées zonales du projet.KEY1
,KEY2
, etc. : clés de métadonnées personnalisées pour lesquelles vous souhaitez ajouter ou mettre à jour des valeurs de métadonnées zonales.VALUE1
,VALUE2
, etc. : valeurs de métadonnées zonales que vous souhaitez définir pour vos clés de métadonnées personnalisées existantes et nouvelles. En fonction de votre clé et de votre valeur de métadonnées personnalisées, l'une des situations suivantes se présente :Si la clé de métadonnées personnalisées correspondante est une clé existante contenant des métadonnées de projet, Compute Engine remplace la valeur de métadonnées du projet de la clé par la valeur de métadonnées zonale spécifiée dans la zone spécifiée. Toutes les VM de la zone spécifiée dans le projet héritent de ces métadonnées zonales nouvellement spécifiées pour cette clé et les VM des autres zones continuent de conserver leurs valeurs de métadonnées zonales ou de projet dominantes. Si vous effectuez des mises à jour ultérieures de la valeur de métadonnées du projet pour cette clé, les VM de cette zone du projet ne sont pas affectées et continuent à utiliser la valeur de métadonnées zonales pour cette clé.
Si la clé de métadonnées personnalisées correspondante est une nouvelle clé de métadonnées qui n'est pas utilisée pour les métadonnées de projet ou zonales existantes, Compute Engine crée la clé de métadonnées personnalisées et définit cette valeur comme métadonnées zonales dans la zone spécifiée.
Si la clé de métadonnées personnalisées correspondante est une clé de métadonnées existante avec une valeur de métadonnées zonale dans la zone spécifiée:
- Si la valeur de métadonnées spécifiée est différente de la valeur existante, Compute Engine met à jour l'entrée de métadonnées zonales avec la nouvelle valeur.
- Si la valeur de métadonnées spécifiée est identique à la valeur existante, l'entrée de métadonnées zonale reste inchangée.
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"value-1"
et"key-2":"value-2"
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"value-1"
,"key-2":"value-2"
et"key-4":"value-4"
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
et"key-4":"new-value-4"
Obtenez l'empreinte actuelle et affichez les paires clé/valeur existantes pour le projet dans cette zone.
Pour effectuer un verrouillage optimiste, vous devez fournir une empreinte. Une empreinte est une chaîne aléatoire de caractères générée par Compute Engine. L'empreinte change chaque fois que vous effectuez une requête d'ajout, de mise à jour ou de suppression de métadonnées zonales. Si vous fournissez une empreinte non concordante, Compute Engine rejette la requête.
Si vous ne fournissez pas d'empreinte, une vérification de cohérence est effectuée et votre requête de mise à jour échoue. Cela permet de n'effectuer qu'une seule requête à la fois, évitant ainsi les conflits. Ce comportement correspond à
instances().setMetadata
, où une empreinte est toujours requise.Pour obtenir l'empreinte actuelle des métadonnées zonales, envoyez une requête
GET
à la méthodeinstanceSettings().get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone dans laquelle vous souhaitez définir les métadonnées zonales.
Voici un exemple de résultat de cette requête :
{ "fingerprint": "VlRIl8dx9vk=", "metadata": { ... } }
Pour ajouter ou mettre à jour les métadonnées zonales, envoyez une requête
PATCH
à la méthodeinstanceSettings().patch
. Vous devez fournir les éléments suivants avec votre requête :Un masque de mise à jour. Utilisez le paramètre de requête
update_mask
. Le masque de mise à jour doit contenir les clés de métadonnées pour les éléments suivants :- Nouvelles métadonnées zonales que vous souhaitez ajouter
- Métadonnées zonales personnalisé existantes dont vous souhaitez mettre à jour les valeurs
Vous devez ajouter la chaîne
metadata.items.
comme préfixe pour chaque clé, par exemple,metadata.items.key1,metadata.items.key3
.Dans le corps de la requête, fournissez les informations suivantes :
- Clés et valeurs de métadonnées des nouvelles métadonnées zonales personnalisées que vous souhaitez ajouter
- Clés et valeurs de métadonnées des métadonnées zonales personnalisées existantes que vous souhaitez mettre à jour
- Valeur d'empreinte actuelle
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS { "fingerprint": "FINGER_PRINT", "metadata": { "items": { "KEY1": "VALUE1", "KEY2": "VALUE2", ... } } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet.ZONE
: zone dans laquelle vous souhaitez définir les métadonnées zonales.PREFIXED_METADATA_KEYS
: liste des clés de métadonnées pour le code suivant, où chaque clé est préfixée par la chaînemetadata.items.
:- Nouvelles métadonnées zonales que vous souhaitez ajouter
- Métadonnées zonales personnalisé existantes dont vous souhaitez mettre à jour les valeurs
Par exemple, supposons que vos clés de métadonnées zonales actuelles dans une zone spécifique soient
key-1
etkey-2
. Si vous souhaitez ajouter une clékey-3
pour les métadonnées zonales dans cette zone et mettre à jour les métadonnées zonales de l'une des clés existantes,key-1
, votre masque de mise à jour doit comporter la chaîne suivante :metadata.items.key1,metadata.items.key3
FINGER_PRINT
: valeur d'empreinte actuelle.KEY1
,KEY2
, etc. : clés de métadonnées zonales personnalisées pour lesquelles vous souhaitez ajouter ou mettre à jour des valeurs. Spécifiez toutes les clés de métadonnées zonales personnalisées que vous avez spécifiées dans le masque de mise à jour.VALUE1
,VALUE2
, etc. : valeurs de métadonnées zonales que vous souhaitez définir pour vos clés de métadonnées personnalisées existantes et nouvelles. En fonction de votre clé et de votre valeur de métadonnées personnalisées, l'une des situations suivantes se présente :- Si la clé de métadonnées personnalisées correspondante est une clé existante contenant des métadonnées de projet, Compute Engine remplace la valeur de métadonnées du projet de la clé par la valeur de métadonnées zonale spécifiée dans la zone spécifiée. Toutes les VM de la zone spécifiée dans le projet héritent de ces métadonnées zonales nouvellement spécifiées pour cette clé et les VM des autres zones continuent de conserver leurs valeurs de métadonnées zonales ou de projet dominantes. Si vous effectuez des mises à jour ultérieures de la valeur de métadonnées du projet pour cette clé, les VM de cette zone du projet ne sont pas affectées et continuent à utiliser la valeur de métadonnées zonales pour cette clé.
- Si la clé de métadonnées personnalisées correspondante est une nouvelle clé de métadonnées qui n'est pas utilisée pour les métadonnées de projet ou zonales existantes, Compute Engine crée la clé de métadonnées personnalisées et définit cette valeur comme métadonnées zonales dans la zone spécifiée.
Si la clé de métadonnées personnalisées correspondante est une clé de métadonnées existante avec une valeur de métadonnées zonale dans la zone spécifiée:
Si la valeur de métadonnées spécifiée est différente de la valeur existante, Compute Engine met à jour l'entrée de métadonnées zonales avec la nouvelle valeur.
Si la valeur de métadonnées spécifiée est identique à la valeur existante, l'entrée de métadonnées zonale reste inchangée.
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"value-1"
et"key-2":"value-2"
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"value-1"
,"key-2":"value-2"
et"key-4":"value-4"
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
et"key-4":"new-value-4"
- Pour les nouvelles VM, vous pouvez ajouter des métadonnées personnalisées lors de la création de la VM.
- Pour les VM existantes, vous pouvez ajouter ou mettre à jour des métadonnées personnalisées lorsque la VM est en cours d'exécution.
Accédez à la page Créer une instance dans Google Cloud Console.
Spécifiez les détails de la VM.
Développez la section Options avancées et procédez comme suit :
- Développez la section Gestion.
- Pour ajouter plusieurs paires clé/valeur pour vos métadonnées personnalisées, dans la section Métadonnées, cliquez sur Ajouter un élément.
Pour créer la VM, cliquez sur Créer.
VM_NAME
: nom de votre VMKEY
: nom de votre clé de métadonnéesVALUE
: valeur stockée pour cette cléPROJECT_ID
: ID de votre projet.ZONE
: zone dans laquelle créer la VMMACHINE_TYPE
: type de machine prédéfini ou personnalisé pour la nouvelle VMVM_NAME
: nom de la nouvelle VMKEY
: nom de votre clé de métadonnéesVALUE
: valeur stockée pour cette clé- Dans Google Cloud Console, accédez à la page Instances de VM.
- Cliquez sur l'instance pour laquelle vous souhaitez mettre à jour les métadonnées.
- Cliquez sur le bouton Modifier en haut de la page.
- Sous Métadonnées personnalisées, cliquez sur Ajouter un élément ou modifiez les entrées de métadonnées existantes.
- Enregistrez les modifications.
VM_NAME
: nom de votre VMKEY
: nom de votre clé de métadonnéesVALUE
: valeur stockée pour cette cléObtenez l'empreinte actuelle et affichez les paires clé/valeur existantes pour la VM. Pour ce faire, appelez la méthode
instances().get
.Une empreinte est une chaîne aléatoire de caractères générée par Compute Engine et utilisée pour effectuer un verrouillage optimal. Pour mettre à jour la VM, vous devez fournir la valeur d'empreinte correspondante. L'empreinte change après chaque requête et si vous fournissez une empreinte non concordante, votre requête est refusée. Cela permet de n'effectuer qu'une seule mise à jour à la fois, évitant ainsi les conflits.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAMERemplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone où se trouve votre VM.VM_NAME
: nom de votre VM
Le résultat ressemble à ce qui suit :
{ ... "name": "example-instance", "metadata": { "kind": "compute#metadata", "fingerprint": "zhma6O1w2l8=" "items": [ { "key": "foo", "value": "bar" } ] }, ... }
Envoyez une requête à la méthode
instances().setMetadata
. Fournissez la liste des nouvelles valeurs de métadonnées et la valeurfingerprint
actuelle.Si la VM possède des paires clé/valeur existantes que vous souhaitez conserver, vous devez les inclure dans la requête avec les nouvelles paires clé/valeur.
Exemple
POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": "zhma6O1w2l8=", "items": [ { "key": "foo", "value": "bar" }, { "key": "baz", "value": "bat" } ] }Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone où se trouve votre VM.VM_NAME
: nom de votre VM
- Supprimez les métadonnées personnalisées d'un projet pour supprimer les métadonnées personnalisées définies pour toutes les VM d'un projet.
- Supprimez les métadonnées zonales personnalisées pour supprimer les métadonnées personnalisées définies pour toutes les VM d'une zone spécifique d'un projet.
- Supprimez les métadonnées d'instances personnalisées pour supprimer les métadonnées de VM définies pour une VM spécifique.
Dans Google Cloud Console, accédez à la page Métadonnées.
Cliquez sur
Modifier en haut de la page.Accédez à l'entrée de métadonnées que vous souhaitez supprimer, puis cliquez sur le bouton de suppression
situé à côté de cette entrée.Répétez cette étape pour chaque entrée de métadonnées que vous souhaitez supprimer.
Pour terminer la suppression des entrées de métadonnées personnalisées du projet, cliquez sur Enregistrer.
- Si vous souhaitez supprimer les entrées de métadonnées personnalisées pour des clés spécifiques, spécifiez ces clés à l'aide de l'option
--keys
et excluez les valeurs de ces clés. - Si vous souhaitez supprimer toutes les métadonnées personnalisées de la VM, spécifiez l'option
--all
. KEY1
,KEY2
, etc. : clés de métadonnées d'instance personnalisées que vous souhaitez supprimer.PROJECT_ID
: ID de votre projet.ZONE
: zone dans laquelle vous souhaitez supprimer les métadonnées zonales.KEY1
,KEY2
, etc. : clés de métadonnées zonales personnalisées que vous souhaitez supprimer.- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
,"key-3":"value-3"
et"key-4":"new-value-4"
"key-1":"value-a"
"key-2":"value-b"
"key-3":"value-c"
Obtenez l'empreinte actuelle et affichez les paires clé/valeur existantes pour le projet dans cette zone.
Pour effectuer un verrouillage optimiste, vous devez fournir une empreinte. Une empreinte est une chaîne aléatoire de caractères générée par Compute Engine. L'empreinte change chaque fois que vous effectuez une requête d'ajout, de mise à jour ou de suppression de métadonnées zonales. Si vous fournissez une empreinte non concordante, Compute Engine rejette la requête.
Si vous ne fournissez pas d'empreinte, une vérification de cohérence est effectuée et votre requête de suppression n'aboutit pas. Cela permet de n'effectuer qu'une seule requête à la fois, évitant ainsi les conflits. Ce comportement correspond à
instances().setMetadata
, où une empreinte est toujours requise.Pour obtenir l'empreinte actuelle d'un projet, appelez la méthode
instanceSettings().get
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone dans laquelle vous souhaitez supprimer les métadonnées zonales.
Voici un exemple de résultat de cette requête :
{ "fingerprint": "FikclA7UBC0=", "metadata": { ... } }
Pour supprimer des métadonnées zonales personnalisées, exécutez une requête
PATCH
sur la méthodeinstanceSettings().patch
en excluant les clés de métadonnées pour lesquelles vous souhaitez supprimer les métadonnées zonales du corps de la requête. Vous devez fournir les éléments suivants avec votre requête :Un masque de mise à jour. Utilisez le paramètre de requête
update_mask
. Le masque de mise à jour doit contenir toutes les clés de métadonnées zonales existantes dont vous souhaitez supprimer les métadonnées. Vous devez ajouter la chaînemetadata.items.
comme préfixe pour chaque clé, par exemple,metadata.items.key1,metadata.items.key3
.Dans le corps de la requête, indiquez uniquement la valeur actuelle de l'empreinte. Excluez toutes les clés de métadonnées personnalisées que vous avez spécifiées dans le masque de mise à jour. Si vous incluez l'une des clés de métadonnées dans le masque de mise à jour et dans le corps de la requête, Compute Engine ne supprime pas les métadonnées zonales de ces clés.
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS { "fingerprint": "FINGER_PRINT", "metadata": { "items": { } } }
Remplacez les éléments suivants :
PROJECT_ID
: ID du projet.ZONE
: zone dans laquelle vous souhaitez supprimer les métadonnées zonales.PREFIXED_METADATA_KEYS
: liste de toutes les clés de métadonnées personnalisées existantes pour lesquelles vous souhaitez supprimer des métadonnées zonales, où chaque clé est préfixée par la chaînemetadata.items.
. Pour vous assurer que votre requête de suppression aboutit, excluez ces clés de métadonnées du corps de la requête. Si vous incluez l'une des clés de métadonnées dans le masque de mise à jour et dans le corps de la requête, Compute Engine ne supprime pas les métadonnées zonales de ces clés.Par exemple, supposons que vos clés de métadonnées actuelles avec des métadonnées zonales soient
key-1
,key-2
,key-3
etkey-4
, et que vous souhaitez supprimer les entrées de métadonnées zonales pourkey-1
etkey-2
, votre masque de mise à jour doit comporter la chaîne suivante:metadata.items.key1,metadata.items.key2
FINGER_PRINT
: valeur d'empreinte actuelle.
- Métadonnées du projet:
"key-1":"value-a"
,"key-2":"value-b"
et"key-3":"value-c"
- Métadonnées zonales dans la zone
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
,"key-3":"value-3"
et"key-4":"new-value-4"
- Métadonnées du projet:
"key-1":"value-a"
et"key-2":"value-b"
- Métadonnées zonales dans la zone
us-central1-a
:"key-3":"value-3"
et"key-4":"new-value-4"
- Dans Google Cloud Console, accédez à la page Instances de VM.
- Dans la colonne Nom, cliquez sur le nom de la VM pour laquelle vous souhaitez supprimer les métadonnées.
- Cliquez sur Modifier en haut de la page.
- Dans la section Métadonnées, cliquez sur Supprimer l'élément pour chacune des entrées de métadonnées que vous souhaitez supprimer.
- Pour confirmer vos modifications et supprimer les métadonnées d'instance personnalisées, cliquez sur Enregistrer.
- Si vous souhaitez supprimer les entrées de métadonnées personnalisées pour des clés spécifiques, spécifiez ces clés à l'aide de l'option
--keys
et excluez les valeurs de ces clés. - Si vous souhaitez supprimer toutes les métadonnées personnalisées de la VM, spécifiez l'option
--all
. PROJECT_ID
: ID de votre projet.ZONE
: zone de votre VMVM_NAME
: nom de votre VMKEY1
,KEY2
, etc. : clés de métadonnées d'instance personnalisées que vous souhaitez supprimer.Obtenez l'empreinte actuelle et affichez les paires clé/valeur existantes pour la VM. Pour ce faire, appelez la méthode
instances().get
.Une empreinte est une chaîne aléatoire de caractères générée par Compute Engine et utilisée pour effectuer un verrouillage optimal. Pour mettre à jour la VM, vous devez fournir la valeur d'empreinte correspondante. L'empreinte change après chaque requête et si vous fournissez une empreinte non concordante, votre requête est refusée. Cela permet de n'effectuer qu'une seule mise à jour à la fois, évitant ainsi les conflits.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAMERemplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone de votre VMVM_NAME
: nom de votre VM
Le résultat ressemble à ce qui suit :
{ ... "name": "example-instance", "metadata": { "kind": "compute#metadata", "fingerprint": "zhma6O1w2l8=" "items": [ { "key": "key-1", "value": "value-1" } { "key": "key-2", "value": "value-2" } ] }, ... }
Envoyez une requête à la méthode
instances().setMetadata
. Vous devez inclure la valeur actuelle d'empreinte des métadonnées pour que votre requête aboutisse.Pour supprimer toutes les paires clé/valeur des métadonnées personnalisées d'une VM, dans la propriété
items
, excluez les clés de métadonnées pour lesquelles vous souhaitez supprimer les valeurs de métadonnées.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": "FINGER_PRINT" "items": [ { "key": "KEY1" "value": "VALUE1" } { "key": "KEY2" "value": "VALUE2" } ... ] }Pour supprimer toutes les métadonnées d'instances personnalisées de la VM, excluez complètement la propriété
items
.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": FINGER_PRINT }
Remplacez les éléments suivants :
PROJECT_ID
: ID de votre projet.ZONE
: zone de votre VMVM_NAME
: nom de votre VMFINGER_PRINT
: valeur d'empreinte actuelle.KEY1
,KEY2
, etc. : clés de métadonnées d'instance personnalisées que vous souhaitez supprimer.VALUE1
,VALUE2
, etc. : valeurs des clés de métadonnées d'instance personnalisées que vous souhaitez supprimer.
- Apprenez-en plus sur les métadonnées des VM.
- Découvrez comment afficher et interroger des métadonnées.
- Obtenez plus d'informations sur l'exécution des scripts de démarrage ou des scripts d'arrêt sur le serveur de métadonnées.
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.
Rôles requis
Pour obtenir les autorisations nécessaires pour définir ou supprimer des métadonnées personnalisées sur des VM, demandez à votre administrateur de vous accorder les rôles IAM suivants :
Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.
Ces rôles prédéfinis contiennent les autorisations requises pour définir ou supprimer des métadonnées personnalisées sur des VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :
Autorisations requises
Les autorisations suivantes sont requises pour définir ou supprimer des métadonnées personnalisées sur des VM :
Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.
Limites
Compute Engine applique une limite totale combinée de 512 Ko pour toutes les entrées de métadonnées. Des limites de taille maximale sont également appliquées à chaque
key
etvalue
de la manière suivante:Par exemple, les clés SSH sont stockées en tant que métadonnées personnalisées sous la clé
ssh-keys
. Si le contenu des métadonnées ou la valeur (value
) de cette clé dépasse la limite de 256 ko, vous ne pouvez pas ajouter de clés SSH. Si vous atteignez cette limite, envisagez de supprimer les clés inutilisées afin de libérer de l'espace de métadonnées pour les nouvelles clés.En outre, si vous fournissez directement le contenu des scripts de démarrage et d'arrêt, ces contenus peuvent également être stockés en tant que métadonnées personnalisées et être comptabilisés dans ces limites de taille. Pour éviter cette situation, stockez le script de démarrage ou d'arrêt en tant que fichier hébergé sur un emplacement externe, tel que Cloud Storage, puis fournissez l'URL du script de démarrage lors de la création d'une VM. De cette façon, ces fichiers sont téléchargés sur la VM, plutôt que stockés sur le serveur de métadonnées.
Valeurs booléennes
Dans les champs qui acceptent les valeurs booléennes, telles que
TRUE
ouFALSE
, vous pouvez également utiliser les valeurs suivantes :État Autres valeurs TRUE
Y
,Yes
et1
FALSE
N
,No
et0
Les valeurs booléennes ne sont pas sensibles à la casse. Par exemple, vous pouvez utiliser
False
,false
ouFALSE
pour désactiver une fonctionnalité.Définir des métadonnées personnalisées sur des VM
Cette section fournit des informations sur l'ajout de métadonnées personnalisées ou sur la mise à jour de valeurs de métadonnées personnalisées existantes pour vos VM Compute Engine de l'une des manières suivantes :
Définir des métadonnées de projet personnalisées
Vous pouvez ajouter ou mettre à jour les métadonnées personnalisées de toutes les instances d'un projet à l'aide de la console Google Cloud, de Google Cloud CLI ou de REST.
Suivez les instructions ci-dessous pour appliquer les paramètres de métadonnées à toutes les VM du projet. Par exemple, si vous définissez une paire de métadonnées
baz=bat
de projet, cette paire est automatiquement appliquée à toutes les VM du projet.Console
gcloud
Utilisez la commande
project-info add-metadata
.gcloud compute project-info add-metadata \ --metadata=KEY=VALUE
Remplacez les éléments suivants :
Exemple
Par exemple, pour définir deux nouvelles entrées
foo=bar
etbaz=bat
dans un projet, exécutez la commande suivante :gcloud compute project-info add-metadata \ --metadata=foo=bar,baz=bat
Vous pouvez éventuellement spécifier un ou plusieurs fichiers à partir desquels lire les métadonnées à l'aide de l'option
--metadata-from-file
.REST
Remplacez
PROJECT_ID
par l'ID de votre projet.Définir des métadonnées zonales personnalisées
Lorsque vous définissez des métadonnées zonales personnalisées, vous ajoutez ou mettez à jour les entrées de métadonnées zonales pour vos VM dans une zone spécifique d'un projet. Vous pouvez effectuer les opérations suivantes en définissant des métadonnées zonales personnalisées:
Points à noter avant de définir des métadonnées zonales personnalisées
Le projet et ses entrées de métadonnées zonales sont stockés dans le même répertoire
project/
. Si vous définissez des valeurs différentes pour les mêmes clés de métadonnées personnalisées pour les VM au niveau du projet et au niveau zonal, les valeurs des métadonnées zonales du projet pour ces clés sont prioritaires sur les métadonnées à l'échelle du projet dans les zones respectives.Procédure
Vous pouvez ajouter ou mettre à jour les métadonnées zonales personnalisées dans une zone spécifique d'un projet à l'aide de Google Cloud CLI ou de REST.
gcloud
Exemple : Ajouter une entrée de métadonnées zonales personnalisées
Par exemple, considérons un projet appelé
my-project
avec les métadonnées personnalisées suivantes :Pour ajouter
"key-4":"value-4"
en tant que nouvelle paire de métadonnées zonales personnalisées dans la zoneus-central1-a
, exécutez la commande suivante :gcloud compute project-zonal-metadata add \ --metadata=key-4=value-4 \ --project=my-project \ --zone=us-central1-a
Exemple : Mettre à jour les valeurs d'une entrée de métadonnées zonale personnalisée existante
Prenons l'exemple de projet
my-project
, qui contient désormais les métadonnées personnalisées suivantes :Pour mettre à jour les valeurs de métadonnées zonales avec
key-1
etkey-4
dans la zoneus-cerntral1-a
avec de nouvelles valeurs, exécutez la commande suivante :gcloud compute project-zonal-metadata add \ --metadata=key-1=new-value-1,key-4=new-value-4 \ --project=my-project \ --zone=us-central1-a
Exemple: remplacer la valeur de métadonnées du projet pour une clé et utiliser une valeur de métadonnées zonale
Prenons l'exemple de projet
my-project
, qui contient désormais les métadonnées personnalisées suivantes :Dans cet exemple de projet, considérons
key-3
, qui a une valeur de métadonnéesvalue-c
de projet. Supposons que vous souhaitiez définir une valeur de métadonnées zonalesvalue-3
pour cette clé pour toutes les VM de la zoneus-central1-a
. Lorsque vous exécutez l'opération, pour toutes les VM de la zoneus-central1-a
, Compute Engine remplace les valeurs de métadonnées du projet et utilise les valeurs de métadonnées zonales. Les VM de toutes les autres zones du projet conservent leur projet ou les valeurs de métadonnées zonales prédominantes pourkey-3
.Pour remplacer la valeur de métadonnées du projet pour
key-3
et définir une valeur de métadonnées zonale, exécutez la commande suivante:gcloud compute project-zonal-metadata add \ --metadata=key-3=value-3 \ --project=my-project \ --zone=us-central1-a
REST
Exemple : Ajouter une entrée de métadonnées zonales personnalisées
Par exemple, considérons un projet appelé
my-project
avec les métadonnées personnalisées suivantes :Pour ajouter
"key-4":"value-4"
en tant que nouvelle paire de métadonnées zonale personnalisées dans la zoneus-central1-a
, exécutez la requêtePATCH
suivante :PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-4 { "fingerprint": "VlRIl8dx9vk=", "metadata": { "items": { "key-4": "value-4" } } }
Exemple : Mettre à jour les valeurs d'une entrée de métadonnées zonale personnalisée existante
Prenons l'exemple de projet
my-project
, qui contient désormais les métadonnées personnalisées suivantes :Pour mettre à jour les valeurs de métadonnées zonales
key-1
etkey-4
dans la zoneus-cerntral1-a
avec de nouvelles valeurs, exécutez la requêtePATCH
suivante :PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-1,metadata.items.key-4 { "fingerprint": "VlRIl8dx9vk=", "metadata": { "items": { "key-1": "new-value-1", "key-4": "new-value-4" } } }
Exemple: remplacer la valeur de métadonnées du projet pour une clé et définir une valeur de métadonnées zonale
Prenons l'exemple de projet
my-project
, qui contient désormais les métadonnées personnalisées suivantes :Dans cet exemple de projet, considérons
key-3
, qui a une valeur de métadonnéesvalue-c
de projet. Supposons que vous souhaitiez définir une valeur de métadonnées zonalesvalue-3
pour cette clé pour toutes les VM de la zoneus-central1-a
. Lorsque vous exécutez l'opération, pour toutes les VM de la zoneus-central1-a
, Compute Engine remplace les valeurs de métadonnées du projet et utilise les valeurs de métadonnées zonales. Les VM de toutes les autres zones du projet conservent leur projet ou les valeurs de métadonnées zonales prédominantes pourkey-3
.Pour remplacer la valeur de métadonnées du projet pour
key-3
et utiliser plutôt la valeur de métadonnées zonalevalue-3
, exécutez la requêtePATCH
suivante:PATCH https://compute.googleapis.com/compute/v1/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-3 { "fingerprint": "VlRIl8dx9vk=", "metadata": { "items": { "key-3": "value-3" } } }
Définir des métadonnées d'instance personnalisées
Vous pouvez ajouter ou mettre à jour des métadonnées personnalisées pour une seule instance de VM à l'aide de la console Google Cloud, de Google Cloud CLI ou de REST.
Vous pouvez définir les métadonnées d'instance personnalisées de l'une des manières suivantes :
Ajouter des métadonnées d'instance personnalisées lors de la création d'une VM
Suivez la procédure ci-dessous pour ajouter des métadonnées sur une instance de VM spécifique au moment de sa création.
Console
gcloud
Pour définir des métadonnées personnalisées, exécutez la commande
gcloud compute instances create
avec l'option--metadata
.gcloud compute instances create VM_NAME \ --metadata=KEY=VALUE
Remplacez les éléments suivants :
Exemple
Par exemple, pour définir une nouvelle clé
foo
dont la valeur estbar
sur une VM nomméeexample-instance
, exécutez la commande suivante :gcloud compute instances create example-instance \ --metadata=foo=bar
REST
Utilisez la méthode
instances.insert
et indiquez les métadonnées personnalisées dans la propriétémetadata
de la requête :POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances { "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME
", "...": [ { } ], "metadata": { "items": [ { "key": "KEY", "value": "VALUE" } ] }, .. }Remplacez les éléments suivants :
Ajouter ou mettre à jour des métadonnées d'instance personnalisées sur une VM existante
Suivez la procédure ci-dessous pour mettre à jour des métadonnées sur une instance de VM spécifique existante.
Console
gcloud
Les mises à jour des métadonnées de VM avec gcloud CLI s'ajoutent les unes aux autres. Spécifiez uniquement les clés de métadonnées que vous souhaitez ajouter ou modifier. Si une clé que vous avez fournie existe déjà, cette clé est mise à jour avec la nouvelle valeur.
Exécutez la commande
instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --metadata=KEY=VALUE,KEY=VALUE
Remplacez les éléments suivants :
Exemples
Si vous souhaitez ajouter l'entrée
foo=bar
, exécutez la commande suivante :gcloud compute instances add-metadata VM_NAME \ --metadata=foo=bar
Pour remplacer l'entrée
foo=bar
parfoo=bat
, exécutez la commande suivante :gcloud compute instances add-metadata VM_NAME \ --metadata=foo=bat
REST
Supprimer les métadonnées personnalisées des VM
Cette section fournit des informations sur la suppression des entrées de métadonnées personnalisées pour vos VM Compute Engine de l'une des manières suivantes:
Supprimer des métadonnées de projet personnalisées
Vous pouvez supprimer des métadonnées de projet personnalisées à l'aide de la console Google Cloud ou de Google Cloud CLI.
Console
gcloud
Pour supprimer des métadonnées de projet personnalisées, utilisez la commande
gcloud compute project-info remove-metadata
.gcloud compute project-info remove-metadata \ --keys=KEY1,KEY2,...
gcloud compute project-info remove-metadata \ --all
Remplacez les éléments suivants :
Supprimer les métadonnées zonales personnalisées
Vous pouvez supprimer des métadonnées zonales personnalisées à l'aide de Google Cloud CLI ou de REST.
gcloud
Pour supprimer des métadonnées zonales personnalisées, exécutez la commande
gcloud compute project-zonal-metadata remove
et spécifiez toutes les clés de métadonnées que vous souhaitez supprimer à l'aide de l'option--keys
.gcloud compute project-zonal-metadata remove \ --project=PROJECT_ID \ --zone=ZONE \ --keys=KEY1,KEY2,...
Remplacez les éléments suivants :
Après avoir exécuté la commande, si l'une des clés spécifiées dispose de valeurs de métadonnées de projet, les VM de la zone spécifiée héritent de ces valeurs de métadonnées de projet. Si l'entrée de métadonnées n'a été définie qu'au niveau zonal et qu'il n'y a pas de valeur de métadonnées de projet correspondante pour cette clé, les VM de cette zone perdent ces informations de métadonnées.
Exemple :
Prenons l'exemple d'un projet
my-project
, qui inclut les métadonnées de projet personnalisées suivantes :Pour supprimer toutes les métadonnées zonales de la zone
us-central1-a
, exécutez la commande suivante.gcloud compute project-zonal-metadata remove \ --metadata=key-1,key-2,key-3,key-4 \ --project=my-project \ --zone=us-central1-a
Une fois la commande exécutée, les VM de la zone
us-central1-a
possèdent les entrées de métadonnées de projet personnalisées suivantes :REST
Après avoir envoyé la requête, si l'une des clés spécifiées dispose de valeurs de métadonnées de projet, les VM de la zone spécifiée héritent de ces valeurs de métadonnées de projet. Si la clé de métadonnées n'a été définie qu'au niveau zonal et qu'il n'y a pas de valeur de métadonnées de projet correspondante pour cette clé, les VM de cette zone perdent ces informations de métadonnées.
Exemple :
Prenons l'exemple d'un projet
my-project
, qui inclut les métadonnées de projet personnalisées suivantes :Pour supprimer les métadonnées zonales pour
key-1
etkey-2
dans la zoneus-central1-a
, envoyez la requêtePATCH
suivante.PATCH https://compute.googleapis.com/compute/beta/projects/my-project/zones/us-central1-a/instanceSettings?update_mask=metadata.items.key-1,metadata.items.key-2 { "fingerprint": "FikclA7UBC0=", "metadata": { "items": { } } }
Une fois cette requête transmise, les VM de la zone
us-central1-a
possèdent les métadonnées personnalisées suivantes. Les VM héritent des valeurs de métadonnées du projet pourkey-1
etkey-2
, mais conservent les métadonnées zonales pourkey-3
etkey-4
.Supprimer des métadonnées d'instance personnalisées
Vous pouvez supprimer des métadonnées d'instance personnalisées à l'aide de la console Google Cloud, de Google Cloud CLI ou de l'API Compute Engine.
Console
gcloud
Pour supprimer des métadonnées d'instance personnalisées, utilisez la commande
gcloud compute instances remove-metadata
.gcloud compute instances remove-metadata VM_NAME \ --zone=ZONE \ --keys=KEY1,KEY2,...
gcloud compute instances remove-metadata VM_NAME \ --zone=ZONE \ --all
Remplacez les éléments suivants :
REST
Étapes suivantes
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/22 (UTC).
-