Cuando creas una instancia de máquina virtual (VM), Google Cloud crea un nombre de DNS interno a partir del nombre de la VM. A menos que especifiques un nombre de host personalizado, Google Cloud usa el nombre de DNS interno que se creó de forma automática como el nombre de host que proporciona a la VM.
Puedes crear una VM con un nombre de host personalizado y especificar cualquier nombre DNS completamente calificado. Los nombres de host personalizados son útiles a fin de mantener las convenciones o admitir requisitos para las aplicaciones que esperan un nombre de host en particular.
Incluso cuando especificas un nombre de host personalizado, Google Cloud creará el nombre de DNS interno de Compute Engine. Puedes conectarte a tu VM con este registro DNS interno creado automáticamente. El registro DNS interno se resuelve en el nombre de DNS interno y no en el nombre de host personalizado. Con los nombres de host personalizados, aún es necesario crear un registro DNS correspondiente en la zona adecuada, por ejemplo, mediante Cloud DNS.
Antes de comenzar
-
Configura la autenticación si aún no lo hiciste.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
- Install the Google Cloud CLI.
-
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.
-
compute.instances.create
en el proyecto -
Si deseas usar una imagen personalizada para crear la VM, sigue estos pasos:
compute.images.useReadOnly
en la imagen -
Para usar una instantánea a fin de crear la VM, haz lo siguiente:
compute.snapshots.useReadOnly
en la instantánea -
Si quieres usar una plantilla de instancias para crear la VM, sigue estos pasos:
compute.instanceTemplates.useReadOnly
en la plantilla de instancias -
Para asignar una red heredada a la VM, ejecuta
compute.networks.use
en el proyecto. -
Si deseas 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, ejecuta
compute.networks.useExternalIp
en el proyecto -
A fin de especificar una subred para tu 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 de VPC,
compute.subnetworks.useExternalIp
en el proyecto o en la subred elegida. -
Para configurar los metadatos de la instancia de VM para la VM,
compute.instances.setMetadata
en el proyecto. -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setTags
en la VM -
Para configurar etiquetas en la VM, haz lo siguiente:
compute.instances.setLabels
en la VM -
A fin de configurar una cuenta de servicio para que la VM use:
compute.instances.setServiceAccount
en la VM -
Crear un disco nuevo para la VM:
compute.disks.create
en el proyecto -
Para conectar un disco existente en modo de solo lectura o de lectura y escritura, usa
compute.disks.use
en el disco. -
Para conectar un disco existente en modo de solo lectura, haz lo siguiente:
compute.disks.useReadOnly
en el disco Debes configurar manualmente el registro DNS para 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. Puedes usar cualquiera de los siguientes a fin de alojar el registro DNS para el nombre de host personalizado:
cualquier otro servidor de nombres de DNS público
No puedes cambiar un nombre de host personalizado después de crear la VM.
- El nombre de host contiene al menos dos etiquetas que se describen de la siguiente manera:
- Cada etiqueta contiene expresiones regulares que incluyen solo 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 incluyen solo estos caracteres:
- El nombre de host no supera los 253 caracteres.
En la consola de Google Cloud, ve a la página Crea una instancia.
Especifica un Nombre para la VM. Para obtener más información, consulta Convención de asignación de nombres de recursos.
Expande la sección Opciones avanzadas y sigue estos pasos:
- Expande la sección Herramientas de redes.
- En el campo Nombre de host, especifica el nombre de host personalizado.
Realiza personalizaciones de VM adicionales, según sea necesario.
Para crear y, también, iniciar la VM, haz clic en Crear.
VM_NAME
El nombre de la VMHOST_NAME
: El nombre de host del dominio completamente calificado que deseas asignar- En la consola de Google Cloud, ve a la página Instancias de VM.
- Haz clic en Crear instancia.
- Especifica los parámetros que desees.
- En la parte superior o inferior de la página, haz clic en Código equivalente y, luego, en la pestaña Terraform para ver el código de Terraform.
A fin de 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 instancia de VM.
Revisa la sección Nombre de host. El campo Nombre de host solo es visible si se configura 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Roles obligatorios
Para obtener los permisos que necesitas para crear VM con un nombre de host personalizado, pídele a tu administrador que te otorgue el rol de Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1
) de IAM en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.Este rol predefinido contiene los permisos necesarios para crear VM con un nombre de host personalizado. Para ver los permisos exactos que son necesarios, expande la sección Permisos requeridos:
Permisos necesarios
Se requieren los siguientes permisos para crear una VM con un nombre de host personalizado:
También puedes obtener estos permisos con roles personalizados o con otros roles predefinidos.
Limitaciones
Sistemas operativos compatibles
Los nombres de host personalizados se configuran en el entorno invitado con hooks de salida
dhclient
en Linux. Es posible que los sistemas operativos Linux que no admiten los hooks de salidadhclient
o que no usendhclient
no tengan el nombre de host correcto.Para obtener la lista completa de las versiones del sistema operativo que admiten nombres de host personalizados, consulta la compatibilidad del entorno invitado en Detalles de los sistemas operativos.
Convención de nombres
Los nombres de host personalizados deben cumplir con los requisitos de RFC 1035 para nombres de host válidos. Para cumplir con estos requisitos, los nombres de host personalizados deben cumplir con 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
Crea una VM con un nombre de host personalizado
Console
Paso siguiente: Configura tus registros DNS. Para obtener más información, consulta Administra registros.
gcloud
Con Google Cloud CLI, sigue las instrucciones para crear una instancia a partir de una imagen o una instantánea, agrega
--hostname
y usa el comandogcloud compute instances create
de la siguiente manera:gcloud compute instances create VM_NAME \ --hostname=HOST_NAME
Reemplaza lo siguiente:
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 Administra registros.
Terraform
Puedes usar un recurso de Terraform para crear una instancia con un nombre de host personalizado con el argumento
Para generar el código de Terraform, puedes usar el componente Código equivalente en la consola de Google Cloud.hostname
.Paso siguiente: Configura tus registros DNS. Para obtener más información, consulta Administra 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, pero 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", ... }
Reemplaza lo siguiente:
Verifica el nombre de host personalizado
Para las VM de Linux, puedes verificar el nombre de host con el comando de
hostname -f
en la VM.También puedes verificar el nombre de host personalizado con la consola de Google Cloud o Google Cloud CLI.
Console
gcloud
A fin de ver el nombre de host personalizado para tu instancia con
gcloud compute
, usa el subcomandoinstances describe
con una marca--format
para filtrar el resultado. ReemplazaVM_NAME
por el nombre de la VM.gcloud compute instances describe VM_NAME \ --format='get(hostname)'
Por ejemplo, a fin de ver el nombre de host personalizado de una VM llamada
myinstance
, ejecuta el siguiente comando.gcloud compute instances describe myinstance \ --format='get(hostname)'
El resultado podría parecerse al siguiente:
test.example.com
Si no se configura un nombre de host personalizado, el resultado de este comando aparece en blanco.
¿Qué sigue?
Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-11-21 (UTC)
-