Accede a las VMs 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 comenzar

  • Si aún no lo hiciste, configura la autenticación. 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 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

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

Determina el nombre DNS interno para una VM

Usa el siguiente procedimiento para leer el nombre DNS interno asignado a una instancia de VM. Para obtener el nombre de DNS interno, consulta la entrada de metadatos hostname.

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

    VM de Linux

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

    VM de Windows

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

El servidor de metadatos muestra 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 el resultado verás lo siguiente:

  • VM_NAME: El nombre de la VM
  • ZONE: La zona donde se ubica la VM.
  • PROJECT_ID: el proyecto al que pertenece la VM

Accede 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 comunicarse con una VM que utiliza DNS zonal. Este método funciona, siempre y cuando crees una regla de firewall que permita el tráfico de 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

Reemplaza lo siguiente:

  • VM_NAME: El nombre de la VM
  • ZONE: La zona donde se ubica la VM.
  • PROJECT_ID: el proyecto al que pertenece la VM

¿Qué sigue?