Accedi 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 è il processo di verifica dell'identità per poter accedere a Google Cloud servizi e API. 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. Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.

    2. Set a default region and zone.

    REST

    Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il seguente comando:

      gcloud init

      Se utilizzi un provider di identità (IdP) esterno, devi prima accedere alla gcloud CLI con la tua identità federata.

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

Determina il nome DNS interno di una VM

Utilizza la seguente procedura 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. Connettersi 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 di zona: 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

Accedi 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 DNS di zona. 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