Cuando creas una instancia de máquina virtual, Google Cloud crea un nombre de DNS interno a partir del nombre de la VM. Si no especificas un nombre de host personalizado, Google Cloud usa el nombre de DNS interno creado automáticamente como nombre de host que proporciona a la VM.
Puedes crear una VM con un nombre de host personalizado especificando cualquier nombre de DNS completo. Los nombres de host personalizados son útiles para mantener las convenciones o para cumplir los requisitos de las aplicaciones que esperan un nombre de host concreto.
Aunque especifiques un nombre de host personalizado, Google Cloud crea el nombre de DNS interno de Compute Engine. Puedes conectarte a tu VM mediante este registro DNS interno creado automáticamente. El registro DNS interno se resuelve en el nombre DNS interno y no en el nombre de host personalizado. Con los nombres de host personalizados, debes crear un registro DNS correspondiente en la zona adecuada, por ejemplo, mediante Cloud DNS.
Antes de empezar
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Go
Para usar las Go muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las Java muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las Node.js muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las Python muestras de esta página en un entorno de desarrollo local, instala e inicializa la CLI de gcloud y, a continuación, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Set up authentication for a local development environment.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI.
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Roles obligatorios
Para obtener los permisos que necesitas para crear una VM con un nombre de host personalizado, pide a tu administrador que te conceda el rol de gestión de identidades y accesos Administrador de instancias de Compute (v. 1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear una VM con un nombre de host personalizado. Para ver los permisos exactos que se necesitan, despliega la sección Permisos necesarios:
Permisos obligatorios
Para crear una VM con un nombre de host personalizado, se necesitan los siguientes permisos:
-
compute.instances.create
del proyecto -
Para usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen -
Para usar una captura para crear la VM, sigue estos pasos:
compute.snapshots.useReadOnly
en la captura -
Para usar una plantilla de instancia para crear la VM, haz lo siguiente:
compute.instanceTemplates.useReadOnly
en la plantilla de instancia -
Para especificar una subred para tu VM, haz lo siguiente:
compute.subnetworks.use
en el proyecto o en la subred elegida -
Para especificar una dirección IP estática para la máquina virtual, haz lo siguiente:
compute.addresses.use
en el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red de VPC, sigue estos pasos:
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida -
Para asignar una red antigua a la VM, sigue estos pasos:
compute.networks.use
en el proyecto -
Para asignar una dirección IP externa a la VM cuando se usa una red antigua, haz lo siguiente:
compute.networks.useExternalIp
en el proyecto -
Para definir los metadatos de la instancia de VM:
compute.instances.setMetadata
en el proyecto -
Para definir etiquetas en la VM, haz lo siguiente:
compute.instances.setTags
en la VM -
Para definir etiquetas en la VM, sigue estos pasos:
compute.instances.setLabels
en la VM -
Para definir una cuenta de servicio que pueda usar la VM, sigue estos pasos:
compute.instances.setServiceAccount
en la VM -
Para crear un disco para la VM, sigue estos pasos:
compute.disks.create
en el proyecto -
Para adjuntar un disco en modo de solo lectura o de lectura y escritura, sigue estos pasos:
compute.disks.use
en el disco -
Para adjuntar un disco en modo de solo lectura, sigue estos pasos:
compute.disks.useReadOnly
en el disco
También puedes obtener estos permisos con roles personalizados u otros roles predefinidos.
Limitaciones
Debes configurar manualmente el registro DNS de tu nombre de host personalizado. Los nombres de host personalizados no se resuelven mediante los registros creados automáticamente que proporciona el DNS interno de Compute Engine. Puede usar cualquiera de las siguientes opciones para alojar el registro DNS del nombre de host personalizado:
Cualquier otro servidor de nombres DNS público
No puedes cambiar un nombre de host personalizado después de crear la VM.
Sistemas operativos compatibles
Los nombres de host personalizados se definen en el entorno de invitado mediante secuencias de comandos de hook que se integran con el software de redes de invitado. Es posible que los sistemas operativos Linux que no tengan una secuencia de comandos para integrarse con el software de la red para invitados no tengan el nombre de host correcto.
Para ver la lista completa de versiones de sistemas operativos que admiten nombres de host personalizados, consulta la sección sobre la compatibilidad con entornos de invitado en Detalles del sistema operativo.
Convención de nomenclatura
Los nombres de host personalizados deben cumplir los requisitos de la RFC 1035 para que sean válidos. Para cumplir estos requisitos, los nombres de host personalizados deben ajustarse a las siguientes especificaciones de formato:
- El nombre de host contiene al menos dos etiquetas descritas de la siguiente manera:
- Cada etiqueta contiene expresiones regulares que solo incluyen estos caracteres:
[a-z]([-a-z0-9]*[a-z0-9])?
. - Las etiquetas se concatenan con un punto.
- Cada etiqueta tiene entre 1 y 63 caracteres.
- Cada etiqueta contiene expresiones regulares que solo incluyen estos caracteres:
- El nombre de host no supera los 253 caracteres.
No válido: contiene una sola etiqueta
my-host1234
Válido: contiene tres etiquetas concatenadas con puntos
my-host1234.example.com
Crear una VM con un nombre de host personalizado
Consola
En la Google Cloud consola, ve a la página Crear una instancia.
Especifica un nombre para la máquina virtual. Para obtener más información, consulta el artículo sobre las convenciones para asignar nombres de recursos.
Despliega la sección Opciones avanzadas y sigue estos pasos:
- Despliega la sección Redes.
- En el campo Nombre de host, especifica el nombre de host personalizado.
Haz las personalizaciones adicionales que necesites en la VM.
Para crear e iniciar la VM, haz clic en Crear.
Paso siguiente: configura tus registros DNS. Para obtener más información, consulta el artículo Gestionar registros.
gcloud
Con la CLI de Google Cloud, sigue las instrucciones para crear una instancia a partir de una imagen o una instantánea, añade la marca
--hostname
y usa el comandogcloud compute instances create
de la siguiente manera:gcloud compute instances create VM_NAME \ --hostname=HOST_NAME
Haz los cambios siguientes:
VM_NAME
: el nombre de la VMHOST_NAME
: nombre de host de dominio completo que quieras asignar
Por ejemplo, para crear una VM
myinstance
con el nombre de host personalizadotest.example.com
, ejecuta el siguiente comando:gcloud compute instances create myinstance \ --hostname=test.example.com
Paso siguiente: configura tus registros DNS. Para obtener más información, consulta el artículo Gestionar registros.
Terraform
Puedes usar un recurso de Terraform para crear una instancia con un nombre de host personalizado mediante el argumento
Para generar el código de Terraform, puedes usar el componente Código equivalente de la Google Cloud consola.hostname
.- En la consola de Google Cloud , ve a la página Instancias de VM.
- Haz clic en Crear instancia.
- Especifica los parámetros que quieras.
- En la parte superior o inferior de la página, haz clic en Código equivalente y, a continuación, en la pestaña Terraform para ver el código de Terraform.
Paso siguiente: configura tus registros DNS. Para obtener más información, consulta el artículo Gestionar registros.
Go
Java
Node.js
Python
REST
Sigue las instrucciones de la API para crear una instancia a partir de una imagen o una instantánea y especifica el campo
hostname
en el cuerpo de la solicitud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "hostname": "HOST_NAME", ... }
Haz los cambios siguientes:
Verificar el nombre de host personalizado
En las VMs Linux, puedes verificar el nombre de host ejecutando el comando
hostname -f
en la VM.También puedes verificar el nombre de host personalizado mediante la Google Cloud consola o la CLI de Google Cloud.
Consola
Para ver el nombre de host personalizado de tu VM, ve a la página Instancias de VM.
Haz clic en el nombre de la instancia para abrir la página Detalles de la instancia de VM.
Consulte la sección Nombre de host. El campo Nombre de host solo se muestra si se ha definido un nombre de host personalizado.
gcloud
Para ver el nombre de host personalizado de tu VM con
gcloud compute
, usa el subcomandoinstances describe
con la marca--format
para filtrar el resultado. SustituyeVM_NAME
por el nombre de la VM.gcloud compute instances describe VM_NAME \ --format='get(hostname)'
Por ejemplo, para ver el nombre de host personalizado de una VM llamada
myinstance
, ejecuta el siguiente comando.gcloud compute instances describe myinstance \ --format='get(hostname)'
La salida podría ser similar a la siguiente:
test.example.com
Si no se ha definido un nombre de host personalizado, la salida de este comando estará en blanco.
Siguientes pasos
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-09-19 (UTC).
-