Accéder aux VM à l'aide d'un DNS interne


Les VM d'un même réseau cloud privé virtuel peuvent accéder les unes aux autres en utilisant des noms DNS internes au lieu d'adresses IP.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes:

    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

      Pour utiliser les exemples d'API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à gcloud CLI.

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

        gcloud init

      Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l'authentification Google Cloud.

Déterminer le nom DNS interne d'une VM

Utilisez la procédure suivante pour afficher le nom DNS interne attribué à une instance de machine virtuelle. Vous pouvez obtenir le nom DNS interne en interrogeant l'entrée de métadonnées hostname.

  1. Connectez-vous à la VM.
  2. Interrogez les métadonnées 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"
    

Le serveur de métadonnées renvoie le nom d'hôte de la VM dans l'un des formats suivants, qui indiquent le type de nom DNS interne utilisé par la machine virtuelle:

  • DNS zonal : VM_NAME.ZONE.c.PROJECT_ID.internal
  • DNS global : VM_NAME.c.PROJECT_ID.internal

Dans le résultat :

  • VM_NAME : nom de la VM
  • ZONE : zone où se trouve la VM
  • PROJECT_ID : projet auquel appartient la VM.

Accéder aux VM par nom DNS interne

Pour accéder à la VM, utilisez le nom DNS interne à la place de l'adresse IP.

Dans l'exemple suivant, la commande ping sert à contacter une VM utilisant le DNS zonal. Cette méthode fonctionne à condition que vous ayez créé une règle de pare-feu autorisant le trafic ICMP entrant sur l'instance.

$ 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

Remplacez les éléments suivants :

  • VM_NAME : nom de la VM
  • ZONE : zone où se trouve la VM
  • PROJECT_ID : projet auquel appartient la VM.

Étapes suivantes