Cuando crea una instancia de máquina virtual (VM), Google Cloud crea un nombre DNS interno a partir del nombre de la VM. A menos que especifique un nombre de host personalizado, Google Cloud utiliza el nombre DNS interno creado automáticamente como nombre de host que proporciona a la VM.
Puede crear una máquina virtual con un nombre de host personalizado especificando cualquier nombre DNS completo. Los nombres de host personalizados son útiles para mantener convenciones o para admitir requisitos de aplicaciones que esperan un nombre de host en particular.
Incluso cuando especifica un nombre de host personalizado, Google Cloud crea el nombre DNS interno de Compute Engine. Puede conectarse a su VM utilizando este registro DNS interno creado automáticamente. El registro DNS interno se resuelve con el nombre DNS interno y no con el nombre de host personalizado. Con nombres de host personalizados, aún necesita crear un registro DNS correspondiente en la zona apropiada, por ejemplo, usando Cloud DNS.
Antes de comenzar
- 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.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
- Install the Google Cloud CLI.
-
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.
-
compute.instances.create
en el proyecto. - Para usar una imagen personalizada para crear la VM:
compute.images.useReadOnly
en la imagen - Para usar una instantánea para crear la VM:
compute.snapshots.useReadOnly
en la instantánea - Para usar una plantilla de instancia para crear la VM:
compute.instanceTemplates.useReadOnly
en la plantilla de instancia - Para asignar una red heredada a la VM:
compute.networks.use
en el proyecto - Para especificar una dirección IP estática para la VM:
compute.addresses.use
en el proyecto - Para asignar una dirección IP externa a la VM cuando se usa una red heredada:
compute.networks.useExternalIp
en el proyecto - Para especificar una subred para su VM:
compute.subnetworks.use
en el proyecto o en la subred elegida - Para asignar una dirección IP externa a la VM cuando se usa una red VPC:
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida - Para configurar metadatos de instancia de VM para la VM:
compute.instances.setMetadata
en el proyecto - Para configurar etiquetas para la VM:
compute.instances.setTags
en la VM - Para configurar etiquetas para la VM:
compute.instances.setLabels
en la VM - Para configurar una cuenta de servicio para que la use la VM:
compute.instances.setServiceAccount
en la VM - Para crear un nuevo disco para la VM:
compute.disks.create
en el proyecto - Para conectar un disco existente en modo de solo lectura o lectura-escritura:
compute.disks.use
en el disco - Para conectar un disco existente en modo de solo lectura:
compute.disks.useReadOnly
en el disco Debe configurar manualmente el registro DNS para su nombre de host personalizado. Los nombres de host personalizados no se resuelven mediante los registros creados automáticamente proporcionados por el DNS interno de Compute Engine . Puede utilizar cualquiera de los siguientes para alojar el registro DNS para el nombre de host personalizado:
cualquier otro servidor de nombres DNS público
No puede cambiar un nombre de host personalizado después de haber creado la VM.
- El nombre de host contiene al menos dos etiquetas que se describen a continuación:
- Cada etiqueta contiene expresiones regulares que incluyen solo estos caracteres:
[az]([-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 incluyen solo estos caracteres:
- El nombre de host no supera los 253 caracteres.
En la consola de Google Cloud, vaya a la página Crear una instancia .
Especifique un nombre para su VM. Para obtener más información, consulte Convención de nomenclatura de recursos .
Expanda la sección Opciones avanzadas y luego haga lo siguiente:
- Expanda la sección Redes .
- En el campo Nombre de host , especifique el nombre de host personalizado.
Realice personalizaciones adicionales de VM, según sea necesario.
Para crear e iniciar la VM, haga clic en Crear .
-
VM_NAME
: el nombre de la VM -
HOST_NAME
: el nombre de host de dominio completo que desea asignar - En la consola de Google Cloud, vaya a la página de instancias de VM .
- Haga clic en Crear instancia .
- Especifique los parámetros que desee.
- En la parte superior o inferior de la página, haga clic en Código equivalente y luego haga clic en la pestaña Terraform para ver el código de Terraform.
Para ver el nombre de host personalizado para su VM, vaya a la página de instancias de VM .
Haga clic en el nombre de la instancia para abrir la página de detalles de la instancia de VM .
Revise la sección Nombre de host . El campo Nombre de host sólo es visible si se establece un nombre de host personalizado .
Terraform
Para usar las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Go
Para usar las muestras de Go de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Java
Para usar las muestras de Java de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Node.js
Para usar las muestras de Node.js de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
Python
Para usar las muestras de Python de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.
Para obtener más información, consulta Set up authentication for a local development environment.
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 crear una máquina virtual con un nombre de host personalizado, solicite a su administrador que le otorgue la función de IAM Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1
) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulte Administrar el acceso a proyectos, carpetas y organizaciones .Esta función predefinida contiene los permisos necesarios para crear VM con un nombre de host personalizado. Para ver los permisos exactos que se requieren, expanda la sección Permisos requeridos :
Permisos requeridos
Se requieren los siguientes permisos para crear VM con un nombre de host personalizado:
Es posible que también pueda obtener estos permisos con roles personalizados u otros roles predefinidos .
Limitaciones
Sistemas operativos compatibles
Los nombres de host personalizados se configuran en el entorno de invitados mediante scripts de enlace que se integran con el software de red de invitados. Es posible que los sistemas operativos Linux que no tienen un script para integrarse con el software de la red invitada no tengan el nombre de host correcto.
Para obtener la lista completa de versiones de sistemas operativos que admiten nombres de host personalizados, consulte la compatibilidad con el entorno invitado en Detalles del sistema operativo .
Convención de nomenclatura
Los nombres de host personalizados deben cumplir con los requisitos RFC 1035 para nombres de host válidos. Para cumplir con estos requisitos, los nombres de host personalizados deben cumplir las siguientes especificaciones de formato:
No válido : contiene una sola etiqueta
my-host1234
Válido : contiene tres etiquetas concatenadas con puntos
my-host1234.example.com
Cree una VM con un nombre de host personalizado
Consola
Siguiente paso: configure sus registros DNS. Para obtener más información, consulte Gestión de registros .
nube de gcloud
Con la CLI de Google Cloud, sigue las instrucciones para crear una instancia a partir de una imagen o una instantánea , agrega la marca
--hostname
y usa el comandogcloud compute instances create
de la siguiente manera:gcloud compute instances create VM_NAME \ --hostname=HOST_NAME
Reemplace lo siguiente:
Por ejemplo, para crear una VM
myinstance
con el nombre de host personalizadotest.example.com
, ejecute el siguiente comando:gcloud compute instances create myinstance \ --hostname=test.example.com
Siguiente paso: configure sus registros DNS. Para obtener más información, consulte Gestión de registros .
Terraformar
Puede utilizar un recurso de Terraform para crear una instancia con un nombre de host personalizado utilizando el argumento
Para generar el código Terraform, puede utilizar el componente Código equivalente en la consola de Google Cloud.hostname
.Siguiente paso: configure sus registros DNS. Para obtener más información, consulte Gestión de registros .
Ir
Java
Nodo.js
Pitón
DESCANSAR
Siga las instrucciones de la API para crear una instancia a partir de una imagen o una instantánea y especifique el campo de
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", ... }
Reemplace lo siguiente:
Verificar el nombre de host personalizado
Para máquinas virtuales Linux, puede verificar el nombre de host ejecutando el comando
hostname -f
en la máquina virtual.También puede verificar el nombre de host personalizado utilizando la consola de Google Cloud o la CLI de Google Cloud.
Consola
nube de gcloud
Para ver el nombre de host personalizado para tu VM usando
gcloud compute
, usa el subcomandoinstances describe
con una marca--format
para filtrar la salida. ReemplaceVM_NAME
con el nombre de la VM.gcloud compute instances describe VM_NAME \ --format='get(hostname)'
Por ejemplo, para ver el nombre de host personalizado para una VM llamada
myinstance
, ejecute el siguiente comando.gcloud compute instances describe myinstance \ --format='get(hostname)'
El resultado podría parecerse al siguiente:
test.example.com
Si no se establece un nombre de host personalizado , el resultado de este comando está en blanco.
¿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).
-