Acessar VMs usando DNS interno


As VMs na mesma rede de nuvem privada virtual podem acessar umas às outras usando nomes DNS internos em vez de endereços IP.

Antes de começar

  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine selecionando uma das seguintes opções:

    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

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.

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

        gcloud init

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Determinar o nome DNS interno de uma VM

Use o procedimento a seguir para ler o nome DNS interno atribuído a uma instância de VM. É possível conseguir o nome DNS interno consultando a entrada de metadados hostname.

  1. Conecte-se à VM.
  2. Consulte os metadados hostname:

    VMs do Linux

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

    VM do Windows

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

O servidor de metadados retorna o nome do host da VM em um dos formatos a seguir, que mostra o tipo de nome DNS interno que a VM usa:

  • DNS por zona: VM_NAME.ZONE.c.PROJECT_ID.internal
  • DNS global: VM_NAME.c.PROJECT_ID.internal

Na saída:

  • VM_NAME: o nome da VM
  • ZONE: é a zona em que a VM está localizada
  • PROJECT_ID: o projeto que contém a VM.

Acessar VMs por nome DNS interno

Para acessar a VM, use o nome DNS interno no lugar do endereço IP.

O exemplo a seguir usa ping para conectar uma VM que usa DNS por zona. Esse método funciona desde que você tenha criado uma regra de firewall que permita o tráfego ICMP de entrada para a instância.

$ 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

Substitua:

  • VM_NAME: o nome da VM
  • ZONE: é a zona em que a VM está localizada
  • PROJECT_ID: o projeto que contém a VM.

A seguir