Cada entrada de metadatos se almacena en el servidor de metadatos como pares clave-valor. Las claves de metadatos distinguen entre mayúsculas y minúsculas. Sus claves pueden ser claves de metadatos predefinidas o personalizadas.
Los metadatos personalizados le permiten crear y utilizar sus propios pares clave-valor de metadatos en una máquina virtual individual o en un proyecto. Puede agregar nuevas claves de metadatos personalizadas, actualizar los valores de sus claves existentes y eliminar cualquier entrada de metadatos personalizados cuando no las necesite. Configurar metadatos personalizados es útil para pasar valores arbitrarios a las máquinas virtuales de un proyecto. También es útil para crear scripts de inicio y apagado .
Este documento proporciona información sobre cómo hacer lo siguiente:
- Agregar o actualizar metadatos personalizados en máquinas virtuales
- Eliminar metadatos personalizados de las máquinas virtuales
Antes de comenzar
- Revise los conceptos básicos sobre cómo se definen, categorizan y organizan los metadatos de VM para Compute Engine. Para obtener más información, consulte Acerca de los metadatos de VM .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
- Administrador de instancias informáticas (v1) (
roles/compute.instanceAdmin.v1
) en la máquina virtual o el proyecto - Si sus máquinas virtuales usan cuentas de servicio: Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la cuenta de servicio o proyecto - Si sus máquinas virtuales usan cuentas de servicio:
en las cuentas de servicio o el proyectoiam.serviceAccounts.actAs
- Para agregar, actualizar o eliminar metadatos de proyectos personalizados:
-
en el proyectocompute.projects.get
-
en el proyectocompute.projects.setCommonInstanceMetadata
-
- Para agregar, actualizar o eliminar metadatos zonales personalizados:
-
en la configuración de la instancia en la zona requerida en el proyecto.compute.instanceSettings.get
-
en la configuración de la instancia en la zona requerida en el proyecto.compute.instanceSettings.update
-
- Para agregar, actualizar o eliminar metadatos de instancia personalizados:
-
en la máquina virtualcompute.instances.get
-
en la máquina virtualcompute.instances.setMetadata
-
- Cada
key
de metadatos tiene un límite máximo de 128 bytes. Cada
key
de metadatos distingue entre mayúsculas y minúsculas.Para los metadatos zonales, Compute Engine no te permite crear dos claves de metadatos independientes con la misma cadena, incluso si están escritas en casos diferentes. Por ejemplo, si tiene una clave de metadatos personalizada existente para metadatos zonales llamada
project-zonal-metadata-key
, entonces, para los metadatos zonales en esa zona, no puede crear nuevas claves de metadatos, comoProject-Zonal-Metadata-Key
,PROJECT-ZONAL-METADATA-KEY
o cualquier otra variación de la misma cadena.Cada
value
de metadatos tiene un límite máximo de 256 KB.Cada
value
de metadatos distingue entre mayúsculas y minúsculas, excepto los valores booleanos.- Configure metadatos de proyecto personalizados para agregar o actualizar metadatos de proyecto personalizados para todas las máquinas virtuales de su proyecto.
- Configure metadatos zonales personalizados para agregar o actualizar metadatos personalizados con un alcance zonal para máquinas virtuales dentro del proyecto.
- Establezca metadatos de instancia personalizados para agregar o actualizar metadatos de instancia personalizados para una máquina virtual específica.
En la consola de Google Cloud, vaya a la página Metadatos .
Haga clic en
Editar en la parte superior de la página.Para agregar nuevas entradas de metadatos de proyecto personalizados, haga lo siguiente:
- Navegue hasta la parte inferior de la página y haga clic en Agregar elemento .
- En el campo Clave , ingrese el nombre de su clave de metadatos personalizada.
- En el campo Valor , ingrese el valor de metadatos del proyecto personalizado.
- Opcional. Para agregar más entradas de metadatos de proyecto personalizados, repita los pasos anteriores para cada entrada de metadatos que desee agregar.
- Para terminar de agregar las entradas de metadatos de su proyecto personalizado, haga clic en Guardar .
Para editar entradas de metadatos de proyectos personalizados existentes, haga lo siguiente:
- Navegue hasta la entrada de metadatos que desea editar.
- Para actualizar el nombre de una clave de metadatos personalizada específica, en el campo Clave de esa entrada, ingrese el nuevo nombre.
- Para actualizar el valor de una entrada de metadatos de proyecto personalizado, en el campo Valor de esa entrada, ingrese el nuevo valor.
- Opcional. Para eliminar una entrada de metadatos de proyecto personalizado específica, haga clic en el icono de junto a la entrada de metadatos.
- Para editar varias entradas de metadatos de proyectos personalizados, repita los pasos anteriores para cada entrada de metadatos que desee editar.
- Para terminar de editar las entradas de metadatos de su proyecto personalizado, haga clic en Guardar .
-
KEY
: el nombre de su clave de metadatos -
VALUE
: el valor almacenado para esta clave Opcional. Para realizar un bloqueo optimista, opcionalmente puede proporcionar una huella digital.
Una huella digital es una cadena aleatoria de caracteres generada por Compute Engine. La huella digital cambia después de cada solicitud y, si proporciona una huella digital que no coincide, su solicitud se rechaza.
Si no proporciona una huella digital, no se realiza ninguna verificación de coherencia y la solicitud
projects().setCommonInstanceMetadata
se realiza correctamente. Este comportamiento es diferente de los métodosinstances().setMetadata
einstanceSettings().patch
, donde siempre se requiere una huella digital.Para obtener la huella digital actual de un proyecto, llame al método
project().get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
El resultado es similar al siguiente:
{ "name": "myproject", "commonInstanceMetadata": { "kind": "compute#metadata", "fingerprint": "FikclA7UBC0=", ... } }
Realice una solicitud al método
projects().setCommonInstanceMetadata
y configure sus pares clave-valor de metadatos personalizados:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/setCommonInstanceMetadata { "fingerprint": "FikclA7UBC0=", "items": [ { "key": "foo", "value": "bar" } ] }
- Cree nuevas claves de metadatos personalizadas para una zona específica en un proyecto y establezca metadatos para todas las máquinas virtuales en esa zona en ese proyecto.
- Actualice los valores de las entradas de metadatos zonales personalizados existentes para todas las máquinas virtuales en una zona específica de un proyecto.
- Para las claves de metadatos personalizados existentes que tienen valores de metadatos del proyecto, anule esos valores de metadatos del proyecto en zonas específicas y, en su lugar, establezca metadatos zonales. Después de configurar los metadatos zonales para esas claves en una zona específica, todas las máquinas virtuales en esa zona en ese proyecto usan los valores de metadatos zonales para esas claves.
- Si agregas un valor de metadatos zonales para una clave de metadatos que ya tiene un valor de metadatos del proyecto, Compute Engine anula el valor de metadatos del proyecto para las VM en esta zona especificada y actualiza el directorio
/project
con el valor zonal. - Si agrega un nuevo valor de metadatos para todo el proyecto para una clave de metadatos que ya tiene un valor de metadatos zonal, nada cambia. Compute Engine conserva el valor de metadatos zonales en el directorio
/project
de la zona específica. - Si no especifica un valor de metadatos zonal para una clave de metadatos personalizada en una zona específica, pero la clave tiene un valor de metadatos del proyecto, sus máquinas virtuales seguirán teniendo los valores de metadatos del proyecto en esas zonas.
Para agregar o actualizar metadatos zonales personalizados, usa el comando
gcloud compute project-zonal-metadata add
.gcloud compute project-zonal-metadata add \ --zone=ZONE \ --project=PROJECT_ID \ --metadata=KEY1=VALUE1,KEY2=VALUE2,...
Reemplace lo siguiente:
-
PROJECT_ID
: ID de tu proyecto -
ZONE
: la zona donde desea agregar o actualizar metadatos zonales. -
KEY1
,KEY2
...: las claves de metadatos personalizados para las que desea agregar o actualizar valores de metadatos zonales. VALUE1
,VALUE2
...: los valores de metadatos zonales que desea establecer para sus claves de metadatos personalizadas nuevas y existentes. Dependiendo de su clave y valor de metadatos personalizados, sucede una de las siguientes cosas:Si la clave de metadatos personalizados correspondiente es una clave existente que tiene metadatos del proyecto, entonces, en la zona especificada, Compute Engine anula el valor de metadatos del proyecto de la clave con el valor de metadatos zonales especificado. Todas las máquinas virtuales en la zona especificada del proyecto heredan estos metadatos zonales recién especificados para esa clave y las máquinas virtuales en otras zonas continúan conservando sus valores de metadatos zonales o de proyecto predominantes. Si realiza actualizaciones futuras al valor de metadatos del proyecto para esta clave, las máquinas virtuales en esta zona del proyecto no se verán afectadas y continuarán usando el valor de metadatos zonales para esta clave.
Si la clave de metadatos personalizada correspondiente es una nueva clave de metadatos que no se usa para proyectos existentes o metadatos zonales, Compute Engine crea la clave de metadatos personalizada y establece este valor como los metadatos zonales en la zona especificada.
Si la clave de metadatos personalizada correspondiente es una clave de metadatos existente con un valor de metadatos zonal en la zona especificada:
- Si el valor de metadatos especificado es diferente del valor existente, Compute Engine actualiza la entrada de metadatos zonal con el nuevo valor.
- Si el valor de metadatos especificado es el mismo que el valor existente, entonces la entrada de metadatos zonales permanece sin cambios.
-
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"value-1"
y"key-2":"value-2"
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"value-1"
,"key-2":"value-2"
y"key-4":"value-4"
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
y"key-4":"new-value-4"
Obtenga la huella digital actual y vea los pares clave-valor existentes para el proyecto en esa zona.
Para realizar un bloqueo optimista, debe proporcionar una huella digital. Una huella digital es una cadena aleatoria de caracteres generada por Compute Engine. La huella digital cambia cada vez que realizas una solicitud para agregar, actualizar o eliminar metadatos zonales y, si proporcionas una huella digital que no coincide, Compute Engine rechaza tu solicitud.
Si no proporciona una huella digital, se realiza una verificación de coherencia y su solicitud de actualización no se realiza correctamente. Esto funciona para que solo se pueda realizar una solicitud a la vez, evitando colisiones. Este comportamiento coincide con
instances().setMetadata
, donde siempre se requiere una huella digital.Para obtener la huella digital actual de los metadatos zonales, realice una solicitud
GET
al métodoinstanceSettings().get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceSettings
Reemplace lo siguiente:
-
PROJECT_ID
: ID de tu proyecto -
ZONE
: la zona donde desea configurar los metadatos zonales.
El siguiente es un ejemplo de salida para esta solicitud:
{ "fingerprint": "VlRIl8dx9vk=", "metadata": { ... } }
-
Para agregar o actualizar los metadatos zonales, realice una solicitud
PATCH
al métodoinstanceSettings().patch
. Debe proporcionar lo siguiente con su solicitud:Una máscara de actualización. Utilice el parámetro de consulta
update_mask
. La máscara de actualización debe contener las claves de metadatos para lo siguiente:- Los nuevos metadatos zonales personalizados que desea agregar
- Los metadatos zonales personalizados existentes para los que desea actualizar los valores
Debes agregar la cadena
metadata.items.
como prefijo para cada clave, por ejemplo,metadata.items.key1,metadata.items.key3
.En el cuerpo de la solicitud, proporcione lo siguiente:
- Las claves y valores de metadatos para los nuevos metadatos zonales personalizados que desea agregar
- Las claves y valores de metadatos para los metadatos zonales personalizados existentes que desea actualizar
- El valor actual de la huella digital.
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", ... } } }
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto. -
ZONE
: la zona donde desea configurar los metadatos zonales. PREFIXED_METADATA_KEYS
: la lista de claves de metadatos para lo siguiente, donde cada clave tiene el prefijometadata.items.
:- Los nuevos metadatos zonales personalizados que desea agregar
- Los metadatos zonales personalizados existentes para los que desea actualizar los valores
Por ejemplo, supongamos que sus claves de metadatos zonales actuales en una zona específica son
key-1
ykey-2
. Si desea agregar una nueva clave,key-3
, para los metadatos zonales en esa zona y también actualizar los metadatos zonales para una de las claves existentes,key-1
, entonces su máscara de actualización debe tener la siguiente cadena:metadata.items.key1,metadata.items.key3
FINGER_PRINT
: el valor actual de la huella digital.KEY1
,KEY2
...: las claves de metadatos zonales personalizadas para las que desea agregar o actualizar valores. Especifique todas las claves de metadatos zonales personalizadas que especificó en la máscara de actualización.VALUE1
,VALUE2
...: los valores de metadatos zonales que desea establecer para sus claves de metadatos personalizadas nuevas y existentes. Dependiendo de su clave y valor de metadatos personalizados, sucede una de las siguientes cosas:- Si la clave de metadatos personalizados correspondiente es una clave existente que tiene metadatos del proyecto, entonces, en la zona especificada, Compute Engine anula el valor de metadatos del proyecto de la clave con el valor de metadatos zonales especificado. Todas las máquinas virtuales en la zona especificada del proyecto heredan estos metadatos zonales recién especificados para esa clave y las máquinas virtuales en otras zonas continúan conservando sus valores de metadatos zonales o de proyecto predominantes. Si realiza actualizaciones futuras al valor de metadatos del proyecto para esta clave, las máquinas virtuales en esta zona del proyecto no se verán afectadas y continuarán usando el valor de metadatos zonales para esta clave.
- Si la clave de metadatos personalizada correspondiente es una nueva clave de metadatos que no se usa para proyectos existentes o metadatos zonales, Compute Engine crea la clave de metadatos personalizada y establece este valor como los metadatos zonales en la zona especificada.
Si la clave de metadatos personalizada correspondiente es una clave de metadatos existente con un valor de metadatos zonal en la zona especificada:
Si el valor de metadatos especificado es diferente del valor existente, Compute Engine actualiza la entrada de metadatos zonal con el nuevo valor.
Si el valor de metadatos especificado es el mismo que el valor existente, entonces la entrada de metadatos zonales permanece sin cambios.
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"value-1"
y"key-2":"value-2"
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"value-1"
,"key-2":"value-2"
y"key-4":"value-4"
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
y"key-4":"new-value-4"
- Para las máquinas virtuales nuevas, puede agregar metadatos personalizados cuando se crea la máquina virtual .
- Para las máquinas virtuales existentes, puede agregar o actualizar metadatos personalizados cuando la máquina virtual se esté ejecutando .
En la consola de Google Cloud, vaya a la página Crear una instancia .
Especifique los detalles de la máquina virtual.
Expanda la sección Opciones avanzadas y haga lo siguiente:
- Expanda la sección Gestión .
- Para agregar varios pares clave-valor para sus metadatos personalizados, en la sección Metadatos , haga clic en Agregar elemento .
Para crear la VM, haga clic en Crear .
-
VM_NAME
: el nombre de tu VM -
ZONE
: la zona para crear la VM en -
IMAGE_PROJECT
: el proyecto que contiene la imagen que se utilizará para la VM IMAGE_FLAG
: especifique uno de los siguientes:Utilice la marca
--image IMAGE_NAME
para especificar una versión específica de una imagen pública.Por ejemplo,
--image debian-12-bookworm-v20241112
.Utilice la marca
--image-family IMAGE_FAMILY_NAME
para especificar una familia de imágenes .Esto crea la máquina virtual a partir de la imagen del sistema operativo no obsoleta más reciente de la familia de imágenes. Por ejemplo, si especifica
--image-family debian-12
, Compute Engine usa la última versión de la imagen del sistema operativo en la familia de imágenes de Debian 12.
KEY
: el nombre de su clave de metadatosVALUE
: el valor almacenado para esta clave-
PROJECT_ID
: ID de tu proyecto -
ZONE
: zona para crear la VM en -
MACHINE_TYPE
: tipo de máquina, predefinida o personalizada , para la nueva VM -
VM_NAME
: nombre de la nueva VM -
KEY
: el nombre de su clave de metadatos -
VALUE
: el valor almacenado para esta clave - En la consola de Google Cloud, vaya a la página de instancias de VM .
- Haga clic en la instancia para la que desea actualizar los metadatos.
- Haga clic en el botón Editar en la parte superior de la página.
- En Metadatos personalizados , haga clic en Agregar elemento o edite las entradas de metadatos existentes.
- Guarde sus cambios.
-
VM_NAME
: el nombre de tu VM -
KEY
: el nombre de su clave de metadatos -
VALUE
: el valor almacenado para esta clave Obtenga la huella digital actual y vea los pares clave-valor existentes para la VM. Para hacer esto, llame al método
instances().get
.Una huella digital es una cadena aleatoria de caracteres generada por Compute Engine y se utiliza para realizar un bloqueo optimista. Para actualizar la VM, debe proporcionar el valor de la huella digital correspondiente. La huella digital cambia después de cada solicitud y, si proporciona una huella digital que no coincide, su solicitud se rechaza. Esto funciona para que sólo se pueda realizar una actualización a la vez, evitando colisiones.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAMEReemplace lo siguiente:
-
PROJECT_ID
: ID de tu proyecto -
ZONE
: la zona donde se encuentra su VM -
VM_NAME
: nombre de tu VM
El resultado es similar al siguiente:
{ ... "name": "example-instance", "metadata": { "kind": "compute#metadata", "fingerprint": "zhma6O1w2l8=" "items": [ { "key": "foo", "value": "bar" } ] }, ... }
-
Realice una solicitud al método
instances().setMetadata
. Proporcione una lista de los nuevos valores de metadatos y el valor actualfingerprint
.Si la máquina virtual tiene pares clave-valor existentes que desea conservar, debe incluirlos en esta solicitud con los nuevos pares clave-valor.
Ejemplo
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" } ] }Reemplace lo siguiente:
-
PROJECT_ID
: ID de tu proyecto -
ZONE
: la zona donde se encuentra su VM -
VM_NAME
: nombre de tu VM
-
- Eliminar metadatos de proyecto personalizados para eliminar metadatos personalizados que se configuraron para todas las máquinas virtuales de un proyecto.
- Elimine los metadatos zonales personalizados para eliminar los metadatos personalizados que se configuraron para todas las máquinas virtuales en una zona específica de un proyecto.
- Elimine metadatos de instancia personalizados para eliminar metadatos de VM que se configuraron para una VM específica.
En la consola de Google Cloud, vaya a la página Metadatos .
Haga clic en
Editar en la parte superior de la página.Navegue hasta la entrada de metadatos que desea eliminar y haga clic en el botón
junto a esa entrada.Repita este paso para cada entrada de metadatos que desee eliminar.
Para terminar de eliminar las entradas de metadatos del proyecto personalizado, haga clic en Guardar .
- Si desea eliminar las entradas de metadatos personalizados para claves específicas, especifique esas claves utilizando el indicador
--keys
y excluya los valores de esas claves. - Si desea eliminar todos los metadatos personalizados para la VM, especifique el indicador
--all
. -
KEY1
,KEY2
...: las claves de metadatos de la instancia personalizada que desea eliminar. -
PROJECT_ID
: ID de tu proyecto -
ZONE
: la zona donde desea eliminar los metadatos zonales. -
KEY1
,KEY2
...: las claves de metadatos zonales personalizadas que desea eliminar. - Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
,"key-3":"value-3"
y"key-4":"new-value-4"
-
"key-1":"value-a"
-
"key-2":"value-b"
-
"key-3":"value-c"
Obtenga la huella digital actual y vea los pares clave-valor existentes para el proyecto en esa zona.
Para realizar un bloqueo optimista, debe proporcionar una huella digital. Una huella digital es una cadena aleatoria de caracteres generada por Compute Engine. La huella digital cambia cada vez que realizas una solicitud para agregar, actualizar o eliminar metadatos zonales y, si proporcionas una huella digital que no coincide, Compute Engine rechaza tu solicitud.
Si no proporciona una huella digital, se realiza una verificación de coherencia y su solicitud de eliminación no se realiza correctamente. Esto funciona para que solo se pueda realizar una solicitud a la vez, evitando colisiones. Este comportamiento coincide con
instances().setMetadata
, donde siempre se requiere una huella digital.Para obtener la huella digital actual de un proyecto, llame al método
instanceSettings().get
.GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings
Reemplace lo siguiente:
-
PROJECT_ID
: ID de tu proyecto -
ZONE
: la zona donde desea eliminar los metadatos zonales.
El siguiente es un ejemplo de salida para esta solicitud:
{ "fingerprint": "FikclA7UBC0=", "metadata": { ... } }
-
Para eliminar metadatos zonales personalizados, realice una solicitud
PATCH
al métodoinstanceSettings().patch
excluyendo las claves de metadatos, para las cuales desea eliminar los metadatos zonales, del cuerpo de la solicitud. Debe proporcionar lo siguiente con su solicitud:Una máscara de actualización. Utilice el parámetro de consulta
update_mask
. La máscara de actualización debe contener todas las claves de metadatos personalizados existentes para las que desea eliminar los metadatos zonales. Debes agregar la cadenametadata.items.
como prefijo para cada clave, por ejemplo,metadata.items.key1,metadata.items.key3
.En el cuerpo de la solicitud, proporcione solo el valor actual de la huella digital. Excluya todas las claves de metadatos personalizados que especificó en la máscara de actualización. Si incluye alguna de las claves de metadatos tanto en la máscara de actualización como en el cuerpo de la solicitud, Compute Engine no elimina los metadatos zonales de esas claves.
PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instanceSettings?update_mask=PREFIXED_METADATA_KEYS { "fingerprint": "FINGER_PRINT", "metadata": { "items": { } } }
Reemplace lo siguiente:
-
PROJECT_ID
: el ID del proyecto. -
ZONE
: la zona donde desea eliminar los metadatos zonales. PREFIXED_METADATA_KEYS
: la lista de todas las claves de metadatos personalizados existentes para las que desea eliminar metadatos zonales, donde cada clave tiene el prefijometadata.items.
. Para garantizar que su solicitud de eliminación se realice correctamente, excluya estas claves de metadatos del cuerpo de la solicitud. Si incluye alguna de las claves de metadatos tanto en la máscara de actualización como en el cuerpo de la solicitud, Compute Engine no elimina los metadatos zonales de esas claves.Por ejemplo, supongamos que sus claves de metadatos actuales con metadatos zonales son
key-1
,key-2
,key-3
ykey-4
, y desea eliminar las entradas de metadatos zonales parakey-1
ykey-2
, entonces su máscara de actualización debe tener la siguiente cadena:metadata.items.key1,metadata.items.key2
FINGER_PRINT
: el valor actual de la huella digital.
- Metadatos del proyecto:
"key-1":"value-a"
,"key-2":"value-b"
y"key-3":"value-c"
- Metadatos zonales en la zona
us-central1-a
:"key-1":"new-value-1"
,"key-2":"value-2"
,"key-3":"value-3"
y"key-4":"new-value-4"
- Metadatos del proyecto:
"key-1":"value-a"
y"key-2":"value-b"
- Metadatos zonales en la zona
us-central1-a
:"key-3":"value-3"
y"key-4":"new-value-4"
- En la consola de Google Cloud, vaya a la página de instancias de VM .
- En la columna Nombre , haga clic en el nombre de la VM de la que desea eliminar metadatos.
- Haga clic en Editar en la parte superior de la página.
- En la sección Metadatos , haga clic en Eliminar elemento para cada una de las entradas de metadatos que desee eliminar.
- Para confirmar sus cambios y eliminar los metadatos de la instancia personalizada, haga clic en Guardar .
- Si desea eliminar las entradas de metadatos personalizados para claves específicas, especifique esas claves utilizando el indicador
--keys
y excluya los valores de esas claves. - Si desea eliminar todos los metadatos personalizados para la VM, especifique el indicador
--all
. -
PROJECT_ID
: su ID de proyecto. -
ZONE
: la zona de su VM. -
VM_NAME
: nombre de tu VM -
KEY1
,KEY2
...: las claves de metadatos de la instancia personalizada que desea eliminar. Obtenga la huella digital actual y vea los pares clave-valor existentes para la VM. Para hacer esto, llame al método
instances().get
.Una huella digital es una cadena aleatoria de caracteres generada por Compute Engine y se utiliza para realizar un bloqueo optimista. Para actualizar la VM, debe proporcionar el valor de la huella digital correspondiente. La huella digital cambia después de cada solicitud y, si proporciona una huella digital que no coincide, su solicitud se rechaza. Esto funciona para que sólo se pueda realizar una actualización a la vez, evitando colisiones.
GET https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAMEReemplace lo siguiente:
-
PROJECT_ID
: su ID de proyecto. -
ZONE
: la zona de su VM. -
VM_NAME
: nombre de tu VM
El resultado es similar al siguiente:
{ ... "name": "example-instance", "metadata": { "kind": "compute#metadata", "fingerprint": "zhma6O1w2l8=" "items": [ { "key": "key-1", "value": "value-1" } { "key": "key-2", "value": "value-2" } ] }, ... }
-
Realice una solicitud al método
instances().setMetadata
. Debe incluir el valor actual de la huella digital de los metadatos para que su solicitud se realice correctamente.Para eliminar todos los pares clave-valor de metadatos personalizados de una máquina virtual, en la propiedad
items
, excluya las claves de metadatos para las que desea eliminar valores de metadatos.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" } ... ] }Para eliminar todos los metadatos de la instancia personalizada en la VM, excluya la propiedad
items
por completo.POST https://compute.googleapis.com/compute/v1/projects/
PROJECT_ID
/zones/ZONE
/instances/VM_NAME/setMetadata { "fingerprint": FINGER_PRINT }
Reemplace lo siguiente:
-
PROJECT_ID
: su ID de proyecto. -
ZONE
: la zona de su VM. -
VM_NAME
: nombre de tu VM -
FINGER_PRINT
: el valor actual de la huella digital. -
KEY1
,KEY2
...: las claves de metadatos de la instancia personalizada que desea eliminar. -
VALUE1
,VALUE2
...: los valores de las claves de metadatos de la instancia personalizada que desea eliminar.
- Obtenga más información sobre los metadatos de VM .
- Aprenda a ver y consultar metadatos .
- Obtenga más información sobre cómo ejecutar scripts de inicio o scripts de apagado en el servidor de metadatos.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Roles requeridos
Para obtener los permisos que necesita para configurar o eliminar metadatos personalizados en máquinas virtuales, solicite a su administrador que le otorgue las siguientes funciones de IAM:
Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .
Estos roles predefinidos contienen los permisos necesarios para configurar o eliminar metadatos personalizados en las máquinas virtuales. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :
Permisos requeridos
Se requieren los siguientes permisos para configurar o eliminar metadatos personalizados en máquinas virtuales:
Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .
Limitaciones
Compute Engine impone un límite total combinado de 512 KB para todas las entradas de metadatos. Los límites de tamaño máximo también se aplican a cada
key
yvalue
de la siguiente manera:Por ejemplo, las claves SSH se almacenan como metadatos personalizados bajo la clave
ssh-keys
. Si el contenido ovalue
de los metadatos de esta clave supera el límite de 256 KB, no podrá agregar más claves SSH. Si alcanza este límite, considere eliminar las claves no utilizadas para liberar espacio de metadatos para claves nuevas.Además, si proporciona el contenido del script de inicio o apagado directamente, el contenido de estos scripts de inicio y apagado también podría almacenarse como metadatos personalizados y contar para estas limitaciones de tamaño. Para evitar esto, almacene su script de inicio o apagado como un archivo alojado en una ubicación externa, como Cloud Storage, y proporcione la URL del script de inicio al crear una VM. De esta manera, estos archivos se descargan en la máquina virtual, en lugar de almacenarse en el servidor de metadatos.
valores booleanos
Para campos que aceptan valores booleanos,
TRUE
oFALSE
, también se pueden utilizar los siguientes valores:Estado Valores alternativos TRUE
Y
,Yes
,1
FALSE
N
,No
,0
Los valores booleanos no distinguen entre mayúsculas y minúsculas. Por ejemplo, puede utilizar
False
,false
oFALSE
para desactivar una función.Establecer metadatos personalizados en máquinas virtuales
Esta sección proporciona información sobre cómo agregar nuevos metadatos personalizados o actualizar valores de metadatos personalizados existentes para tus VM de Compute Engine de una de las siguientes maneras:
Establecer metadatos de proyecto personalizados
Puedes agregar o actualizar los metadatos personalizados para todas las instancias de un proyecto mediante la consola de Google Cloud, la CLI de Google Cloud o REST.
Utilice estas instrucciones para aplicar la configuración de metadatos a todas las máquinas virtuales del proyecto. Por ejemplo, si define un par de metadatos de proyecto de
baz=bat
, ese par de metadatos se aplica automáticamente a todas las máquinas virtuales del proyecto.Consola
nube de gcloud
Utilice el comando
project-info add-metadata
.gcloud compute project-info add-metadata \ --metadata=KEY=VALUE
Reemplace lo siguiente:
Ejemplo
Por ejemplo, para configurar dos nuevas entradas
foo=bar
ybaz=bat
en un proyecto, ejecute el siguiente comando:gcloud compute project-info add-metadata \ --metadata=foo=bar,baz=bat
Opcionalmente, puede especificar uno o más archivos desde los cuales leer metadatos usando el indicador
--metadata-from-file
.DESCANSAR
Reemplace
PROJECT_ID
con el ID de su proyecto.Establecer metadatos zonales personalizados
Cuando configura metadatos zonales personalizados, agrega o actualiza las entradas de metadatos zonales para sus máquinas virtuales en una zona específica de un proyecto. Puede hacer lo siguiente configurando metadatos zonales personalizados:
Cosas a tener en cuenta antes de configurar metadatos zonales personalizados
Las entradas de metadatos zonales y de proyecto se almacenan en el mismo
project/
directorio. Si establece valores diferentes para las mismas claves de metadatos personalizados para máquinas virtuales a nivel de proyecto y a nivel zonal, los valores de metadatos zonales para esas claves tienen prioridad sobre los valores de metadatos del proyecto en las zonas respectivas.Procedimiento
Puedes agregar o actualizar los metadatos zonales personalizados en una zona específica de un proyecto mediante la CLI o REST de Google Cloud.
nube de gcloud
Ejemplo: agregar una nueva entrada de metadatos zonales personalizada
Por ejemplo, considere un proyecto llamado
my-project
con los siguientes metadatos personalizados:Para agregar
"key-4":"value-4"
como un nuevo par de metadatos zonales personalizados en la zonaus-central1-a
, ejecute el siguiente comandogcloud compute project-zonal-metadata add \ --metadata=key-4=value-4 \ --project=my-project \ --zone=us-central1-a
Ejemplo: actualizar los valores de una entrada de metadatos zonales personalizados existente
Considere el mismo proyecto de ejemplo
my-project
, que ahora tiene los siguientes metadatos personalizados:Para actualizar los valores de metadatos zonales de
key-1
ykey-4
enus-cerntral1-a
a con nuevos valores, ejecute el siguiente comando.gcloud compute project-zonal-metadata add \ --metadata=key-1=new-value-1,key-4=new-value-4 \ --project=my-project \ --zone=us-central1-a
Ejemplo: anular el valor de metadatos del proyecto para una clave y utilizar un valor de metadatos zonal
Considere el mismo proyecto de ejemplo
my-project
, que ahora tiene los siguientes metadatos personalizados:En este proyecto de ejemplo, considere
key-3
, que tiene un valor de metadatos de proyecto devalue-c
. Suponga que desea establecer unvalue-3
para esta clave para todas las máquinas virtuales en la zonaus-central1-a
. Cuando realizas la operación, para todas las máquinas virtuales en la zonaus-central1-a
, Compute Engine anula los valores de metadatos del proyecto y utiliza los valores de metadatos zonales. Las máquinas virtuales en todas las demás zonas del proyecto conservan sus valores de metadatos zonales o de proyecto predominantes parakey-3
.Para anular el valor de metadatos del proyecto para
key-3
y establecer un valor de metadatos zonal, ejecute el siguiente comando:gcloud compute project-zonal-metadata add \ --metadata=key-3=value-3 \ --project=my-project \ --zone=us-central1-a
DESCANSAR
Ejemplo: agregar una nueva entrada de metadatos zonales personalizada
Por ejemplo, considere un proyecto llamado
my-project
con los siguientes metadatos personalizados:Para agregar
"key-4":"value-4"
como un nuevo par de metadatos zonales personalizados en la zonaus-central1-a
, realice la siguiente solicitudPATCH
: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" } } }
Ejemplo: actualizar los valores de una entrada de metadatos zonales personalizados existente
Considere el mismo proyecto de ejemplo
my-project
, que ahora tiene los siguientes metadatos personalizados:Para actualizar los valores de metadatos zonales de
key-1
ykey-4
enus-cerntral1-a
con nuevos valores, realice la siguiente solicitudPATCH
: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" } } }
Ejemplo: anular el valor de metadatos del proyecto para una clave y establecer un valor de metadatos zonal
Considere el mismo proyecto de ejemplo
my-project
, que ahora tiene los siguientes metadatos personalizados:En este proyecto de ejemplo, considere
key-3
, que tiene un valor de metadatos de proyecto devalue-c
. Suponga que desea establecer unvalue-3
para esta clave para todas las máquinas virtuales en la zonaus-central1-a
. Cuando realizas la operación, para todas las máquinas virtuales en la zonaus-central1-a
, Compute Engine anula los valores de metadatos del proyecto y utiliza los valores de metadatos zonales. Las máquinas virtuales en todas las demás zonas del proyecto conservan sus valores de metadatos zonales o de proyecto predominantes parakey-3
.Para anular el valor de metadatos del proyecto para
key-3
y utilizar el valor de metadatos zonalvalue-3
en su lugar, realice la siguiente solicitudPATCH
: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" } } }
Establecer metadatos de instancia personalizados
Puede agregar o actualizar los metadatos personalizados para una única instancia de VM mediante la consola de Google Cloud, la CLI de Google Cloud o REST.
Puede configurar metadatos de instancia personalizados de una de las siguientes maneras:
Agregue metadatos de instancia personalizados durante la creación de VM
Utilice estas instrucciones para agregar metadatos en una instancia de VM específica en el momento de su creación.
Consola
nube de gcloud
Para configurar metadatos personalizados, use el comando
gcloud compute instances create
con la marca--metadata
.gcloud compute instances create VM_NAME \ --zone=ZONE \ --image-project=IMAGE_PROJECT \ IMAGE_FLAG \ --metadata=KEY=VALUE
Reemplace lo siguiente:
Ejemplo
Por ejemplo, para establecer una nueva clave
env
que tenga un valortest
en una VM llamadaexample-instance
, ejecute el siguiente comando:gcloud compute instances create example-instance \ --zone=us-central1-a --image-project=debian-cloud \ --image-family=debian-12 \ --metadata=env=test
DESCANSAR
Utilice el método
instances.insert
y proporcione los metadatos personalizados como parte de la propiedadmetadata
en su solicitud: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" } ] }, .. }Reemplace lo siguiente:
Agregar o actualizar metadatos de instancia personalizados en una máquina virtual existente
Utilice estas instrucciones para actualizar los metadatos en una instancia de VM específica que ya existe.
Consola
nube de gcloud
Actualizar los metadatos de la VM con la CLI de gcloud es una acción aditiva. Especifique solo las claves de metadatos que desea agregar o cambiar. Si una clave que proporcionó ya existe, el valor de esa clave se actualiza con el nuevo valor.
Utilice el comando
instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --metadata=KEY=VALUE,KEY=VALUE
Reemplace lo siguiente:
Ejemplos
Si desea agregar la entrada
foo=bar
, use:gcloud compute instances add-metadata VM_NAME \ --metadata=foo=bar
Si desea cambiar la entrada
foo=bar
afoo=bat
, use:gcloud compute instances add-metadata VM_NAME \ --metadata=foo=bat
DESCANSAR
Eliminar metadatos personalizados de las máquinas virtuales
Esta sección proporciona información sobre cómo eliminar entradas de metadatos personalizados para tus VM de Compute Engine de una de las siguientes maneras:
Eliminar metadatos de proyecto personalizados
Puede eliminar metadatos de proyectos personalizados mediante la consola de Google Cloud o la CLI de Google Cloud.
Consola
nube de gcloud
Para eliminar metadatos de proyecto personalizados, usa el comando
gcloud compute project-info remove-metadata
.gcloud compute project-info remove-metadata \ --keys=KEY1,KEY2,...
gcloud compute project-info remove-metadata \ --all
Reemplace lo siguiente:
Eliminar metadatos zonales personalizados
Puede eliminar metadatos zonales personalizados mediante la CLI de Google Cloud o REST.
nube de gcloud
Para eliminar metadatos zonales personalizados, usa el comando
gcloud compute project-zonal-metadata remove
y especifica todas las claves de metadatos que deseas eliminar usando la marca--keys
.gcloud compute project-zonal-metadata remove \ --project=PROJECT_ID \ --zone=ZONE \ --keys=KEY1,KEY2,...
Reemplace lo siguiente:
Después de ejecutar el comando, si alguna de las claves especificadas tiene valores de metadatos del proyecto disponibles, las máquinas virtuales en la zona especificada heredan esos valores de metadatos del proyecto. Si la entrada de metadatos se configuró solo a nivel zonal y no hay un valor de metadatos de proyecto correspondiente para esa clave, las máquinas virtuales en esa zona perderán esa información de metadatos.
Ejemplo:
Considere un proyecto de ejemplo
my-project
, que tiene los siguientes metadatos de proyecto personalizados:Para eliminar todos los metadatos zonales en la zona
us-central1-a
, ejecute el siguiente comando.gcloud compute project-zonal-metadata remove \ --metadata=key-1,key-2,key-3,key-4 \ --project=my-project \ --zone=us-central1-a
Después de ejecutar el comando, las máquinas virtuales en la zona
us-central1-a
poseen las siguientes entradas de metadatos de proyecto personalizados:DESCANSAR
Después de realizar la solicitud, si alguna de las claves especificadas tiene valores de metadatos del proyecto disponibles, las máquinas virtuales en la zona especificada heredan esos valores de metadatos del proyecto. Si la clave de metadatos se configuró solo a nivel zonal y no hay un valor de metadatos de proyecto correspondiente para esa clave, las máquinas virtuales en esa zona perderán esa información de metadatos.
Ejemplo:
Considere un proyecto de ejemplo
my-project
, que tiene los siguientes metadatos de proyecto personalizados:Para eliminar los metadatos zonales para
key-1
ykey-2
en la zonaus-central1-a
, realice la siguiente solicitudPATCH
.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": { } } }
Una vez procesada esta solicitud, las máquinas virtuales de la zona
us-central1-a
poseen los siguientes metadatos personalizados. Las máquinas virtuales heredan los valores de metadatos del proyecto parakey-1
ykey-2
, pero conservan los metadatos zonales parakey-3
ykey-4
.Eliminar metadatos de instancia personalizados
Puede eliminar metadatos de instancia personalizados mediante la consola de Google Cloud, la CLI de Google Cloud o REST.
Consola
nube de gcloud
Para eliminar metadatos de instancias personalizadas, usa el comando
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
Reemplace lo siguiente:
DESCANSAR
¿Qué sigue?
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-04-17 (UTC).
-