Crie, modifique e elimine zonas

Esta página fornece instruções para criar, atualizar, listar e eliminar zonas geridas do Cloud DNS. Antes de usar esta página, familiarize-se com a vista geral do Cloud DNS e os termos principais.

Antes de começar

A API Cloud DNS requer que crie um projeto do Cloud DNS e ative a API Cloud DNS.

Se estiver a criar uma aplicação que use a API REST, também tem de criar um ID de cliente OAuth 2.0.

  1. Se ainda não tiver uma, inscreva-se numa Conta Google.
  2. Ative a API Cloud DNS na Trusted Cloud consola. Pode escolher um projeto existente do Compute Engine ou do App Engine, ou pode criar um novo projeto.
  3. Se precisar de fazer pedidos à API REST, tem de criar um ID do OAuth 2.0. Consulte o artigo Configurar o OAuth 2.0.
  4. No projeto, tome nota das seguintes informações que tem de introduzir nos passos posteriores:
    • O ID de cliente (xxxxxx.apps.googleusercontent.com).
    • O ID do projeto que quer usar. Pode encontrar o ID na parte superior da página Vista geral na Trusted Cloud consola. Também pode pedir ao utilizador que indique o nome do projeto que quer usar na sua app.

Se não tiver executado a CLI do Google Cloud anteriormente, tem de executar o seguinte comando para especificar o nome do projeto e fazer a autenticação com a Trusted Cloud consola:

gcloud auth login

Se quiser executar um comando gcloud em recursos Trusted Cloud by S3NS noutro projeto, especifique a opção --project para este comando e para os outros comandos gcloud ao longo desta página.

Crie zonas geridas

Cada zona gerida que criar está associada a um Trusted Cloud projeto. As secções seguintes descrevem como criar o tipo de zona gerida suportado pelo Cloud DNS.

Crie uma zona privada

Para criar uma nova zona privada gerida com registos de DNS privados geridos pelo Cloud DNS, conclua os passos seguintes. Para mais informações, consulte as práticas recomendadas para zonas privadas do Cloud DNS.

Consola

  1. Na Trusted Cloud consola, aceda à página Criar uma zona DNS.

    Aceda a Crie uma zona DNS

  2. Para o Tipo de zona, selecione Privado.

  3. Introduza um Nome da zona, como my-new-zone.

  4. Introduza um sufixo de nome DNS para a zona privada. Todos os registos na zona partilham este sufixo, por exemplo: example.private.

  5. Opcional: adicione uma descrição.

  6. Em Opções, selecione Predefinição (privado).

  7. Selecione as redes da nuvem virtual privada (VPC) às quais a zona privada tem de estar visível. Apenas as redes VPC que selecionar estão autorizadas a consultar registos na zona.

  8. Clique em Criar.

gcloud

Execute o comando dns managed-zones create:

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --labels=LABELS \
    --visibility=private

Substitua o seguinte:

  • NAME: um nome para a sua zona
  • DESCRIPTION: uma descrição da sua zona
  • DNS_SUFFIX: o sufixo DNS da sua zona, como example.private
  • VPC_NETWORK_LIST: uma lista delimitada por vírgulas de redes de VPC autorizadas a consultar a zona
  • LABELS: uma lista opcional separada por vírgulas de pares de chave-valor, como dept=marketing ou project=project1; para mais informações, consulte a documentação do SDK

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

API

Envie um pedido POST através do método managedZones.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{

  "name": "NAME",
  "description": "DESCRIPTION",
  "dnsName": "DNS_NAME",
  "visibility": "private",
  "privateVisibilityConfig": {
    "kind": "dns#managedZonePrivateVisibilityConfig",
    "networks": [
      {
        "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
        "networkUrl": "VPC_NETWORK_1"
      },
      {
        "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
        "networkUrl": "VPC_NETWORK_2"
      },
      ....
    ]
  }
}

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto onde a zona gerida é criada
  • NAME: um nome para a sua zona
  • DESCRIPTION: uma descrição da sua zona
  • DNS_NAME: o sufixo DNS da sua zona, como example.private
  • VPC_NETWORK_1 e VPC_NETWORK_2: URLs para redes VPC no mesmo projeto que podem consultar registos nesta zona. Pode adicionar várias redes VPC, conforme indicado. Para determinar o URL de uma rede VPC, use o seguinte comando gcloud, substituindo VPC_NETWORK_NAME pelo nome da rede:

    gcloud compute networks describe VPC_NETWORK_NAME \
     --format="get(selfLink)"
    

Crie uma zona com autorizações da IAM específicas

A autorização de gestão de identidade e de acesso (IAM) para a zona gerida de recursos individuais permite-lhe configurar autorizações específicas de leitura, escrita ou administrador para diferentes zonas geridas no mesmo projeto.

Para ver instruções sobre como criar uma zona com autorizações específicas de gestão de identidade e de acesso (IAM), consulte o artigo Crie uma zona com autorizações específicas de IAM.

Crie uma zona DNS do Service Directory

Pode criar uma zona do Service Directory que permita aos seus serviços baseados em Trusted Cloudconsultar o seu espaço de nomes do Service Directory através do DNS.

Para obter instruções detalhadas sobre como criar uma zona DNS do Service Directory, consulte o artigo Configurar uma zona DNS do Service Directory.

Para obter instruções sobre como usar o DNS para consultar o seu diretório de serviços, consulte o artigo Consultar através do DNS.

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Crie uma zona de encaminhamento

As zonas de encaminhamento permitem-lhe segmentar servidores de nomes para zonas privadas específicas. Para ver instruções sobre como criar uma nova zona de encaminhamento privada gerida, consulte o artigo Crie uma zona de encaminhamento.

Crie uma zona de peering

A interligação de DNS permite-lhe enviar pedidos de registos provenientes do espaço de nomes de uma zona para outra rede VPC. Para obter instruções sobre como criar uma zona de intercâmbio, consulte o artigo Crie uma zona de intercâmbio.

Crie uma zona de associação entre projetos

Crie uma zona privada gerida que pode ser associada a uma rede pertencente a um projeto diferente na mesma organização. Para ver instruções sobre como criar uma zona de associação entre projetos, consulte o artigo Zonas de associação entre projetos.

Atualize as zonas geridas

O Cloud DNS permite-lhe modificar determinados atributos da sua zona privada gerida gerida.

Atualize etiquetas

Para adicionar novas etiquetas, alterar etiquetas existentes, remover etiquetas selecionadas ou limpar todas as etiquetas numa zona gerida, conclua os passos seguintes.

gcloud

Execute o comando dns managed-zones update:

gcloud dns managed-zones update NAME \
    --update-labels=LABELS
gcloud dns managed-zones update NAME \
    --remove-labels=LABELS
gcloud dns managed-zones update NAME \
    --clear-labels

Substitua o seguinte:

  • NAME: um nome para a sua zona
  • LABELS: uma lista opcional separada por vírgulas de pares de chave-valor, como dept=marketing ou project=project1; para mais informações, consulte a documentação do SDK

Liste e descreva as zonas geridas

As secções seguintes mostram como listar ou descrever uma zona gerida.

Apresente zonas geridas

Para apresentar uma lista de todas as suas zonas geridas num projeto, conclua os seguintes passos.

Consola

  1. Na Trusted Cloud consola, aceda à página Zonas de DNS na nuvem.

    Aceda às zonas do Cloud DNS

  2. Veja as zonas geridas no painel direito.

gcloud

Execute o comando dns managed-zones list:

gcloud dns managed-zones list

Para apresentar uma lista de todas as zonas geridas, modifique o comando da seguinte forma: Para apresentar uma lista de todas as zonas privadas geridas, modifique o comando da seguinte forma:

gcloud dns managed-zones list \
   --filter="visibility=private"

Descreva uma zona gerida

Para ver os atributos de uma zona gerida, conclua os passos seguintes.

Consola

  1. Na Trusted Cloud consola, aceda à página Zonas de DNS na nuvem.

    Aceda às zonas do Cloud DNS

  2. Clique na zona que quer inspecionar.

gcloud

Execute o comando dns managed-zones describe:

gcloud dns managed-zones describe NAME

Substitua NAME pelo nome da sua zona.

Elimine uma zona gerida

Quando elimina uma zona, os respetivos registos de DNS são removidos permanentemente; não podem ser recuperados. Para evitar perder os seus registos de DNS, exporte os dados da zona antes da eliminação. Para ver informações sobre como exportar dados de zonas, consulte o artigo Importe e exporte conjuntos de registos de recursos.

Para eliminar uma zona gerida, conclua os passos seguintes.

Consola

  1. Na Trusted Cloud consola, aceda à página Zonas de DNS na nuvem.

    Aceda às zonas do Cloud DNS

  2. Clique na zona gerida que quer eliminar.

  3. Clique em Eliminar zona.

gcloud

  1. Remova todos os registos na zona, exceto os registos SOA e NS. Para mais informações, consulte o artigo Remover um registo. Pode esvaziar rapidamente uma zona inteira importando um ficheiro vazio para um conjunto de registos. Para mais informações, consulte o artigo Importar e exportar conjuntos de registos. Por exemplo:

    touch empty-file
    gcloud dns record-sets import -z NAME \
       --delete-all-existing \
       empty-file
    rm empty-file
    

    Substitua NAME pelo nome da sua zona.

  2. Para eliminar uma nova zona privada gerida, execute o comando dns managed-zones delete:

    gcloud dns managed-zones delete NAME
    

    Substitua NAME pelo nome da sua zona.

O que se segue?