Questa pagina mostra come configurare le impostazioni DNS per un dominio utilizzando Cloud DNS e Cloud Tools for PowerShell. Passa in rassegna una semplice esempio di creazione di una zona gestita per gestire un dominio e i suoi sottodomini; e quindi l'aggiunta di record di risorse alla zona per fornire informazioni che il comportamento del server DNS durante la gestione delle richieste ai domini della zona.
Questo documento presuppone che tu abbia un nome di dominio e un indirizzo IP che puoi puntare il nome di dominio. In caso contrario, puoi registrare un nome di dominio tramite Google Domains o un altro registrar di domini del tuo scelta.
Leggi il cmdlet Cloud Tools for PowerShell riferimento a Scopri di più sui cmdlet di Cloud DNS. Per scoprire di più su Cloud DNS in generale, leggi le Panoramica di Cloud DNS.
Creazione di una zona gestita per il dominio
L'intero spazio dei nomi DNS è composto da molti domini, che a breve includi il tuo nome di dominio. Le zone gestite in Cloud DNS modellano le zone DNS e fungono da contenitori per organizzare i record DNS (ad esempio le voci A, CNAME o TXT) per lo stesso suffisso di nomi DNS. Ad esempio, i record per "example.com" e sottodomini come "first.example.com" potrebbero trovarsi nella stessa zona poiché condividono il suffisso "example.com". Tieni presente il punto finale, che è necessario e indica un nome DNS assoluto.
Per iniziare, configura una zona gestita per organizzare i record DNS che creerai per il tuo nome di dominio. Puoi creare una nuova zona gestita e aggiungerla a
il progetto della console Google Cloud utilizzando il cmdlet Add-GcdManagedZone
:
Add-GcdManagedZone ` -Name "my-new-zone" ` -DnsName "example.com." ` -Description "This is my first zone."
Questa operazione crea una nuova zona con i dettagli specificati e la aggiunge all'area progetto dell'interfaccia a riga di comando gcloud CLI attiva configurazione, nonostante tu possa scegliere e specificare un ID progetto diverso, se necessario. Questo crea anche NS predefiniti e record SOA nella zona.
Tuttavia, per pubblicare i nuovi record della zona su internet, è necessario anche di aggiornare i server dei nomi del tuo dominio in modo Cloud DNS. Anche se il tuo dominio è registrati con Google Domains, devi comunque aggiornare i propri server dei nomi.
Puoi trovare i server dei nomi di Cloud DNS assegnati al tuo dominio.
utilizzando il cmdlet Get-GcdManagedZone
nella zona gestita che regola il dominio
per restituire informazioni sulla zona:
Get-GcdManagedZone -Zone "my-new-zone"
Aggiunta e rimozione di set di record di risorse
I record di risorse DNS forniscono informazioni che determinano il comportamento del server DNS durante la gestione delle richieste inviate a un dominio. Ad esempio, i record DNS possono essere utilizzati per indicare al server l'indirizzo IP a cui viene risolto un dominio, i server di posta utilizzabili per un dominio e molto altro ancora.
In Cloud DNS, puoi aggiungere o rimuovere i record DNS di una zona per
configurare tale comportamento. Per aggiungere o rimuovere set di record di risorse immutabili,
non operare sui record direttamente in una zona. Devi invece creare record di risorse indipendenti o recuperarne di esistenti utilizzando rispettivamente i cmdlet New-GcdResourceRecordSet
e Get-GcdResourceRecordSet
, quindi inviare richieste di modifica con questi record a una zona specifica utilizzando il cmdlet Add-GcdChange
.
Creazione di set di record di risorse
Puoi utilizzare il cmdlet helper New-GcdResourceRecordSet
per creare una risorsa
di un set di record che puoi inserire all'interno di una modifica e poi aggiungerlo o rimuoverlo da un
nella zona gestita.
Ad esempio, se vuoi creare un record A per indirizzare il tuo dominio a un indirizzo IPv4 esterno nel formato #.#.#.# (se hai un indirizzo IPv6, utilizza un record AAAA), puoi utilizzare il seguente comando:
$ARecord = New-GcdResourceRecordSet ` -Name "example.com." -Rrdata "107.1.23.134" -Type "A"
Analogamente, per creare un record CNAME per il sottodominio www in modo che "www.example.com." si risolve allo stesso IP e si comporta come "example.com." puoi utilizzare questo comando:
$CNAMERecord = New-GcdResourceRecordSet ` -Name "www.example.com." -Rrdata "example.com." -Type "CNAME"
I tipi di record di risorse supportati che puoi creare e includere nelle modifiche a una zona sono A, AAAA, CNAME, MX, NAPTR, NS, PTR, SOA, SPF, SRV e TXT. Per per decidere quali record sono necessari e come crearli, consulta formati di record di risorse supportati Cloud DNS.
Recupero dei set di record di risorse
Se vuoi recuperare un set di record di risorse esistente in una zona, puoi usare
il cmdlet Get-GcdResourceRecordSet
per restituire tutti i record in una zona e quindi
indicizza i risultati:
$allRecords = Get-GcdResourceRecordSet -Zone "my-new-zone" $record0 = $allRecords[0]
Se vuoi solo record di un tipo specifico, puoi filtrare i risultati di conseguenza:
$ARecord = Get-GcdResourceRecordSet -Zone "my-new-zone" -Filter "A"
Applicazione delle modifiche a una zona gestita
I cmdlet New-GcdResourceRecordSet
e Get-GcdResourceRecordSet
sono entrambi
restituiscono set di record di risorse, ma non aggiungono record né li rimuovono
qualsiasi cosa. A questo scopo, utilizza il cmdlet Add-GcdChange
:
Add-GcdChange ` -Zone "my-new-zone" -Add $record1,$record2 -Remove $record0
Ad esempio, per aggiungere i record A e CNAME che hai creato sopra alla nostra zona, segui questi passaggi:
Add-GcdChange -Zone "my-new-zone" -Add $ARecord,$CNAMERecord
Se in un secondo momento vuoi modificare l'indirizzo IPv4 a cui viene risolto il tuo dominio, puoi creare un nuovo record di tipo A e aggiungerlo alla zona gestita, eliminando al contempo il vecchio record A:
$oldARecord = Get-GcdResourceRecordSet -Zone "my-new-zone" -Filter "A" $newARecord = New-GcdResourceRecordSet ` -Name "example.com." -Rrdata "104.1.34.167" -Type "A" Add-GcdChange -Zone "my-new-zone" -Remove $oldARecord -Add $newARecord
Ogni chiamata al cmdlet Add-GcdChange
restituisce il file appena eseguito
oggetto richiesta di modifica. Puoi anche passare al cmdlet Add-GcdChange
un oggetto di richiesta di modifica da eseguire direttamente anziché elenchi di set di record di risorse:
Add-GcdChange -Zone "my-new-zone" -ChangeRequest $change0
La creazione manuale di oggetti di richiesta di modifica non è consigliata, ma è utile
se vuoi applicare di nuovo una modifica apportata in precedenza o in una zona diversa.
È possibile recuperare tutti gli oggetti di richieste di modifica passate applicati a una zona
utilizzando il cmdlet Get-GcdChange
:
$allChanges = Get-GcdChange -Zone "my-new-zone"
Puoi scegliere una modifica specifica indicizzando il risultato precedente o specificare la modifica da recuperare con un ChangeId. In genere le richieste di modifica sono numerate da 0 in poi in base all'ordine in cui sono stati inviati alla zona:
$firstChange = Get-GcdChange -Zone "my-new-zone" -ChangeId 0 Add-GcdChange -Zone "my-new-zone" -ChangeRequest $firstChange
Eliminazione delle zone gestite
A volte, potresti voler rimuovere del tutto una zona gestita. Ciò può essere dovuto a diversi motivi. Forse hai la zona gestita "user1-zone" per sottodominio "utente1.esempio.com." ma user1 elimina il proprio account e in questo caso vuoi rimuovi questo sottodominio e tutti i record DNS associati.
Per rimuovere una zona gestita dal progetto, utilizza Remove-GcdManagedZone
cmdlet:
Remove-GcdManagedZone -Zone "user1-zone"
In caso di esito positivo, il comando non restituisce nulla.
Tuttavia, questo cmdlet non funziona immediatamente su ciò che Cloud DNS
considera "non vuoto" zone gestite o zone che contengono account non NS o non SOA
(record non predefiniti). Ad esempio, non puoi eliminare
"la-nuova-zona", a cui hai aggiunto i record di tipo A e CNAME, senza
concedendo l'autorizzazione al cmdlet durante l'elaborazione o l'utilizzo dell'-Force
Opzione:
Remove-GcdManagedZone -Zone "my-new-zone" -Force
Il cmdlet Remove-GcdManagedZone
accetta anche input della pipeline per le zone
eliminare. Ad esempio, il seguente comando elimina forzatamente tutte le
nel progetto corrente. Questa opzione potrebbe essere utile se non sei più
mantenendo qualsiasi dominio impostato in un progetto:
Get-GcdManagedZone | Remove-GcdManagedZone -Force