Questa pagina descrive come creare, aggiornare e associare gli endpoint in uscita alle zone di forwarding e alle policy dei server DNS per abilitare il forwarding diretto delle query DNS utilizzando indirizzi IP privati dalla tua rete VPC. Utilizzando questo approccio, ottieni un controllo più granulare sul traffico in uscita. Per saperne di più sugli endpoint in uscita, consulta la panoramica degli endpoint in uscita.
Prima di iniziare
-
Nella console Google Cloud , nella pagina di selezione del progetto, seleziona o crea un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Verifica che la fatturazione sia attivata per il tuo progetto Google Cloud .
-
Abilita le API Cloud DNS, Compute Engine e Network Services, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente disponi già di questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore utilizzo servizi (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli.
Assicurati di avere una rete VPC con connettività ai server dei nomi DNS on-premise o esterni. In ogni regione in cui prevedi di eseguire il deployment di un endpoint in uscita, la tua rete VPC deve avere una subnet normale e una subnet solo proxy nella regione di destinazione. Per saperne di più, consulta la pagina Crea e gestisci le reti VPC.
Assicurati inoltre che la tua rete on-premise abbia una route di ritorno per l'intervallo di indirizzi IP della subnet solo proxy regionale e configura le regole firewall on-premise per consentire le query DNS in entrata (porta UDP e TCP 53) dall'intervallo di indirizzi IP della subnet solo proxy regionale.
Crea un endpoint in uscita
Per creare un endpoint in uscita:
Console
Nella console Google Cloud , vai alla pagina Cloud DNS.
Vai alla scheda Endpoint in uscita e fai clic su Crea endpoint in uscita.
Nel campo Nome, inserisci un nome univoco per l'endpoint.
(Facoltativo) Nel campo Descrizione, inserisci una descrizione dell'endpoint.
In Regione, seleziona la regione di destinazione.
Nell'elenco Rete, seleziona la rete VPC.
Per Subnet, seleziona la subnet normale nella regione selezionata.
In Indirizzo IP endpoint, inserisci una stringa di indirizzo IPv4 valida dall'intervallo di subnet selezionato.
Per Subnet solo proxy, la console rileva automaticamente la subnet solo proxy regionale nella rete VPC e nella regione selezionate per il traffico in uscita delle query in uscita. Se non viene rilevata una subnet solo proxy, fai clic su Riserva subnet per crearne una prima di continuare.
Fai clic su Crea.
gcloud
Esegui il comando gcloud beta dns outbound-endpoints create:
gcloud beta dns outbound-endpoints create ENDPOINT_NAME \
--project=PROJECT_ID \
--network=VPC_NETWORK \
--subnetwork=REGULAR_SUBNET \
--location=REGION \
--endpoint-ip=IP_ADDRESS \
--description=DESCRIPTION
Sostituisci quanto segue:
ENDPOINT_NAME: il nome dell'endpoint in uscitaPROJECT_ID: il tuo ID progettoVPC_NETWORK: la rete VPC associata all'endpoint in uscita, ad esempioprojects/PROJECT_ID/global/networks/NETWORK_NAMEo semplicementeNETWORK_NAMEREGULAR_SUBNET: la subnet regolare da cui viene allocato l'indirizzo IP di ascolto interno dell'endpoint, ad esempioprojects/PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAMEo semplicementeSUBNET_NAMEREGION: la regione in cui è stato eseguito il deployment dell'endpointIP_ADDRESS: un indirizzo IPv4 interno disponibile dall'intervallo di indirizzi IP principale della subnet normaleDESCRIPTION: una descrizione facoltativa dell'endpoint
API
Esegui il metodo outboundEndpoints.create:
POST https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints?outboundEndpointId=ENDPOINT_NAME
{
"network": "projects/PROJECT_ID/global/networks/VPC_NETWORK",
"subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/REGULAR_SUBNET",
"endpointIp": "IP_ADDRESS",
"description": "DESCRIPTION"
}
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpointENDPOINT_NAME: il nome dell'endpoint in uscitaVPC_NETWORK: la rete VPC associata all'endpoint in uscitaREGULAR_SUBNET: la subnet normale da cui viene allocato l'indirizzo IP di ascolto interno dell'endpointIP_ADDRESS: un indirizzo IPv4 interno disponibile dall'intervallo IP principale della subnet normaleDESCRIPTION: una descrizione facoltativa dell'endpoint
Aggiorna un endpoint in uscita
Per aggiornare un endpoint in uscita:
Console
Nella console Google Cloud , vai alla pagina Cloud DNS.
Vai alla scheda Endpoint in uscita e fai clic sul nome dell'endpoint in uscita da aggiornare.
Fai clic su Modifica, aggiorna il campo Descrizione e fai clic su Salva.
gcloud
Esegui il comando gcloud beta dns outbound-endpoints update:
gcloud beta dns outbound-endpoints update ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION \
--description=UPDATED_DESCRIPTION
Sostituisci quanto segue:
ENDPOINT_NAME: il nome dell'endpoint in uscita da aggiornarePROJECT_ID: il tuo ID progettoREGION: la regione in cui viene eseguito il deployment dell'endpointUPDATED_DESCRIPTION: descrizione aggiornata facoltativa per l'endpoint
API
Esegui il metodo outboundEndpoints.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME?updateMask=description
{
"description": "UPDATED_DESCRIPTION"
}
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpointENDPOINT_NAME: il nome dell'endpoint in uscita da aggiornareUPDATED_DESCRIPTION: descrizione aggiornata dell'endpoint in uscita
Associa gli endpoint a una zona di forwarding
Console
Nella console Google Cloud , vai alla pagina Cloud DNS.
Vai alla scheda Zone e fai clic su Crea zona oppure seleziona una zona di forwarding esistente e fai clic su Modifica.
Configura i parametri della zona:
- In Tipo di zona, seleziona Privata.
- In Nome zona, inserisci un identificatore univoco per la zona.
- In Nome DNS, inserisci il suffisso di dominio che vuoi inoltrare. Ad esempio,
corp.example.com. - (Facoltativo) In Descrizione, inserisci una descrizione.
- In Opzioni, seleziona Inoltra le query a un altro server.
- In Reti, seleziona le reti VPC autorizzate a risolvere le query su questa zona.
In Server DNS di destinazione, inserisci gli indirizzi IPv4 o i nomi di dominio completi (FQDN) di destinazione dei tuoi server dei nomi esterni/on-premise.
In Percorso di andata, seleziona Endpoint in uscita.
In Endpoint in uscita, seleziona uno o più endpoint per gestire l'inoltro delle query:
- Selezione minima: seleziona almeno un endpoint in uscita (obbligatorio quando si sceglie Endpoint in uscita come percorso di andata).
- Vincolo di VPC singolo: tutti gli endpoint selezionati devono appartenere alla stessa rete VPC.
- Best practice per l'alta affidabilità (HA): per il disaster recovery tra regioni e il failover automatico, configura e seleziona almeno due endpoint in regioni diverse all'interno della rete VPC.
Fai clic su Crea (o Salva per una zona esistente).
gcloud
Associa gli endpoint a una zona di forwarding utilizzando il comando gcloud beta dns managed-zones update:
gcloud beta dns managed-zones update ZONE_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Sostituisci quanto segue:
ZONE_NAME: il nome della zona di forwarding da aggiornarePROJECT_ID: il tuo ID progettoREGION_1eREGION_2: regioni in cui vengono implementati gli endpointENDPOINT_NAME_1: il nome del primo endpoint da associare alla zona di inoltroENDPOINT_NAME_2: il nome del secondo endpoint da associare alla zona di forwarding
API
Esegui il metodo managedZones.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/managedZones/ZONE_NAME
{
"name": "ZONE_NAME",
"dnsName": "DNS_NAME",
"description": "DESCRIPTION",
"visibility": "private",
"forwardingConfig": {
"outboundEndpoints": [
{
"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"
},
{
"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"
}
]
}
}
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoZONE_NAME: il nome della zona di forwarding da aggiornareDNS_NAME: il nome DNS della zona di forwardingDESCRIPTION: (facoltativo) descrizione aggiornata della zona di forwardingREGION_1eREGION_2: regioni in cui viene eseguito il deployment degli endpoint (tutti gli endpoint in uscita elencati inforwardingConfigdevono appartenere alla stessa rete VPC)ENDPOINT_NAME_1: il nome del primo endpoint da associare alla zona di forwardingENDPOINT_NAME_2: il nome del secondo endpoint da associare alla zona di forwarding
Associa gli endpoint a una policy dei server DNS
Console
Nella console Google Cloud , vai alla pagina Cloud DNS.
Vai alla scheda Policy dei server DNS e fai clic su Crea policy (o seleziona una policy dei server DNS esistente e fai clic su Modifica).
Configura quanto segue:
- In Nome della policy, inserisci un nome univoco per la policy del server.
- (Facoltativo) In Descrizione, inserisci una descrizione.
- Per l'inoltro delle query in entrata, specifica se i client esterni eseguiranno query sui workload VPC utilizzando gli endpoint in entrata.
- Per DNS64, attiva o disattiva la sintesi IPv6 in base alle tue esigenze.
- In Log, abilita o disabilita il logging DNS in base alle tue esigenze.
- Per Reti VPC, seleziona le reti VPC a cui si applica la policy del server.
In Server DNS alternativi, inserisci gli indirizzi IPv4 di destinazione dei tuoi server dei nomi esterni o on-premise.
Per Percorso di andata, seleziona Endpoint in uscita.
In Endpoint in uscita, seleziona uno o più endpoint per instradare tutte le query VPC non private:
- Selezione minima: seleziona almeno un endpoint in uscita.
- Vincolo di un singolo VPC: tutti gli endpoint selezionati devono appartenere alla stessa rete VPC.
- Best practice per l'alta affidabilità (HA): per il disaster recovery tra regioni e il failover automatico, configura e seleziona almeno due endpoint in regioni diverse all'interno della rete VPC.
Fai clic su Crea (o Salva per una policy esistente).
gcloud
Associa gli endpoint a una policy dei server DNS utilizzando il comando gcloud beta dns policies update:
gcloud beta dns policies update POLICY_NAME \
--project=PROJECT_ID \
--outbound-endpoints=projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1,projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2
Sostituisci quanto segue:
POLICY_NAME: il nome della policy dei server DNS da aggiornarePROJECT_ID: il tuo ID progettoREGION_1eREGION_2: le regioni in cui viene eseguito il deployment degli endpointENDPOINT_NAME_1: il nome del primo endpoint da associare alla policy dei server DNSENDPOINT_NAME_2: il nome del secondo endpoint da associare alla policy dei server DNS
API
Esegui il metodo policies.patch:
PATCH https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/policies/POLICY_NAME
{
"alternativeNameServerConfig": {
"outboundEndpoints": [
{"name": "projects/PROJECT_ID/locations/REGION_1/outboundEndpoints/ENDPOINT_NAME_1"},
{"name": "projects/PROJECT_ID/locations/REGION_2/outboundEndpoints/ENDPOINT_NAME_2"}
]
}
}
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoPOLICY_NAME: il nome della policy dei server DNS da aggiornareREGION_1eREGION_2: le regioni in cui viene eseguito il deployment degli endpointENDPOINT_NAME_1: il nome del primo endpoint da associare alla policy dei server DNSENDPOINT_NAME_2: il nome del secondo endpoint da associare alla policy dei server DNS
Visualizza gli endpoint in uscita
Per elencare o descrivere gli endpoint in uscita in una regione:
Console
Nella console Google Cloud , vai alla pagina Cloud DNS.
Vai alla scheda Endpoint in uscita per visualizzare tutti gli endpoint in uscita nel tuo progetto, le relative regioni, reti, subnet, indirizzi IP e stato di integrità.
gcloud
Per elencare tutti gli endpoint in uscita in una regione, esegui il comando gcloud beta dns outbound-endpoints list:
gcloud beta dns outbound-endpoints list \
--project=PROJECT_ID \
--location=REGION
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui viene eseguito il deployment dell'endpoint
Per visualizzare i dettagli di un endpoint in uscita specifico, esegui il comando gcloud beta dns outbound-endpoints describe:
gcloud beta dns outbound-endpoints describe ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Sostituisci quanto segue:
ENDPOINT_NAME: il nome dell'endpoint in uscitaPROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpoint
API
Per elencare tutti gli endpoint in uscita in una regione, invia una richiesta GET:
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpoint
Per visualizzare i dettagli di un endpoint in uscita specifico, invia una richiesta GET:
GET https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpointENDPOINT_NAME: il nome dell'endpoint in uscita
Elimina un endpoint in uscita
Prima di poter eliminare un endpoint in uscita, devi dissociarlo da tutte le zone di forwarding o dalle policy dei server DNS che vi fanno riferimento. Per saperne di più, consulta Gestisci le risorse di rete associate agli endpoint in uscita.
Dopo aver dissociato l'endpoint in uscita da tutte le zone di forwarding e dalle policy dei server DNS, segui questi passaggi per eliminare l'endpoint:
Console
Nella console Google Cloud , vai alla pagina Cloud DNS.
Vai alla scheda Endpoint in uscita.
Seleziona l'endpoint in uscita che vuoi eliminare e fai clic su Elimina.
gcloud
Esegui il comando gcloud beta dns outbound-endpoints delete:
gcloud beta dns outbound-endpoints delete ENDPOINT_NAME \
--project=PROJECT_ID \
--location=REGION
Sostituisci quanto segue:
ENDPOINT_NAME: il nome dell'endpoint in uscita da eliminarePROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpoint
API
Utilizza il metodo outboundEndpoints.delete:
DELETE https://dns.googleapis.com/dns/v1beta2/projects/PROJECT_ID/locations/REGION/outboundEndpoints/ENDPOINT_NAME
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui è stato eseguito il deployment dell'endpointENDPOINT_NAME: il nome dell'endpoint in uscita da eliminare
Risoluzione dei problemi
Per trovare metodi per diagnosticare e risolvere gli errori relativi agli endpoint in uscita, consulta Risoluzione dei problemi.
Passaggi successivi
- Scopri di più sugli endpoint in uscita.