Creare, modificare ed eliminare le zone

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Questa pagina fornisce indicazioni per la creazione, l'aggiornamento, l'elenco e l'eliminazione delle zone gestite di Cloud DNS. Prima di utilizzare questa pagina, acquisisci familiarità con 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 crei 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. Attiva 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 inviare richieste all'API REST, devi creare un ID OAuth 2.0: Configurazione di OAuth 2.0.
  4. Nel progetto, tieni presente le 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 in Google Cloud Console. Puoi anche chiedere all'utente di fornire il nome del progetto che vuole utilizzare nell'app.

Se non hai ancora eseguito Google Cloud CLI, devi eseguire il seguente comando per specificare il nome del progetto e autenticarlo con Google Cloud Console:

gcloud auth login

Se vuoi eseguire un comando gcloud sulle risorse di 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 che crei è associata a un progetto Google Cloud. Le sezioni seguenti descrivono come creare il tipo di zona gestita supportata da Cloud DNS.

Crea una zona pubblica

Per creare una nuova zona gestita:

console

  1. In Google Cloud Console, vai alla pagina Crea una zona DNS.

    Vai a Creare una zona DNS

  2. Per Tipo di zona, seleziona Pubblico.

  3. Inserisci un Nome zona come my-new-zone.

  4. Inserisci un suffisso 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 ulteriori 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 tua zona
  • DESCRIPTION: una descrizione della 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

Server

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 tua zona
  • DESCRIPTION: una descrizione della zona
  • DNS_NAME: il suffisso DNS per la tua zona, ad esempio example.com

Terraform

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

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

Crea una zona privata

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

console

  1. In Google Cloud Console, vai alla pagina Crea una zona DNS.

    Vai a Creare una zona DNS

  2. Per Tipo di zona, seleziona Privato.

  3. Inserisci un Nome zona come my-new-zone.

  4. Inserisci un suffisso 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 Options (Opzioni), seleziona Default (private) (Predefinito (privato)).

  7. Seleziona le reti Virtual Private Cloud (VPC) a cui la zona privata deve essere visibile. 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 tua zona
  • DESCRIPTION: una descrizione della zona
  • DNS_SUFFIX: il suffisso DNS per la tua 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

Server

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 tua zona
  • DESCRIPTION: una descrizione della zona
  • DNS_NAME: il suffisso DNS per la tua zona, ad esempio example.private
  • VPC_NETWORK_1 e VPC_NETWORK_2: URL per 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 per una rete VPC, utilizza il comando gcloud seguente, sostituendo VPC_NETWORK_NAME con il nome della rete:

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

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
}

Crea una zona con autorizzazioni IAM specifiche

L'autorizzazione IAM (Gestione di identità e accessi) per singole zone gestite dalle risorse consente di configurare autorizzazioni di lettura, scrittura o amministratore specifiche per diverse zone gestite all'interno dello stesso progetto.

Per istruzioni su come creare una zona con specifiche autorizzazioni IAM (Gestione di identità e accessi), consulta Creare una zona con autorizzazioni IAM specifiche.

Crea una zona DNS di Service Directory

Puoi creare una zona di Service Directory che consente 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, vedi Configurare una zona DNS di Service Directory.

Per istruzioni su come utilizzare il DNS per eseguire query su Service Directory, vedi Esecuzione di query tramite 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 indica a Cloud DNS di eseguire una ricerca PTR nei dati DNS di Compute Engine. Devi configurare le zone di ricerca inversa gestite per Cloud DNS per risolvere correttamente i record PTR non RFC 1918 per le tue istanze di macchine virtuali (VM).

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

Creazione di 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 forwarding privata gestita, consulta l'articolo Creare una zona di inoltro.

Creazione di una zona di peering

Il peering DNS consente di inviare richieste per i record provenienti da uno 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 progetto diverso 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 alcuni attributi della zona privata pubblica o gestita.

Aggiorna zone pubbliche

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

console

  1. In Google Cloud Console, 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 Transfer. Per ulteriori informazioni, consulta la pagina sull'abilitazione di 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 tua zona
  • DESCRIPTION: una descrizione della zona
  • STATE: un'impostazione DNSSEC come Off, On o Transfer

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

console

  1. In Google Cloud Console, vai alla pagina Zone Cloud DNS.

    Vai alle zone di Cloud DNS

  2. Fai clic sulla zona privata da aggiornare.

  3. Fai clic su Modifica.

  4. Seleziona le reti VPC in 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 tua zona
  • DESCRIPTION: una descrizione della zona
  • VPC_NETWORK_LIST: un elenco delimitato da virgole di reti VPC autorizzate a eseguire query sulla zona

Aggiorna etichette

Per aggiungere nuove etichette, modificare quelle esistenti, rimuovere selezionate o cancellare tutte le etichette in una zona gestita, completa i passaggi riportati di seguito.

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 tua 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.

Elenca zone gestite

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

console

  1. In Google Cloud Console, 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:

console

  1. In Google Cloud Console, vai alla pagina Zone Cloud DNS.

    Vai alle zone di Cloud DNS

  2. Fai clic sulla zona da ispezionare.

gcloud

Esegui il comando dns managed-zones describe:

gcloud dns managed-zones describe NAME

Sostituisci NAME con il nome della zona.

Eliminare una zona gestita

Per eliminare una zona gestita:

console

  1. In Google Cloud Console, 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, vedi 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, vedi Rimozione di un record. Puoi svuotare rapidamente un'intera zona importando un file vuoto in un set di record. Per ulteriori informazioni, consulta la sezione Importazione ed esportazione di 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 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 zona.

Passaggi successivi