Accedere alle VM utilizzando il DNS interno


Le VM nella stessa rete Virtual Private Cloud possono accedere l'una all'altra utilizzando nomi DNS interni anziché indirizzi IP.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud. Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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

      Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.

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

        gcloud init

      Per saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Determinare il nome DNS interno di una VM

Utilizza la procedura seguente per leggere il nome DNS interno assegnato a un'istanza VM. Puoi ottenere il nome DNS interno eseguendo una query sulla voce dei metadati hostname.

  1. Connettiti alla VM.
  2. Esegui una query sui metadati di hostname:

    VM Linux

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

    VM Windows

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

Il server dei metadati restituisce il nome host della VM in uno dei seguenti formati, che mostra il tipo di nome DNS interno utilizzato dalla VM:

  • DNS zonale: VM_NAME.ZONE.c.PROJECT_ID.internal
  • DNS globale: VM_NAME.c.PROJECT_ID.internal

Nell'output:

  • VM_NAME: il nome della VM
  • ZONE: la zona in cui si trova la VM
  • PROJECT_ID: il progetto a cui appartiene la VM

Accedere alle VM tramite il nome DNS interno

Per accedere alla VM, utilizza il nome DNS interno al posto dell'indirizzo IP.

L'esempio seguente utilizza ping per contattare una VM che utilizza il DNS zonale. Questo metodo funziona, a condizione che tu abbia creato una regola firewall che consenta il traffico ICMP in entrata all'istanza.

$ 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

Sostituisci quanto segue:

  • VM_NAME: il nome della VM
  • ZONE: la zona in cui si trova la VM
  • PROJECT_ID: il progetto a cui appartiene la VM

Passaggi successivi