Adicionar, atualizar e excluir registros

Nesta página, descrevemos como adicionar, atualizar e excluir conjuntos de registros de recursos.

Para conferir a lista de tipos de registros de recursos compatíveis, consulte Visão geral dos registros DNS.

Antes de começar

É necessário ter ou criar uma zona gerenciada antes de criar um conjunto de registros de recursos. Para detalhes sobre como criar uma zona gerenciada, em que é possível criar o conjunto de registros de recursos, consulte Criar uma zona gerenciada.

Adicionar um conjunto de registros de recursos

Para adicionar um conjunto de registros de recursos, siga estas etapas:

Console

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

    Acessar Zonas do Cloud DNS

  2. Clique no nome da zona gerenciada a que você quer adicionar o registro.

  3. Na página Detalhes da zona, clique em Adicionar padrão.

  4. Na página Criar conjunto de registros, no campo Nome do DNS, insira o subdomínio da zona DNS, por exemplo, mail. O ponto é adicionado automaticamente no final.

    Para criar um registro DNS curinga, insira um asterisco, por exemplo, *.example.com.

    O símbolo @ não cria um registro de vértice automaticamente. Para criar um registro de recurso na raiz do domínio, deixe o campo Nome do DNS em branco.

  5. Selecione o Tipo de registro de recurso, por exemplo, MX.

  6. No campo TTL, insira um valor numérico para o time to live (TTL) do registro de recursos, que é o tempo que ele pode ser armazenado em cache. Esse valor precisa ser um número inteiro positivo.

  7. No menu Unidade TTL, selecione a unidade de tempo. Por exemplo, minutes.

  8. Dependendo do tipo de registro de recurso selecionado, preencha os campos restantes.

  9. Para inserir informações adicionais, clique em Adicionar item.

  10. Clique em Criar.

gcloud

Para adicionar um conjunto de registros de recursos, use o comando gcloud dns record-sets create:

gcloud dns record-sets create RRSET_NAME \
    --rrdatas=RR_DATA \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE

Substitua:

  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RR_DATA: um valor arbitrário associado ao conjunto de registros de recursos, por exemplo, 198.51.100.5. Você também pode inserir vários valores, rrdata1 rrdata2 rrdata3, por exemplo, 198.51.100.5 10.2.3.4...
  • TTL: o TTL em segundos que o resolvedor armazena em cache esse conjunto de registros de recursos. Por exemplo, 30
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo

API

Para adicionar um conjunto de registros de recursos, use o método resourceRecordSets.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets
{
    "name": "RRSET_NAME",
    "type": "RRSET_TYPE",
    "ttl": TTL,
    "rrdatas": [ RR_DATA ]
}

Substitua:

  • PROJECT_ID: o ID do projeto
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo
  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A
  • TTL: o TTL em segundos que o resolvedor armazena em cache esse conjunto de registros de recursos. Por exemplo, 30
  • RR_DATA: um valor arbitrário associado ao conjunto de registros de recursos, por exemplo, "198.51.100.5". Também é possível inserir vários valores em uma lista separada por vírgulas, por exemplo, "198.51.100.5","10.2.3.4".

Terraform

resource "google_dns_managed_zone" "parent_zone" {
  name        = "sample-zone"
  dns_name    = "sample-zone.hashicorptest.com."
  description = "Test Description"
}

resource "google_dns_record_set" "default" {
  managed_zone = google_dns_managed_zone.parent_zone.name
  name         = "test-record.sample-zone.hashicorptest.com."
  type         = "A"
  rrdatas      = ["10.0.0.1", "10.1.0.1"]
  ttl          = 86400
}

Adicionar uma coleção de conjuntos de registros de recursos em uma transação

É possível adicionar vários conjuntos de registros de recursos criando uma transação que especifique as mudanças. Uma transação é um grupo de uma ou mais mudanças de registro DNS que precisam ser aplicadas como uma unidade. A transação inteira é bem-sucedida ou falha, garantindo que seus dados nunca fiquem em um estado inconsistente. É possível criar uma transação apenas usando a CLI gcloud ou a API Cloud DNS.

Para criar uma transação, siga estas etapas:

gcloud

  1. Para iniciar uma transação, use o comando gcloud dns record-sets transaction start:

    gcloud dns record-sets transaction start \
       --zone=MANAGED_ZONE
    

    Substitua MANAGED_ZONE pelo nome da zona gerenciada com os conjuntos de registros de recursos que você quer gerenciar, por exemplo, my-zone-name.

  2. Para adicionar um conjunto de registros de recursos como parte de uma transação, use o comando gcloud dns record-sets transaction add:

    gcloud dns record-sets transaction add RR_DATA \
       --name=DNS_NAME \
       --ttl=TTL \
       --type=RECORD_TYPE \
       --zone=MANAGED_ZONE
    

    Substitua:

    • RR_DATA: um valor arbitrário associado ao conjunto de registros de recursos, por exemplo, 198.51.100.5. Também é possível inserir vários valores, rrdata1 rrdata2 rrdata3, por exemplo, 198.51.100.5 10.2.3.4...
    • DNS_NAME: o DNS ou nome de domínio do conjunto de registros a ser adicionado. Por exemplo, test.example.com
    • TTL: o tempo de vida (TTL) do conjunto de registros em número de segundos, por exemplo, 300
    • RECORD_TYPE: o tipo de registro. Por exemplo, A
    • MANAGED_ZONE: o nome da zona gerenciada com os conjuntos de registros de recursos que você quer gerenciar. Por exemplo, my-zone-name
  3. Para executar a transação, use o comando gcloud dns record-sets transaction execute:

    gcloud dns record-sets transaction execute \
       --zone=MANAGED_ZONE
    
  4. Para adicionar uma transação curinga, use o comando gcloud dns record-sets transaction add:

    gcloud dns record-sets transaction add \
       --zone=MANAGED_ZONE \
       --name=WILDCARD_DNS_NAME \
       --type=RECORD_TYPE \
       --ttl=TTL
    

    Substitua:

    • MANAGED_ZONE: o nome da zona gerenciada com os conjuntos de registros de recursos que você quer gerenciar. Por exemplo, my-zone-name
    • WILDCARD_DNS_NAME: o DNS ou nome de domínio do conjunto de registros de recursos que você quer adicionar, por exemplo, *.example.com. (observe o ponto final)
    • RECORD_TYPE: o tipo de registro. Por exemplo, CNAME
    • TTL: o TTL do conjunto de registros em número de segundos. Por exemplo, 300

API

Para criar uma transação com novos conjuntos de registros de recursos, use o método changes.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/changes
{
  "deletions": []
  "additions": [
    {
      "name": DNS_NAME,
      "type": RECORD_TYPE,
      "ttl": TTL,
      "rrdatas": [
        RR_DATA
      ]
    }
  ]
}

Substitua:

  • PROJECT_ID: ID do projeto
  • MANAGED_ZONE: o nome ou ID da zona gerenciada
  • DNS_NAME: o DNS ou nome de domínio do conjunto de registros, por exemplo, test.example.com. (observe o ponto final)
  • RECORD_TYPE: o tipo de registro
  • TTL: o tempo de vida (TTL, na sigla em inglês) do conjunto de registros em número de segundos. Por exemplo, 30
  • RR_DATA: um valor arbitrário associado ao conjunto de registros de recursos, por exemplo, 198.51.100.5. Você também pode inserir vários valores, rrdata1 rrdata2 rrdata3, por exemplo, 198.51.100.5 10.2.3.4...

Para entregar e-mails no seu domínio, adicione registros MX à sua zona. Se você usa o Google Workspace como provedor do Simple Mail Transfer Protocol (SMTP), consulte a página de suporte Configurar registros MX do Google Workspace. Caso contrário, use os detalhes do registro MX do seu provedor e siga o processo de configuração descrito para o Google Workspace.

Conferir conjuntos de registros de recursos de uma zona

Para conferir os conjuntos de registros de recursos de uma zona, siga estas etapas:

Console

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

    Acessar Cloud DNS

  2. Na guia Zonas, clique na zona em que você quer visualizar os conjuntos de registros de recursos.

    A página Detalhes da zona mostra os detalhes de todos os conjuntos de registros de recursos dessa zona.

gcloud

Para conferir os registros DNS da sua zona, use o comando gcloud dns record-sets list:

gcloud dns record-sets list \
   --zone="ZONE_NAME"

Substitua ZONE_NAME pelo nome de uma zona de DNS no projeto:

O comando gera a resposta JSON para o conjunto de registros de recursos dos primeiros 100 registros. Você pode especificar estes parâmetros adicionais:

  • --limit: número máximo de conjuntos de registros a serem listados
  • --name: lista apenas conjuntos de registros de recursos com este nome de domínio exato
  • --type: lista apenas registros desse tipo. Se presente, o parâmetro --name também deve estar presente

API

Para conferir os registros DNS da sua zona, use o método resourceRecordSets.list:

GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets

Substitua:

  • PROJECT_ID: o ID do projeto
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo

Visualizar detalhes de um conjunto de registros de recurso

Para este procedimento, presumimos que você já tenha criado um conjunto de registros de recursos na zona gerenciada do Cloud DNS.

Para visualizar os detalhes de um conjunto de registros de recursos existentes, siga estas etapas:

Console

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

    Acessar a página Zonas do Cloud DNS

  2. Clique na zona que contém o conjunto de registros de recursos.

  3. Clique no conjunto de registros de recursos para ver os detalhes.

    A página Detalhes do conjunto de registros de recurso mostra os detalhes do conjunto de registros de recurso.

gcloud

Para ver os detalhes de um conjunto de registros de recursos, use o comando gcloud dns record-sets describe:

gcloud dns record-sets describe RRSET_NAME \
  --type=RRSET_TYPE \
  --zone=MANAGED_ZONE

Substitua:

  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo

API

Para ver os detalhes de um conjunto de registros de recursos, use o método resourceRecordSets.get:

GET https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE

Substitua:

  • PROJECT_ID: o ID do projeto
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo
  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RRSET_TYPE: o tipo de registro desse conjunto de registros de recursos, por exemplo, A.

Atualizar um conjunto de registros de recurso

Para modificar um conjunto de registros, siga estas etapas:

Console

Para aplicar uma atualização parcial a um conjunto de registros de recursos existente, siga estas etapas:

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

    Acessar a página Zonas do Cloud DNS

  2. Clique na zona em que você quer atualizar o conjunto de registros de recursos.

  3. Na página Detalhes da zona, ao lado do conjunto de registros de recursos que você quer atualizar, clique em Editar.

  4. Depois de fazer as atualizações necessárias, clique em Salvar.

gcloud

Para aplicar uma atualização parcial a um conjunto de registros de recursos, use o comando gcloud dns record-sets update:

gcloud dns record-sets update RRSET_NAME \
    --rrdatas=RR_DATA \
    --ttl=TTL \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE

Substitua:

  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RR_DATA: um valor arbitrário associado ao conjunto de registros de recursos, por exemplo, 198.51.100.5. Você também pode inserir vários valores, rrdata1 rrdata2 rrdata3, por exemplo, 198.51.100.5 10.2.3.4...
  • TTL: o TTL em segundos que o resolvedor armazena em cache esse conjunto de registros de recursos. Por exemplo, 30
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo

API

Para aplicar uma atualização parcial a um conjunto de registros de recursos, use o método resourceRecordSets.patch:

PATCH https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE
{
  "ttl": TTL,
  "rrdatas": RR_DATA,
  "update_mask": {
      "paths": ["rrset.ttl", "rrset.rrdatas"]
  }
}

Substitua:

  • PROJECT_ID: o ID do projeto
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo
  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A
  • TTL: o TTL em segundos que o resolvedor armazena em cache esse conjunto de registros de recursos. Por exemplo, 30
  • RR_DATA: um valor arbitrário associado ao conjunto de registros de recursos, por exemplo, 198.51.100.5. Você também pode inserir vários valores, rrdata1 rrdata2 rrdata3, por exemplo, 198.51.100.5 10.2.3.4...

Excluir conjuntos de registros de recursos

Quando você exclui conjuntos de registros de recursos, os registros DNS são removidos permanentemente e não podem ser recuperados. Para não perder seus registros DNS, exporte os conjuntos de registros de recursos antes da exclusão. Para informações sobre como exportar conjuntos de registros de recursos, consulte Importar e exportar conjuntos de registros de recursos.

As zonas públicas do Cloud DNS são autoritativas, e os tipos de registros do servidor de nomes (NS) e de início de autoridade (SOA) estão localizados no apex da zona, que é a raiz desse domínio. O Cloud DNS cria automaticamente registros NS e SOA no ápice da zona. Esses registros não podem ser excluídos usando a API Cloud DNS e são excluídos automaticamente quando a zona é excluída. Para mais informações, consulte RFC 1034.

Para excluir conjuntos de registros de recursos, siga estas etapas:

Console

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

    Acessar a página Zonas do Cloud DNS

    Os registros da zona estão listados na página Detalhes da zona.

  2. Para excluir conjuntos de registros de recursos em uma zona, clique no nome dela.

  3. Marque a caixa de seleção ao lado dos conjuntos de registros de recursos que você quer excluir.

  4. Clique em Excluir conjuntos de registros.

gcloud

Para excluir um conjunto de registros de recursos, use o comando gcloud dns record-sets delete:

gcloud dns record-sets delete RRSET_NAME \
    --type=RRSET_TYPE \
    --zone=MANAGED_ZONE

Substitua:

  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo

API

Para excluir um conjunto de registros de recursos, use o método resourceRecordSets.delete:

DELETE https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/MANAGED_ZONE/rrsets/RRSET_NAME/RRSET_TYPE

Substitua:

  • PROJECT_ID: o ID do projeto
  • MANAGED_ZONE: a zona gerenciada a que esse conjunto de registros de recursos está afiliado. Por exemplo, my-zone-name. O nome desse conjunto de registros de recursos precisa ter o nome de DNS da zona gerenciada como seu sufixo
  • RRSET_NAME: o nome de DNS que corresponde às consultas recebidas com o nome DNS desta zona como seu sufixo, por exemplo, test.example.com;
  • RRSET_TYPE: o tipo de registro de recurso desse conjunto de registros de recursos, por exemplo, A

Importar e exportar conjuntos de registros de recursos

Para copiar conjuntos de registros de recursos de ou para uma zona gerenciada, use os comandos import e export. É possível importar e exportar para o formato de arquivo de zona BIND ou o formato de arquivo YAML.

gcloud

  1. Para importar um conjunto de registros de recursos, use o comando dns record-sets import:

    gcloud dns record-sets import -z=ZONE_NAME
    

    Se quiser especificar o formato do arquivo de zona, use o comando anterior com a flag --zone-file-format. Se você omitir a flag, será necessário fornecer um arquivo de zona no formato YAML.

    Substitua ZONE_NAME por um novo nome para a zona.

    • Quando você usa o comando gcloud dns record-sets import com a flag --replace-origin-ns, ele substitui os registros NS da zona pelos registros NS especificados no arquivo da zona. Esses registros precisam corresponder aos servidores de nomes atribuídos pelo Cloud DNS para hospedar a zona. Eles também precisam corresponder aos registros NS especificados na zona pai (delegação). Por padrão, o Cloud DNS não substitui registros NS. Se você usar essa flag, será necessário verificar se os registros NS estão corretos.

    • Ao importar conjuntos de registros como um arquivo formatado da zona BIND, remova o sinal de arroba (@) que indica o ápice da zona. No arquivo formatado da zona BIND, para um nome de DNS como example.com, o arroba (@) se refere a example.com.. No entanto, no Cloud DNS, o arroba (@) é tratado literalmente ao definir nomes de registros. Para criar um conjunto de registros de recursos para o ápice da zona no Cloud DNS, use o nome de domínio completo, por exemplo, example.com..

      in.smtp              IN MX 5 gmail-smtp-in.l.google.com
      in.smtp.example.com. IN MX 5 gmail-smtp-in.l.google.com.example.com.
      

      Para importar seus arquivos de zona, adicione um ponto final (.) ao final de todos os nomes de domínio que precisam ser totalmente qualificados.

  2. Para exportar um conjunto de registros de recursos, use o comando dns record-sets export. Para especificar que os conjuntos de registros de recursos são exportados em um arquivo formatado da zona BIND, use a flag --zone-file-format. Exemplo:

    example.com. 21600 IN NS ns-gcp-private.googledomains.com.
    example.com. 21600 IN SOA ns-gcp-private.googledomains.com.
    cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
    host1.example.com. 300 IN A 192.0.2.91
    

    Se você omitir a flag --zone-file-format, export exportará o conjunto de registros de recursos para um arquivo de registros formatados em YAML:

    gcloud dns record-sets export example.zone -z=examplezonename
    

    Exemplo:

    ---
    kind: dns#resourceRecordSet
    name: example.com.
    rrdatas:
    - ns-gcp-private.googledomains.com.
    ttl: 21600
    type: NS
    ---
    kind: dns#resourceRecordSet
    name: example.com.
    rrdatas:
    - ns-gcp-private.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
    ttl: 21600
    type: SOA
    ---
    kind: dns#resourceRecordSet
    name: host1.example.com.
    rrdatas:
    - 192.0.2.91
    ttl: 300
    type: A
    
    

    O Cloud DNS aceita o tipo de registro ALIAS, que não é um tipo de registro DNS padrão e não é compatível com BIND. Se você estiver exportando conjuntos de registros de recursos para BIND, os registros ALIAS serão ignorados. Se uma zona tiver uma política de roteamento, ela será exportada como um registro com dados de registro de recurso (rrdata) vazios.

A seguir