Acceda a máquinas virtuales mediante DNS interno


Las máquinas virtuales de la misma red de nube privada virtual pueden acceder entre sí utilizando nombres DNS internos en lugar de direcciones IP.

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

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

    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.

        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 .

Determinar el nombre DNS interno de una VM

Utilice el siguiente procedimiento para leer el nombre DNS interno asignado a una instancia de VM. Puede obtener el nombre DNS interno consultando la entrada de metadatos hostname .

  1. Conéctese a la máquina virtual .
  2. Consulta los metadatos 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 utiliza 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 donde se encuentra la VM
  • PROJECT_ID : el proyecto al que pertenece la VM

Acceda a las máquinas virtuales por nombre DNS interno

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

El siguiente ejemplo usa ping para contactar una VM que usa DNS zonal . Este método funciona, siempre que haya creado una regla de firewall 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

Reemplace lo siguiente:

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

¿Qué sigue?