Creare, modificare ed eliminare le zone

Questa pagina fornisce indicazioni per la creazione, l'aggiornamento, l'elenco ed l'eliminazione delle zone gestite di Cloud DNS. Prima di utilizzare questa pagina, consulta la panoramica di Cloud DNS e i termini chiave.

Prima di iniziare

L'API Cloud DNS richiede di creare un progetto Cloud DNS e di attivare l'API Cloud DNS.

Se stai creando un'applicazione che utilizza l'API REST, devi anche creare un ID client OAuth 2.0.

  1. Se non ne hai già uno, crea un Account Google.
  2. Abilita l'API Cloud DNS nella console Google Cloud. Puoi scegliere un progetto Compute Engine o App Engine esistente oppure crearne uno nuovo.
  3. Se devi effettuare richieste all'API REST, devi creare un ID OAuth 2.0. Consulta Configurare OAuth 2.0.
  4. Nel progetto, prendi nota delle seguenti informazioni che dovrai inserire nei passaggi successivi:
    • L'ID client (xxxxxx.apps.googleusercontent.com).
    • L'ID progetto che vuoi utilizzare. Puoi trovare l'ID nella parte superiore della pagina Panoramica della console Google Cloud. Puoi anche chiedere all'utente di fornire il nome del progetto che vuole utilizzare nella tua app.

Se non hai mai eseguito Google Cloud CLI, devi eseguire il seguente comando per specificare il nome del progetto e autenticarti con la console Google Cloud:

gcloud auth login

Se vuoi eseguire un comando gcloud sulle risorse Google Cloud in un altro progetto, specifica l'opzione --project per questo comando e per gli altri comandi gcloud in questa pagina.

Creare zone gestite

Ogni zona gestita creata è associata a un progetto Google Cloud. Le sezioni seguenti descrivono come creare il tipo di zona gestita supportato da Cloud DNS.

Crea una zona pubblica

Per creare una nuova zona gestita, completa i seguenti passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Crea una zona DNS.

    Vai a Crea una zona DNS

  2. In Tipo di zona, seleziona Pubblica.

  3. Inserisci un nome zona, ad esempio my-new-zone.

  4. Inserisci un suffisso del nome DNS per la zona utilizzando un nome di dominio di tua proprietà. Tutti i record della zona condividono questo suffisso, ad esempio: example.com.

  5. In DNSSEC, seleziona Off, On o Trasferimento. Per maggiori informazioni, consulta Abilitare DNSSEC per le zone gestite esistenti.

  6. Fai clic su Crea. Viene visualizzata la pagina Dettagli zona.

gcloud

Esegui il comando dns managed-zones create:

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

Sostituisci quanto segue:

  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione della tua zona
  • DNS_SUFFIX: il suffisso DNS per la tua zona, ad esempio example.com
  • LABELS: un elenco facoltativo delimitato da virgole di coppie chiave-valore come dept=marketing o project=project1. Per ulteriori informazioni, consulta la documentazione dell'SDK

Terraform

resource "google_dns_managed_zone" "example_zone" {
  name        = "example-zone"
  dns_name    = "example-${random_id.rnd.hex}.com."
  description = "Example DNS zone"
  labels = {
    name = "value"
  }
}

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

API

Invia una richiesta POST utilizzando il metodo managedZones.create:

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{
  "name": "NAME",
  "description": "DESCRIPTION",
  "dnsName": "DNS_NAME",
  "visibility": "public"
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui viene creata la zona gestita
  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione della tua zona
  • DNS_NAME: il suffisso DNS per la tua zona, ad esempio example.com

Crea una zona privata

Per creare una nuova zona privata gestita con record DNS privati gestiti da Cloud DNS, completa i seguenti passaggi. Per ulteriori informazioni, consulta le best practice per le zone private Cloud DNS.

Console

  1. Nella console Google Cloud, vai alla pagina Crea una zona DNS.

    Vai a Crea una zona DNS

  2. In Tipo di zona, seleziona Privato.

  3. Inserisci un nome zona, ad esempio my-new-zone.

  4. Inserisci un suffisso del nome DNS per la zona privata. Tutti i record della zona condividono questo suffisso, ad esempio: example.private.

  5. (Facoltativo) Aggiungi una descrizione.

  6. In Opzioni, seleziona Predefinito (privato).

  7. Seleziona le reti Virtual Private Cloud (VPC) a cui deve essere visibile la zona privata. Solo le reti VPC selezionate sono autorizzate a eseguire query sui record nella zona.

  8. Fai clic su Crea.

gcloud

Esegui il 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

Sostituisci quanto segue:

  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione della tua zona
  • DNS_SUFFIX: il suffisso DNS per la tua zona, ad esempio example.private
  • VPC_NETWORK_LIST: un elenco separato da virgole di reti VPC autorizzate a eseguire query sulla zona
  • LABELS: un elenco facoltativo delimitato da virgole di coppie chiave-valore come dept=marketing o project=project1. Per ulteriori informazioni, consulta la documentazione dell'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

Invia una richiesta POST utilizzando il metodo 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
        },
        ....
    ]
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID del progetto in cui viene creata la zona gestita
  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione della tua zona
  • DNS_NAME: il suffisso DNS per la tua zona, ad esempio example.private
  • VPC_NETWORK_1 e VPC_NETWORK_2: URL per le reti VPC nello stesso progetto che possono eseguire query sui record in questa zona. Puoi aggiungere più reti VPC come indicato. Per determinare l'URL di una rete VPC, utilizza il seguente comando gcloud, sostituendo VPC_NETWORK_NAME con il nome della rete:

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

Crea una zona con autorizzazioni IAM specifiche

L'autorizzazione Identity and Access Management (IAM) per la singola zona gestita della risorsa consente di configurare autorizzazioni di lettura, scrittura o amministratore specifiche per diverse zone gestite nello stesso progetto.

Per istruzioni su come creare una zona con autorizzazioni IAM (Identity and Access Management) specifiche, consulta Creare una zona con autorizzazioni IAM specifiche.

Creare una zona DNS di Service Directory

Puoi creare una zona Service Directory che consenta ai tuoi servizi basati su Google Cloud di eseguire query sullo spazio dei nomi di Service Directory tramite DNS.

Per istruzioni dettagliate su come creare una zona DNS di Service Directory, consulta Configurazione di una zona DNS di Service Directory.

Per istruzioni su come utilizzare il DNS per eseguire query in Service Directory, consulta Esecuzione di query utilizzando 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
}

Creare una zona privata di ricerca inversa gestita

Una zona di ricerca inversa gestita è una zona privata con un attributo speciale che ordina a Cloud DNS di eseguire una ricerca PTR in base ai dati DNS di Compute Engine. Devi configurare zone di ricerca inversa gestite per Cloud DNS per risolvere correttamente i record PTR non RFC 1918 per le istanze della tua macchina virtuale (VM).

Per istruzioni su come creare una nuova zona privata di ricerca inversa gestita, consulta Creare una zona di ricerca inversa gestita.

Crea una zona di inoltro

Le zone di inoltro ti consentono di scegliere come target i server dei nomi per zone private specifiche. Per istruzioni su come creare una nuova zona di inoltro privata gestita, consulta Creare una zona di inoltro.

Crea una zona di peering

Il peering DNS ti consente di inviare richieste per i record provenienti dall'ambito di un'altra rete VPC. Per istruzioni su come creare una zona di peering, consulta Creare una zona di peering.

Creazione di una zona di associazione tra progetti

Crea una zona privata gestita che può essere associata a una rete di proprietà di un progetto diverso all'interno della stessa organizzazione. Per istruzioni su come creare una zona di associazione tra progetti, consulta Zone di associazione tra progetti.

Aggiornare le zone gestite

Cloud DNS ti consente di modificare determinati attributi della tua zonapubblica o privata gestita.

Aggiornare le zone pubbliche

Puoi modificare la descrizione o la configurazione DNSSEC di una zona pubblica.

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona pubblica da aggiornare.

  3. Fai clic su Modifica.

  4. Per modificare le impostazioni DNSSEC, in DNSSEC, seleziona Off, On o Trasferimento. Per saperne di più, consulta Attivare DNSSEC per le zone gestite esistenti.

  5. (Facoltativo) Aggiorna la descrizione.

  6. Fai clic su Salva.

gcloud

Esegui il comando dns managed-zones update:

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --dnssec-state=STATE

Sostituisci quanto segue:

  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione della tua zona
  • STATE: un'impostazione DNSSEC, ad esempio Off, On o Transfer

Per modificare le reti VPC a cui è visibile una zona privata:

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona privata che vuoi aggiornare.

  3. Fai clic su Modifica.

  4. Seleziona le reti VPC a cui deve essere visibile la zona privata. Solo le reti VPC selezionate sono autorizzate a eseguire query sui record nella zona.

  5. Fai clic su Salva.

gcloud

Esegui il comando dns managed-zones update:

gcloud dns managed-zones update NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST

Sostituisci quanto segue:

  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione della tua zona
  • VPC_NETWORK_LIST: un elenco separato da virgole di reti VPC autorizzate a eseguire query sulla zona

Aggiorna etichette

Per aggiungere nuove etichette, modificare quelle esistenti, rimuovere quelle selezionate o cancellare tutte le etichette in una zona gestita, svolgi i seguenti passaggi.

gcloud

Esegui il 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

Sostituisci quanto segue:

  • NAME: un nome per la zona
  • LABELS: un elenco facoltativo delimitato da virgole di coppie chiave-valore come dept=marketing o project=project1. Per ulteriori informazioni, consulta la documentazione dell'SDK

Elenca e descrivi le zone gestite

Le sezioni seguenti mostrano come elencare o descrivere una zona gestita.

Elenco delle zone gestite

Per elencare tutte le zone gestite all'interno di un progetto, completa i seguenti passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Visualizza le zone gestite nel riquadro a destra.

gcloud

Esegui il comando dns managed-zones list:

gcloud dns managed-zones list

Per elencare tutte le zone gestite, modifica il comando come segue:

gcloud dns managed-zones list 
--filter="visibility=public"
Per elencare tutte le zone private gestite, modifica il comando come segue:

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

Descrivere una zona gestita

Per visualizzare gli attributi di una zona gestita:

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona che vuoi ispezionare.

gcloud

Esegui il comando dns managed-zones describe:

gcloud dns managed-zones describe NAME

Sostituisci NAME con il nome della tua zona.

Eliminare una zona gestita

Per eliminare una zona gestita, completa i seguenti passaggi.

Console

  1. Nella console Google Cloud, vai alla pagina Zone Cloud DNS.

    Vai alle zone Cloud DNS

  2. Fai clic sulla zona gestita che vuoi eliminare.

  3. Rimuovi tutti i record nella zona, ad eccezione di SOA e NS. Per ulteriori informazioni, consulta la sezione Rimuovere un record.

  4. Fai clic su Elimina zona.

gcloud

  1. Rimuovi tutti i record nella zona, ad eccezione di SOA e NS. Per ulteriori informazioni, consulta la sezione Rimuovere un record. Puoi svuotare rapidamente un'intera zona importando un file vuoto in un set di record. Per ulteriori informazioni, vedi Importare ed esportare set di record. Ad esempio:

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

    Sostituisci NAME con il nome della tua zona.

  2. Per eliminare una nuova zona privata gestita, esegui il comando dns managed-zones delete:

    gcloud dns managed-zones delete NAME
    

    Sostituisci NAME con il nome della tua zona.

Passaggi successivi