Tutorial: configurar um domínio usando o Cloud DNS


Neste tutorial, você verá o processo completo para registrar um domínio, configurar um servidor da Web de amostra e usar o Cloud DNS para apontar o URL do domínio para o servidor.

Se você ainda não usou o Terraform para o Google Cloud, consulte Introdução ao Terraform.

Objetivos

Neste tutorial, demonstramos como concluir as seguintes tarefas:

  • Registrar um nome de domínio usando o Cloud Domains
  • criar uma instância de máquina virtual (VM) do Compute Engine
  • Executar um servidor da Web Apache básico
  • Configurar seu domínio usando o Cloud DNS.
  • Atualizar servidores de nomes
  • Verificar a configuração

Custos

Há um custo associado ao registro de um nome de domínio. Para conferir os preços do Cloud Domains, consulte Preços do Cloud Domains.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  5. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  6. Ative a API Compute Engine.

    Ativar a API

Registrar um nome de domínio.

Se você já tiver um domínio registrado, pule esta seção.

Você pode usar o Cloud Domains para registrar um domínio. O Cloud Domains permite usar a mesma conta de faturamento para o domínio criada na seção Antes de começar. Para ver instruções sobre como registrar um domínio usando o Cloud Domains, consulte Registrar um domínio.

Crie uma instância de máquina virtual

Console

Para criar uma instância de máquina virtual (VM) do Linux no Compute Engine, siga estas instruções:

  1. No Console do Google Cloud, acesse a página Criar uma instância.

    Acesse "Criar uma instância"

  2. Na seção Disco de inicialização, clique em Alterar para começar a configurar o disco de inicialização.
  3. Na guia Public images, escolha Debian version 9.
  4. Clique em Selecionar.
  5. Na seção Firewall, selecione Permitir tráfego HTTP.
  6. Para criar a VM, clique em Criar.

Aguarde um momento até que a instância seja iniciada. Depois que estiver pronta, ela será listada na página Instâncias de VM com um ícone de status verde.

Conectar-se à instância

  1. No Console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Na lista de instâncias de máquina virtual, clique em SSH na linha da instância à qual você quer se conectar.

    Botão "SSH" ao lado do nome da instância.

Agora você tem uma janela de terminal para interagir com a instância do Linux.

Para detalhes, consulte o Guia de início rápido sobre como usar uma VM do Linux.

Executar um servidor da Web Apache básico

Nesta seção, você vai executar e testar um servidor da Web Apache.

  1. Na janela do SSH, use o gerenciador de pacotes Debian para instalar o pacote apache2.

     sudo apt-get update && sudo apt-get install apache2 -y
     

    Depois de instalar o Apache, o sistema operacional inicia automaticamente o servidor Apache.

  2. Substitua a página da Web padrão do servidor da Web Apache usando o seguinte comando:

     echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" 
    | sudo tee /var/www/html/index.html

teste o servidor

Faça um teste para verificar se sua instância está gerando tráfego no IP externo dela.

Console

  1. No console do Google Cloud, acesse a página Instâncias de VMs.

    Acessar instâncias de VM

  2. Na coluna IP externo, copie o endereço IP externo da instância.
  3. Em um navegador, acesse http://[EXTERNAL_IP]. Não use https para se conectar, porque o servidor retornará um erro Connection Refused.

Você verá a página Hello World!.

Para mais detalhes, consulte Como executar um servidor da Web Apache básico.

Configurar seu domínio usando o Cloud DNS.

Se você estiver migrando de um provedor atual, poderá importar as zonas atuais para o Cloud DNS. Para instruções, consulte Exportar a configuração de DNS do provedor atual. Caso contrário, siga estas etapas para criar uma nova zona pública.

Console

  1. No Console do Google Cloud, acesse a página Criar uma zona de DNS.

    Acesse "Criar uma zona de DNS"

  2. Em Tipo de zona, selecione Público.

  3. Em Nome da zona, insira my-new-zone.

  4. Em Nome DNS, insira um sufixo de nome do DNS para a zona usando um nome de domínio registrado (por exemplo, example.com).

  5. Em DNSSEC, verifique se a configuração Off está selecionada.

  6. Clique em Criar para criar uma zona preenchida com os registros NS e SOA.

  7. Para apontar o nome de domínio registrado para o endereço IP do servidor de hospedagem, adicione um registro A à sua zona:

    1. Na página Detalhes da zona, clique em Adicionar padrão.
    2. Selecione A no menu Tipo de registro de recurso.
    3. Em Endereço IPv4, insira o endereço IP externo da instância.
    4. Clique em Criar para gerar o registro A para a zona.
  8. Opcional: adicione um registro CNAME para contabilizar um prefixo do seu nome de domínio, por exemplo, www.:

    1. Clique em Adicionar padrão.
    2. No campo Nome do DNS, adicione o prefixo www do domínio.
    3. Em Tipo de registro de recurso, escolha CNAME.
    4. Em Nome canônico, digite o nome de domínio seguido de um ponto (por exemplo, example.com.).
    5. Clique em Criar.

Atualizar servidores de nomes

Para atualizar servidores de nomes no Cloud Domains, siga estas etapas:

  1. No console do Google Cloud, acesse a página Cloud Domains.

    Acessar o Cloud Domains

  2. Clique no nome de domínio que você quer editar. Você também pode clicar em Mais ao lado do nome de domínio para abrir o menu de edição.

  3. Para editar os detalhes do DNS, clique em Edit DNS details.

  4. Selecione Usar o Cloud DNS (recomendado).

  5. Na lista Zona do Cloud DNS, selecione my-new-zone.

  6. Clique em Salvar.

Terraform

É possível usar os recursos do Terraform para criar uma instância de máquina virtual (VM), executar um servidor da Web Apache, configurar seu domínio usando o Cloud DNS e atualizar servidores de nomes.

Também é possível usar o módulo Terraform para configurar o Cloud DNS com zonas públicas, particulares, de peering ou de encaminhamento. Para mais informações sobre zonas, consulte a visão geral das zonas de DNS.

# to setup a web-server

resource "random_id" "rnd" {
  byte_length = 4
}

resource "google_compute_instance" "default" {
  name         = "dns-compute-instance"
  machine_type = "g1-small"
  zone         = "us-central1-b"

  boot_disk {
    initialize_params {
      image = "debian-cloud/debian-11"
    }
  }

  network_interface {
    network = "default"
    access_config {
      // Ephemeral public IP
    }
  }
  metadata_startup_script = <<-EOF
  sudo apt-get update && \
  sudo apt-get install apache2 -y && \
  echo "<!doctype html><html><body><h1>Hello World!</h1></body></html>" > /var/www/html/index.html
  EOF
}

# to allow http traffic
resource "google_compute_firewall" "default" {
  name    = "allow-http-traffic"
  network = "default"
  allow {
    ports    = ["80"]
    protocol = "tcp"
  }
  source_ranges = ["0.0.0.0/0"]
}

# to create a DNS zone
resource "google_dns_managed_zone" "default" {
  name          = "example-zone-googlecloudexample"
  dns_name      = "example-${random_id.rnd.hex}.com."
  description   = "Example DNS zone"
  force_destroy = "true"
}

# to register web-server's ip address in DNS
resource "google_dns_record_set" "default" {
  name         = google_dns_managed_zone.default.dns_name
  managed_zone = google_dns_managed_zone.default.name
  type         = "A"
  ttl          = 300
  rrdatas = [
    google_compute_instance.default.network_interface[0].access_config[0].nat_ip
  ]
}

Verificar sua configuração

Para verificar se a configuração está funcionando, depois da atualização dos servidores de nomes, navegue até o nome de domínio (por exemplo, example.com). O domínio precisa ser resolvido para seu endereço IP e apontar para a VM do Compute Engine que exibe a página Hello World! criada em Executar um servidor da Web Apache básico.

Para verificar se sua configuração está correta, também é possível executar o comando dig +trace example.com na janela de terminal. Substitua example.com pelo nome de domínio registrado.

dig +trace example.com

O final da saída precisa incluir o seguinte: IP_ADDRESS é o endereço IP do servidor da Web.

example.com.    300 IN  A   IP_ADDRESS
;; Received 62 bytes from 216.239.34.109#53(ns-cloud-d2.googledomains.com) in 62 ms

Para verificar se as alterações foram bem-sucedidas, execute o seguinte comando:

example.com IN NS <your Cloud DNS name servers>

Depois de aguardar a conclusão da proposição de DNS, também é possível executar o comando nslookup para verificar sua configuração:

nslookup example.com

A resposta precisa incluir o seguinte. IP_ADDRESS é o endereço IP do servidor da Web.

Server:     127.0.0.1
Address:    127.0.0.1#53

Non-authoritative answer:
Name:   example.com
Address: IP_ADDRESS

Limpeza

Console

  1. No Console do Google Cloud, acesse a página Zonas do Cloud DNS.

    Acessar zonas do Cloud DNS

  2. Clique em um nome de zona (por exemplo, my-new-zone) para acessar a página Detalhes da zona.

  3. Selecione os registros A e CNAME que você criou.

  4. Clique em Excluir conjuntos de registros.

  5. Para excluir a zona, clique em Excluir zona para o nome da zona my-new-zone.

  6. Acesse a página Instâncias da VM.

    Acessar instâncias de VM

  7. Selecione a instância que você quer excluir.

  8. No menu Mais, na linha da instância, clique em Excluir.

A seguir