Creare, modificare ed eliminare zone

Questa pagina fornisce le indicazioni per creare, aggiornare, elencare ed eliminare le 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 la creazione di un progetto Cloud DNS e l'abilitazione dell'API Cloud DNS.

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

  1. Registrati per creare un Account Google, se non ne hai già uno.
  2. Abilita l'API Cloud DNS nella console Google Cloud. Puoi scegliere un progetto Compute Engine o App Engine esistente oppure puoi crearne uno nuovo.
  3. Se devi inviare richieste all'API REST, devi creare un ID OAuth 2.0: Configurazione di 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 nella console Google Cloud. Puoi anche chiedere all'utente di fornire il nome del progetto che vuole utilizzare nella tua app.

Se non hai già eseguito Google Cloud CLI, devi eseguire il comando seguente per specificare il nome del progetto ed eseguire l'autenticazione 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.

Crea zone gestite

Ogni zona gestita che crei è associata a un progetto Google Cloud. Le seguenti sezioni descrivono come creare il tipo di zona gestita supportata 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. Per 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 Transfer. Per maggiori informazioni, consulta Abilitare DNSSEC per 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 per la zona
  • DNS_SUFFIX: il suffisso DNS per la 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 è stata creata la zona gestita
  • NAME: un nome per la zona
  • DESCRIPTION: una descrizione per la zona
  • DNS_NAME: il suffisso DNS per la 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 passaggi riportati di seguito. Per ulteriori informazioni, consulta le best practice per le zone private di 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 nella zona condividono questo suffisso, ad esempio: example.private.

  5. (Facoltativo) Aggiungi una descrizione.

  6. In Opzioni, seleziona Predefinita (privata).

  7. Seleziona le reti Virtual Private Cloud (VPC) in cui deve essere visibile la zona privata. Solo le reti VPC che selezioni 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 per la zona
  • DNS_SUFFIX: il suffisso DNS per la zona, ad esempio example.private
  • VPC_NETWORK_LIST: un elenco delimitato 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 per la zona
  • DNS_NAME: il suffisso DNS per la 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 IAM (Identity and Access Management) per le singole zone gestite dalle risorse consente di impostare autorizzazioni di lettura, scrittura o amministratore specifiche per diverse zone gestite nello stesso progetto.

Per istruzioni su come creare una zona con autorizzazioni IAM specifiche, consulta Creare una zona con autorizzazioni IAM specifiche.

Crea una zona DNS di Service Directory

Puoi creare una zona Service Directory che consenta ai 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 sull'utilizzo del DNS per eseguire query in Service Directory, consulta la pagina relativa all'esecuzione di query utilizzando il 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
}

Creazione di una zona privata per ricerca inversa gestita

Una zona gestita di ricerca inversa è una zona privata con un attributo speciale che indica a Cloud DNS di eseguire una ricerca PTR sui dati DNS di Compute Engine. Devi configurare zone di ricerca inversa gestita per Cloud DNS in modo da risolvere correttamente i record PTR non RFC 1918 per le istanze di macchine virtuali (VM).

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

Crea una zona di inoltro

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

Crea una zona di peering

Il peering DNS consente di inviare richieste per i record che provengono dallo spazio dei nomi di una zona a 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 altro progetto all'interno della stessa organizzazione. Per istruzioni su come creare una zona di associazione tra progetti, consulta Zone di associazione tra progetti.

Aggiorna zone gestite

Cloud DNS consente di modificare determinati attributi della zona pubblica o privata gestita.

Aggiorna 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 di Cloud DNS

  2. Fai clic sulla zona pubblica che vuoi aggiornare.

  3. Fai clic su Modifica.

  4. Per modificare le impostazioni DNSSEC, in DNSSEC, seleziona Off, On o Trasferisci. Per maggiori informazioni, consulta Abilitare le 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 per la zona
  • STATE: un'impostazione DNSSEC come Off, On o Transfer

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

Console

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

    Vai alle zone di Cloud DNS

  2. Fai clic sulla zona privata che vuoi aggiornare.

  3. Fai clic su Modifica.

  4. Seleziona le reti VPC in cui la zona privata deve essere visibile. 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 per la zona
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC autorizzate a eseguire query sulla zona

Aggiorna etichette

Per aggiungere nuove etichette, modificarne quelle esistenti, rimuovere quelle selezionate o cancellare tutte le etichette in una zona gestita, completa 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

Elenco e descrizione delle zone gestite

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

Elenca zone gestite

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

Console

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

    Vai alle zone di 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, completa i seguenti passaggi.

Console

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

    Vai alle zone di 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 di Cloud DNS

  2. Fai clic sulla zona gestita che vuoi eliminare.

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

  4. Fai clic su Elimina zona.

gcloud

  1. Rimuovi tutti i record nella zona ad eccezione dei record SOA e NS. Per ulteriori informazioni, consulta la sezione Rimozione di un record. Puoi svuotare rapidamente un'intera zona importando un file vuoto in un set di record. Per ulteriori informazioni, consulta Importazione ed esportazione dei 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