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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    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

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

        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.

      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 für 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 zum Zugriff auf die VM den internen DNS-Namen anstelle der IP-Adresse.

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