Mit dem internen DNS auf VMs zugreifen


VMs im selben Virtual Private Cloud-Netzwerk können mithilfe interner DNS-Namen anstelle von IP-Adressen aufeinander zugreifen.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich wie folgt bei Compute Engine authentifizieren.

    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. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Set a default region and zone.
    3. REST

      Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

        Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Internen DNS-Namen einer VM ermitteln

Mit dem folgenden Verfahren können Sie den einer VM zugewiesenen internen DNS-Namen lesen. Sie können den internen DNS-Namen abrufen, indem Sie den Metadateneintrag hostname abfragen.

  1. Verbindung zur VM herstellen
  2. Fragen Sie die hostname-Metadaten ab:

    Linux-VMs

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

    Windows-VMs

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

Der Metadatenserver gibt den Hostnamen der VM in einem der folgenden Formate zurück. Dabei wird der Typ des internen DNS-Namens angezeigt, der von der VM verwendet wird:

  • Zonal DNS: VM_NAME.ZONE.c.PROJECT_ID.internal
  • Global DNS: VM_NAME.c.PROJECT_ID.internal

Dabei gilt:

  • VM_NAME: der Name der VM
  • ZONE: die Zone, in der sich die VM befindet
  • PROJECT_ID: das Projekt, zu dem die Instanz gehört.

Mit dem internen DNS-Namen auf VMs zugreifen

Verwenden Sie den internen DNS-Namen anstelle der IP-Adresse, um auf die VM zuzugreifen.

Im folgenden Beispiel wird mit ping eine VM kontaktiert, die ein zonales DNS verwendet. Diese Methode funktioniert nur, wenn Sie eine Firewallregel erstellt haben, die eingehenden ICMP-Traffic an die Instanz zulässt.

$ 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

Ersetzen Sie Folgendes:

  • VM_NAME: der Name der VM
  • ZONE: die Zone, in der sich die VM befindet
  • PROJECT_ID: das Projekt, zu dem die Instanz gehört.

Nächste Schritte