Accedi alle VM utilizzando il DNS interno


Le VM nella stessa rete Virtual Private Cloud possono accedere l'una all'altra utilizzando i nomi DNS interni invece che gli 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 come segue.

    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 ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Determinare il nome DNS interno di una VM

Usa la seguente procedura per leggere il nome DNS interno assegnato a una VM in esecuzione in un'istanza Compute Engine. Puoi ottenere il nome DNS interno eseguendo una query sui metadati hostname .

  1. Connettiti alla VM.
  2. Esegui una query sui metadati 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 di aver creato una regola firewall che consente per il traffico ICMP in entrata sull'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