O gerenciamento de registros DNS para a API do Cloud DNS envolve o envio de solicitações de alteração à API. Nesta página, você verá uma descrição sobre como fazer alterações, incluindo adições e exclusões na sua coleção de registros de recursos. Você também verá como enviar as alterações desejadas para a API usando os comandos import
, export
e transaction
.
Antes de começar
Você já precisa ter criado uma zona gerenciada e concluído os pré-requisitos da tarefa.
Como adicionar ou remover um registro
Ao adicionar um registro, é possível incluir dois valores ou strings ao conjunto de registros para o mesmo nome de DNS. Ao adicionar conjuntos de registros, é necessário incluir um espaço entre o primeiro e o segundo valor.
É possível adicionar ou remover registros DNS em um conjunto de registros ao criar e executar uma transação que especifique as operações que quer realizar. Uma transação é um grupo de uma ou mais alterações de registro que precisam ser propagadas juntas. Para que seus dados nunca fiquem no estado intermediário, a transação tem sucesso ou falha.
Console
Para criar um conjunto de registros no Console do Cloud, faça o seguinte:
- Acesse a página do Cloud DNS.
- Clique no nome da zona gerenciada em que você quer adicionar o registro.
- Na tela de detalhes da zona, clique em Adicionar conjunto de registros.
Na tela "Criar conjunto de registros", no campo Nome do DNS, insira o subdomínio da zona de DNS. Por exemplo,
mail
. O ponto é adicionado automaticamente no final.Para criar um registro DNS curinga, insira um asterisco. Por exemplo,
*.example.com
.Selecione o Tipo de registro de recurso. Por exemplo,
MX
.No campo TTL, insira um valor numérico para o time to live (TTL) de registro do recurso, que é o tempo que ele pode ser armazenado em cache. Este valor precisa ser um número inteiro positivo. No menu suspenso Unidade TTL, selecione a unidade de tempo. Por exemplo,
30 minutes
.Dependendo do tipo de registro de recurso selecionado, preencha os campos restantes conforme descrito na tabela.
É possível inserir mais informações clicando em Adicionar item.
Clique em Criar.
gcloud
a. Para iniciar uma transação, use o comando gcloud dns record-sets transaction start:
gcloud dns record-sets transaction start --zone="my-zone-name"
em que
--zone
é o nome da zona gerenciada com os conjuntos de registros que você quer gerenciar.
b. Para adicionar um conjunto de registros como parte de uma transação, use o comando gcloud dns record-sets transaction add:
gcloud dns record-sets transaction add 10.2.3.4 --name="test.example.com" \ --ttl="30" \ --type="A" \ --zone="my-zone-name"
em que
--name
é o DNS ou nome de domínio do conjunto de registros a ser adicionado;--ttl
é o TTL (tempo de vida) em número de segundos para o conjunto de registros;--type
é o tipo de registro descrito na tabela;--zone
é o nome da zona gerenciada com os conjuntos de registros que você quer gerenciar.
c. Para executar a transação, use o comando gcloud dns record-sets transaction execute:
gcloud dns record-sets transaction execute --zone="my-zone-name"
Para adicionar uma transação curinga:
gcloud dns record-sets transaction add --zone="my-zone-name" \ --name="*.example.com." \ --type=CNAME \ --ttl=300 "sinkhole.example.com"
em que
--name
é o DNS ou nome de domínio do conjunto de registros a ser adicionado;--ttl
é o tempo de vida em número de segundos para o conjunto de registros;--type
é o tipo de registro descrito na tabela;--zone
é o nome da zona gerenciada com os conjuntos de registros que você quer gerenciar.
Para remover uma transação, use o comando gcloud dns record-sets transaction remove:
gcloud dns record-sets transaction remove 10.2.3.4 --name="test.example.com" \ --ttl="number of seconds" \ --type="record type" \ --zone="zone name"
em que
--name
é o DNS ou nome de domínio do conjunto de registros a ser removido;--ttl
o tempo de vida em número de segundos para o conjunto de registros;--type
é o tipo de registro descrito na tabela.
Para substituir o registro atual, emita o comando remove
seguido pelo comando add
.
API
POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones/managedZone/changes
{ "deletions": [ { "name": "test.example.com.", "type": "A", "ttl": "30", "rrdatas": [ "198.51.100.5" ] } ] "additions": [ { "name": "test.example.com.", "type": "A", "ttl": "30", "rrdatas": [ "203.0.113.1" ] } ] }
Em que PROJECT_ID é o ID do projeto e managedZone é o nome ou ID da sua zona gerenciada.
Detalhes sobre como selecionar tipos de registros de recurso
Tipo de registro | Insira |
---|---|
A |
O endereço IP numérico do host, em formato decimal com ponto. |
AAAA |
O endereço IP numérico do host, em formato hexadecimal IPv6. |
CAA |
As autoridades de certificação autorizadas a emitir certificados para o domínio. |
CNAME |
O nome canônico que tem o nome DNS como alias. |
DNSKEY |
A chave DNSSEC de outro operador para transferência segura. Esse tipo de conjunto de registros só pode ser adicionado a uma zona com DNSSEC ativo no estado de transferência. |
DS |
A impressão digital da chave DNSSEC para zona delegada segura. Esse tipo de conjunto de registros não ativa o DNSSEC para uma zona delegada, a menos que você habilite e ative o DNSSEC para ela. |
IPSECVPNKEY |
A chave de VPN pública IPSec. O DNSSEC é recomendado ao usar esse tipo de conjunto de registros, mas não está ativo para essa zona. |
MX |
Um número e nome DNS de um Exchange Sever de e-mails, indicando prioridade do servidor. Os servidores com números menores são testados primeiro. Verifique se há um espaço entre o número e o nome DNS. |
NAPTR |
As regras de ponteiro de nome de autoridade usadas para mapear Uniform Resource Names. |
NS |
O nome DNS do servidor de nomes autoritativo. Seus registros NS precisam corresponder aos servidores de nomes da zona. |
PTR |
O nome canônico do recurso, normalmente usado para pesquisa inversa. |
SPF |
O tipo de conjunto de registros SPF está obsoleto. Em vez disso, use registros TXT que comecem com "v = spf1". Os registros do tipo SPF não são usados por software moderno de e-mail. |
SRV |
Os dados que especificam o local, ou seja, o nome do host e o número da porta, dos servidores de um determinado serviço. Para mais detalhes, consulte RFC 2782 (em inglês). |
SSHFP |
O número do algoritmo, número de tipo de impressão digital e impressão digital de chave do servidor SSH. Use esse tipo de registro se tiver ativado o DNSSEC para essa zona. |
TLSA |
As informações da associação de certificado TLSA de autenticação com base em DNS de entidades nomeadas (DANE, na sigla em inglês). |
TXT |
Os dados de texto, que podem conter texto arbitrário ou ser usados para definir dados legíveis por máquina, como informações de segurança ou para prevenção de abusos. Um registro TXT pode conter uma ou mais strings de texto, sendo 255 caracteres o tamanho máximo de cada uma. Agentes de e-mail e outros agentes de software concatenam várias strings. Coloque cada string entre aspas. Por exemplo: "Hello world" "Bye world" |
Como importar e exportar conjuntos de registros
É possível usar import
e export
para copiar conjuntos de registros de ou para uma zona gerenciada. Os formatos de importação/exportação serão o formato do arquivo de zona BIND ou o formato do registro YAML.
Para importar conjuntos de registros, use o comando dns record-sets import
.
A sinalização --zone-file-format
informa a import
que espere um arquivo formatado da zona BIND. Se você omitir essa sinalização, import
espera um arquivo de registros formatados em YAML:
gcloud dns record-sets import -z=examplezonename \ --zone-file-format path-to-example-zone-file
Para exportar conjuntos de registros, use o comando dns record-sets export
.
Use a sinalização --zone-file-format
para informar a export
para exportar os conjuntos de registros para um arquivo formatado da zona BIND. Por 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 essa sinalização, export
exportará o conjunto de registros para um arquivo de registros formatados em YAML:
gcloud dns record-sets export example.zone -z=examplezonename \ --zone-file-format
Por 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
Como mostrar o conjunto de registros atual
Para mostrar os registros DNS atuais da sua zona:
gcloud
gcloud dns record-sets list --zone="myzonename"O comando gera a resposta JSON para o conjunto de registros de recurso dos primeiros 100 registros. É possível especificar estes parâmetros extras:
limit
: número máximo de conjuntos de registros a serem listados.name
: apenas conjuntos de registros de listas com este nome de domínio.type
: apenas registros de listas deste tipo. Se presente, o parâmetro--name
também precisa estar inserido.
Python
Próximas etapas
- Visão geral do Cloud DNS
- Ferramenta de linha de comando
gcloud
- Como monitorar a propagação de DNS
- Método de API
Changes.create
- Formato de registros (JSON)