Cambia el nombre de una instancia


En este documento, se describe cómo cambiar el nombre de una instancia de máquina virtual (VM). Para detener o iniciar una instancia, consulta Inicia y detén una instancia. Para suspender o reanudar una instancia, consulta Suspende y reanunda una instancia. Para obtener más información sobre el ciclo de vida de las instancias, consulta Ciclo de vida de las instancias.

Cuando crees una instancia, debes especificar un nombre. Una vez que la crees, recomendamos que cambies el nombre de la instancia para que cumpla con estos requisitos:

  • Represente mejor la carga de trabajo que se ejecutará en la instancia.
  • Aluda al sistema operativo en el que se ejecuta la instancia.
  • Se adhieren a cualquier convenciones de nombres que requiera la organización.

URI de instancia.

Cambiar el nombre de una instancia podría afectar tus proyectos. En vez de hacer referencia a los recursos de instancia por su nombre, puedes usar el URI, que es permanente. El URI tiene el siguiente formato: projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_ID.

Si quieres saber cómo obtener el ID de instancia, consulta Obtén el ID de instancia.

Precios

Si cambias el nombre de una instancia, no cambiará el importe que se te factura. Además, dado que tu factura muestra instancias de VM en función de sus unidades en stock (SKU) y no de sus nombres, no verás los nombres de tus instancias de VM en tu factura.

Limitaciones

Recursos con nombres automáticos
Cuando cambias el nombre de una instancia, no se actualizan los recursos que tienen un nombre basado en el nombre original de la instancia. Por ejemplo, si agregas un disco a una instancia mientras la creas y cambias el nombre del disco de forma automática en función de la instancia, no se modificará el nombre del disco.
Console
Debes actualizar tu navegador para que Cloud Console actualice el nombre de la VM.
Servidor DHCP
Después de cambiar el nombre de una instancia, el servidor DHCP responde a las solicitudes DHCP con el nombre de host actualizado en el formato HOSTNAME.c.PROJECT_ID.internal (para DNS global) o HOSTNAME.ZONE.c.PROJECT_ID.internal (para DNS zonal). Si quieres obtener más información, consulta Tipos de nombres de DNS internos.
Nombres de host

Los nombres de host se modifican cuando cambias el nombre de la instancia. En Windows, es posible que las actualizaciones de nombres de host requieran un reinicio.

Las instancias que tienen nombres de host personalizados no se actualizan.

El cambio del nombre de host directamente en él no afecta el nombre del recurso de VM.

Estados de la instancia

Detén la instancia antes de cambiarle el nombre porque solo puedes hacerlo si tiene el estado TERMINATED. Por ejemplo, no puedes cambiar el nombre de una instancia que tenga el estado SUSPENDED.

Grupos de instancias administrados

No puedes cambiar el nombre de las instancias que se encuentran en grupos de instancias administrados (MIG) porque estas instancias heredan de forma automática e irreversible sus nombres de la propiedad base instance name de su MIG sin estado.

Convenciones de nombres

No puedes cambiar el nombre de una instancia por un nombre que ya está en uso en el proyecto.

Los nombres de las instancias deben cumplir con las convenciones de nomenclatura de recursos.

Antes de comenzar

  • Si deseas usar los ejemplos de línea de comandos de esta guía, haz lo siguiente:
    1. Instala la versión más reciente de la herramienta de línea de comandos de gcloud.
    2. Configura una región y una zona predeterminadas.
  • Si deseas usar los ejemplos de API de esta guía, configura el acceso a la API.
  • Revise y, si corresponde, actualice lo siguiente:
    • Grupos de Cloud Monitoring, gráficos y alertas: Monitoring hace coincidir las strings y, cuando cambias el nombre de una instancia, esas strings no se actualizan. Si cambias el nombre de una VM, actualiza tus reglas de Monitoring para incluir las VM con nombres nuevos en tus informes.
    • URL de la consola: Si cambias el nombre de una VM, se cambiarás su URL de consola. Si cambias el nombre de una VM, actualiza los vínculos, como los favoritos del navegador, que hagan referencia a la URL de la consola de la VM.
    • Vinculaciones de funciones condicionales de Identity and Access Management (IAM): Las vinculaciones de funciones condicionales son compatibles con la concesión de permisos en nombre del recurso. Por ejemplo, IAM puede otorgar una función a un usuario si el nombre de una VM comienza con una string particular. Estas vinculaciones no se actualizan cuando cambias el nombre de una VM, por lo que podrías afectar el acceso de un usuario al recurso de la VM debido a que modificas el conjunto de VM al que se aplica el nombre con prefijo. Si cambias el nombre de una VM, actualiza estas vinculaciones.
    • Caché de servicio DNS interno: El servicio DNS interno asigna nombres de DNS internos a las VM, en los que el nombre de host tiene el formato HOSTNAME.c.PROJECT_ID.internal (para DNS global) y HOSTNAME.ZONE.c.PROJECT_ID.internal (para DNS zonal). Después de cambiar el nombre de una VM, cambiarán esos nombres de host. Luego, el servicio de DNS interno comenzará a resolver el nombre de host nuevo y las solicitudes al nombre de DNS anterior fallarán. Si cambias el nombre de una VM, es posible que debas actualizar la caché de DNS para actualizar el nombre de host. Si quieres obtener más información sobre los nombres de DNS globales y zonales, consulta Tipos de nombres de DNS internos.
    • Consultas de metadatos: Después de cambiar el nombre de una VM, el servidor de metadatos informa el nombre nuevo. Si cambias el nombre de una VM, actualiza cualquier secuencia de comandos o programa que consulte el servidor de metadatos para que pueda consultar el nombre nuevo de la VM.
    • Políticas de la organización que restringen las direcciones IP externas: Las restricciones a las VM que tienen una dirección IP externa hacen referencia al nombre de la VM. Cuando cambias el nombre de una VM, esta restricción no se actualiza. Si cambias el nombre de una VM, actualiza la política de la organización de la IP externa con el nombre nuevo de la VM.
    • Nombres de host de SQL Server: Si cambias el nombre de una instancia que aloja SQL Server, debes actualizar el nombre de la instancia de SQL Server. Para obtener más información, consulta Cambia el nombre de una computadora que aloja una instancia independiente de SQL Server.

Cambia el nombre de una instancia

Debes detener una instancia antes de cambiarle el nombre. Si, después de cambiar el nombre, recibes un mensaje de error en Google Cloud Console, actualiza tu navegador.

Permisos necesarios para esta tarea

Para realizar esta tarea, debes tener los siguientes permisos:

  • compute.instances.setName en la instancia

gcloud

Antes de cambiar el nombre de una instancia, detenla con el comando gcloud compute instances stop. Después de cambiar el nombre, inicia la instancia con el comando gcloud compute instances start.

Cambia el nombre de la instancia con el comando gcloud beta compute instances set-name:

gcloud beta compute instances set-name INSTANCE_NAME \
    --new-name=NEW_INSTANCE_NAME

Reemplaza lo siguiente:

  • INSTANCE_NAME: nombre de la instancia a la que se le cambiará el nombre
  • NEW_INSTANCE_NAME: nombre nuevo de la instancia

API

Antes de cambiar el nombre de una instancia, detenla con el método instances.stop. Después de cambiar el nombre, inicia la instancia con el método instances.start.

Para obtener el estado del cambio de nombre, sondea el ID de operación que muestra la API de Rename. Después del cambio de nombre, las llamadas a la API que dependen del nombre anterior muestran un código de estado 404 Not Found. Para obtener más información, consulta Cómo manejar las respuestas de la API.

Detén la instancia con el método instances.setName:

POST https://www.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/setName

{
    Name: "NEW_INSTANCE_NAME"
}

Reemplaza lo siguiente:

  • PROJECT_ID: ID del proyecto que contiene la instancia a la que se le cambiará el nombre
  • ZONE: zona que contiene la instancia a la que se le cambiará el nombre
  • INSTANCE_NAME: instancia a la que se le cambiará el nombre
  • NEW_INSTANCE_NAME: nombre nuevo de la instancia

Obtén el ID de la instancia

El ID de instancia te permite hacer referencia a una VM mediante un valor inmutable.

gcloud

Obtén el ID de instancia con el comando gcloud compute instances describe. Con este comando, se muestra el ID de la instancia como una string en el campo id.

gcloud compute instances describe INSTANCE_NAME

Reemplaza INSTANCE_NAME por el nombre de la instancia.

API

Obtén el ID de instancia con el método instances.get. Este método muestra el ID de instancia como un valor de string de id en el cuerpo de la respuesta.

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME

Reemplaza lo siguiente:

  • PROJECT_ID: el ID del proyecto que contiene la instancia para obtener el ID de

  • ZONE: la zona que contiene la instancia para obtener el ID de

  • INSTANCE_NAME: nombre de la instancia para obtener el ID de

¿Qué sigue?