Acceder a máquinas virtuales mediante DNS interno


Las VMs de la misma red de nube privada virtual pueden acceder entre sí mediante nombres de DNS internos en lugar de direcciones IP.

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

    1. 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.

    2. Set a default region and zone.

    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. 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.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Determinar el nombre de DNS interno de una VM

Sigue este procedimiento para leer el nombre de DNS interno asignado a una instancia de VM. Puedes obtener el nombre de DNS interno consultando la entrada de metadatos hostname.

  1. Conéctate a la VM.
  2. Consulta los metadatos de hostname:

    Máquinas virtuales Linux

    curl "http://metadata.google.internal/computeMetadata/v1/instance/hostname" \
      -H "Metadata-Flavor: Google"
    

    Máquinas virtuales de Windows

    Invoke-RestMethod `
      -Headers @{"Metadata-Flavor" = "Google"} `
      -Uri "http://metadata.google.internal/computeMetadata/v1/instance/hostname"
    

El servidor de metadatos devuelve el nombre de host de la VM en uno de los siguientes formatos, que muestra el tipo de nombre DNS interno que usa la VM:

  • DNS zonal: VM_NAME.ZONE.c.PROJECT_ID.internal
  • DNS global: VM_NAME.c.PROJECT_ID.internal

En la salida:

  • VM_NAME: el nombre de la VM
  • ZONE: la zona en la que se encuentra la VM
  • PROJECT_ID: el proyecto al que pertenece la VM

Acceder a las VMs por nombre de DNS interno

Para acceder a la VM, usa el nombre de DNS interno en lugar de la dirección IP.

En el siguiente ejemplo se usa ping para ponerse en contacto con una VM que usa DNS de zona. Este método funciona siempre que hayas creado una regla de cortafuegos que permita el tráfico ICMP entrante a la instancia.

$ ping VM_NAME.ZONE.c.PROJECT_ID.internal -c 1

PING VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17) 56(84) bytes of data.
64 bytes from VM_NAME.ZONE.c.PROJECT_ID.internal (10.240.0.17): icmp_seq=1 ttl=64 time=0.136 ms

Haz los cambios siguientes:

  • VM_NAME: el nombre de la VM
  • ZONE: la zona en la que se encuentra la VM
  • PROJECT_ID: el proyecto al que pertenece la VM

Siguientes pasos