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. Com isso, você confirma sua identidade para acesso a Google Cloud serviços e APIs do. Para executar código ou amostras de um ambiente de desenvolvimento local, faça a autenticação no Compute Engine com um destes métodos:

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o Google Cloud console para acessar Google Cloud serviços e APIs, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

      gcloud init

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

  • Defina uma região e uma zona padrão.
  • REST

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

      Instale a Google Cloud CLI.

      Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

    Saiba mais em 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. 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