Configurazione dell'accesso privato ai servizi

L'accesso privato ai servizi è una connessione privata tra il tuo VPC rete e una rete di proprietà di Google o di una terza parte. Google o la terza parte, ovvero le persone giuridiche che offrono servizi, sono note anche come produttori di servizi. La connessione privata abilita le istanze VM la rete VPC e i servizi a cui accedi per comunicare esclusivamente utilizzando indirizzi IP interni. Le istanze VM non richiedono accesso a internet o indirizzi IP esterni per raggiungere i servizi disponibili tramite l'accesso ai servizi privati.

Per scoprire di più sull'accesso privato ai servizi e su altre opzioni di accesso privato, vedi Opzioni di accesso privato per i servizi.

A livello generale, per utilizzare l'accesso privato ai servizi, è necessario allocate un intervallo di indirizzi IP (blocco CIDR) nel tuo rete VPC e quindi creare un'istanza connessione a un producer di servizi.

Prima di iniziare

Per stabilire una connessione privata, completa i seguenti prerequisiti:

  • Verifica che il servizio che utilizzi supporti l'accesso ai servizi privati.
  • Crea un progetto Google Cloud o scegline uno esistente. Per scoprire come creare un progetto Google Cloud, consulta Creazione e gestione progetti.
  • Attiva la sezione Service Networking API nel tuo progetto. L'API è necessaria per creare una connessione privata.
  • Crea o scegli una rete VPC da utilizzare per collegarti alla rete del produttore di servizi. Le istanze VM devono utilizzare questo Rete VPC per connettersi ai servizi tramite una connessione privata.
  • Installa gcloud CLI se vuoi eseguire gli esempi della riga di comando gcloud in questa guida.

Autorizzazioni

I proprietari del progetto e i membri IAM con il ruolo Amministratore rete Compute (roles/compute.networkAdmin) possono creare intervalli di indirizzi IP allocati e gestire le connessioni private.

Per ulteriori informazioni sui ruoli, leggi la sezione VPC IAM ruoli.

Scenario VPC condiviso

Se utilizzi un VPC condiviso, crea l'IP allocato e connessione privata nel progetto host. In genere, queste attività devono essere eseguite da un amministratore di rete nel progetto host. Una volta che il progetto host le istanze VM nei progetti di servizio possono utilizzare la connessione privata.

Quote e limiti

Poiché una connessione privata è implementata come connessione di peering VPC, all'accesso ai servizi privati si applicano le stesse quote e gli stessi limiti previsti per il peering di rete VPC.

Intervalli di indirizzi IP allocati per i servizi

Prima di creare una connessione privata, devi allocare un intervallo di indirizzi IPv4 da utilizzare dalla rete VPC del producer di servizi. In questo modo, non si verificano collisioni di indirizzi IP tra la tua rete VPC e la rete del producer di servizi. crea un intervallo allocato per ogni servizio produttore.

Quando assegni un intervallo nella rete VPC, questo non è idoneo per le subnet (intervalli principali e secondari) e le destinazioni dei route statici personalizzati.

L'utilizzo di intervalli di indirizzi IPv6 con accesso privato ai servizi non è supportato.

Dimensione intervallo di indirizzi IP

Intervalli di accesso privato ai servizi.
Intervalli di accesso ai servizi privati (fai clic per ingrandire).

Quando un producer di servizi crea una subnet sul lato della connessione, per l'intervallo di indirizzi IP della subnet.

Ogni producer di servizi richiede dimensioni minime per l'intervallo di indirizzi IP. Per Google, il la dimensione minima è un singolo blocco /24 (256 indirizzi), ma la dimensione consigliata è un blocco /16 (65.536 indirizzi).

Le dimensioni che scegli dipendono da diversi fattori, ad esempio:

  • Il numero di servizi e le regioni che utilizzi.
  • I requisiti per i servizi che utilizzi.
    • La dimensione minima dell'intervallo di indirizzi IP per i servizi.
    • Se il fornitore di servizi richiede intervalli IP separati per ogni istanza del servizio che crei o se può utilizzare lo stesso intervallo IP per più istanze del servizio.

Se non hai un blocco /16 contiguo, puoi iniziare con un blocco più piccolo l'allocazione e aggiungerne di nuovi se hai bisogno di più indirizzi IP. in un secondo momento.

Informazioni sulla subnet del producer di servizi

Quando stabilisci una connessione privata e crei una risorsa con un indirizzo IP privato, il servizio crea una subnet in cui eseguire il provisioning della risorsa. Il servizio seleziona un intervallo di indirizzi IP disponibile dall'intervallo allocato. Non puoi selezionare o modificare l'intervallo di indirizzi IP della subnet del produttore di servizi. La sottorete viene eliminata dal servizio solo se elimini tutte le risorse al suo interno.

Man mano che esegui il provisioning di risorse aggiuntive, il servizio le esegue nelle subnet regionali esistenti che ha creato in precedenza. Se una sottorete è piena, il servizio ne crea una nuova nella regione.

Considerazioni

Prima di allocare un intervallo di indirizzi IP, considera quanto segue:

  • Seleziona un intervallo allocato completamente separato dagli intervalli di subnet attuali e futuri, inclusi gli intervalli di subnet delle reti connesse tramite il peering di rete VPC e gli intervalli di subnet degli spoke VPC connessi allo stesso hub di Network Connectivity Center.
  • Seleziona un intervallo che non corrisponda esattamente o non contenga le destinazioni di eventuali route statici o dinamici personalizzati.

    Quando un producer di servizi seleziona una parte non utilizzata di un intervallo allocato per da utilizzare come candidato per le nuove risorse, esclude tutte le route personalizzate destinazioni che corrispondono esattamente o rientrano nell'intervallo allocato. Quando una rete VPC contiene un intervallo allocato e route personalizzate con destinazioni corrispondenti o che rientrano nell'intervallo allocato, la parte utilizzabile dell'intervallo allocato viene ridotta. Questa configurazione può portare a errori di allocazione esaurita imprevisti.

    Ad esempio, se crei un intervallo allocato per 10.0.0.0/16, si applica quanto segue:

    • Se una route personalizzata con destinazione 10.0.0.0/16 esiste o è creato in un secondo momento, tutto l'intervallo 10.0.0.0/16 è considerato non disponibile. Se un producer di servizi tenta di usare l'intervallo allocato, Google Cloud restituisce un errore di allocazione esaurita.

    • Se una route personalizzata con destinazione 10.0.0.0/20 esiste o è creata in un secondo momento, la parte 10.0.0.0/20 di 10.0.0.0/16 allocata questo intervallo è considerato non disponibile. Se un producer di servizi tenta di utilizzare l'intervallo allocato e la parte disponibile insufficiente per un producer di servizi, Google Cloud restituisce un errore di allocazione esaurita.

    • Se una route personalizzata con destinazione 10.0.0.0/8 esiste o è creato in un secondo momento, ciò non influisce sulla disponibilità Intervallo allocato 10.0.0.0/16.

  • Seleziona un intervallo che non sia in conflitto con le altre esigenze di indirizzo IP:

    • Alcuni prodotti Google e di terze parti utilizzano 172.17.0.0/16 per i percorsi all'interno di il sistema operativo guest. Ad esempio, la rete bridge Docker predefinita utilizza questo intervallo. Se utilizzi un prodotto che utilizza 172.17.0.0/16, non utilizzare 172.17.0.0/16 in un intervallo allocato per l'accesso ai servizi privati.
    • Se utilizzi una rete VPC in modalità automatica, non puoi creare un intervallo allocato che corrisponda o si sovrapponga a 10.128.0.0/9. Google utilizza l'intervallo 10.128.0.0/9 per le subnet create automaticamente, incluse quelle nelle regioni future.
  • Seleziona un blocco CIDR sufficientemente grande da soddisfare le tue esigenze attuali e future. Se in un secondo momento rilevi che le dimensioni dell'intervallo non sono sufficienti, espandi l'intervallo, se possibile. Sebbene sia possibile assegnare più allocazioni a un singolo producer di servizi, Google applica quota sul numero di intervalli di indirizzi IP che che puoi allocare, ma non la dimensione (netmask) di ogni intervallo.

  • Se aggiungi un altro intervallo allocato a una connessione privata, viene ampliato l'intervallo di indirizzi IP disponibili per il producer di servizi quando vengono create nuove risorse di servizio per qualsiasi servizio fornito. Non puoi prenotare un servizio in un intervallo allocato all'interno di una connessione privata per l'uso da parte di un particolare servizio.

  • Non riutilizzare lo stesso intervallo allocato per più produttori di servizi. Sebbene è possibile, ciò può portare a una sovrapposizione degli indirizzi IP. Ogni producer di servizi ha visibilità solo sulla rete e non può sapere quali indirizzi IP che usano i producer di servizi.

  • Puoi assegnare un solo blocco CIDR a un intervallo allocato quando crei l'allocazione. Se devi espandere l'intervallo di indirizzi IP, non puoi aggiungere altri blocchi a un'allocazione. Puoi invece crearne un'altra l'allocazione o ricreare quello esistente utilizzando un blocco più grande comprende gli intervalli nuovi ed esistenti.

  • Se crei personalmente l'allocazione anziché lasciare che sia Google a farlo (ad esempio, mediante Cloud SQL), puoi utilizzare la stessa convenzione di denominazione per segnalare altri utenti o servizi Google che esiste già un'allocazione per Google. Quando un servizio Google alloca un intervallo per tuo conto, utilizza il seguente formato per assegnare un nome all'allocazione: google-managed-services-[your network name]. Se questa allocazione esiste, i servizi Google utilizzano quella esistente anziché crearne un'altra.

  • Poiché una connessione privata è implementata come peering di rete VPC i comportamenti e i vincoli delle connessioni in peering si applicano anche alle connessioni private Limiti di peering di rete VPC.

  • Se prevedi di modificare l'indirizzo IP interno di un'istanza di servizio esistente che utilizza VPC, valuta se questa azione potrebbe causare interruzioni, ad esempio se richiede l'eliminazione e la ricreazione dell'istanza di servizio. Per ulteriori informazioni, consulta la documentazione relativa ai un servizio gestito. Ad esempio, se utilizzi Cloud SQL, consulta Cambia l'indirizzo IP privato di un'istanza Cloud SQL esistente.

Creare un'allocazione IP

I passaggi seguenti spiegano come creare un intervallo di indirizzi IP allocato.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Seleziona la rete VPC che si connetterà a un producer di servizi.

  3. Seleziona la scheda Accesso privato ai servizi.

  4. Nella scheda Accesso privato ai servizi, seleziona il campo IP allocato per i servizi.

  5. Fai clic su Assegna intervallo IP.

  6. Inserisci un nome e una descrizione per l'intervallo allocato.

  7. Specifica un intervallo IP per l'allocazione:

    • Per specificare un intervallo di indirizzi IP, seleziona Personalizzato e inserisci un blocco CIDR, ad esempio 192.168.0.0/16.
    • Per specificare la lunghezza del prefisso e lasciare che sia Google a selezionare un intervallo disponibile, Seleziona Automatico e inserisci la lunghezza del prefisso, ad esempio 16.
  8. Fai clic su Assegna per creare l'intervallo allocato.

gcloud

Per creare un intervallo allocato nella tua rete VPC, utilizza il metodo Comando addresses create.

  • Per specificare un intervallo di indirizzi e una lunghezza del prefisso (subnet mask), utilizza i flag addresses e prefix-length. Ad esempio, per allocare il CIDR blocca 192.168.0.0/16, specifica 192.168.0.0 per l'indirizzo e 16 per la lunghezza del prefisso.

    gcloud compute addresses create RESERVED_RANGE_NAME \
        --global \
        --purpose=VPC_PEERING \
        --addresses=192.168.0.0 \
        --prefix-length=16 \
        --description="DESCRIPTION" \
        --network=VPC_NETWORK
    
  • Per specificare solo una lunghezza del prefisso (subnet mask), utilizza il flag prefix-length. Se ometti l'intervallo di indirizzi, Google Cloud selezionerà automaticamente un intervallo di indirizzi inutilizzato nella rete VPC. L'esempio seguente seleziona un intervallo di indirizzi IP non utilizzato con una lunghezza del prefisso di 16 bit.

    gcloud compute addresses create RESERVED_RANGE_NAME \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=16 \
        --description="DESCRIPTION" \
        --network=VPC_NETWORK
    

Sostituisci quanto segue:

  • RESERVED_RANGE_NAME: un nome per l'intervallo allocato, ad esempio my-allocated-range.

  • DESCRIPTION: una descrizione dell'intervallo, ad esempio allocated for my-service.

  • VPC_NETWORK: il nome della rete VPC, ad esempio my-vpc-network.

Il seguente esempio crea una connessione privata a Google in modo che le istanze VM nella rete VPC my-network possano utilizzare l'accesso privato ai servizi per raggiungere i servizi Google che lo supportano.

gcloud compute addresses create google-managed-services-my-network \
    --global \
    --purpose=VPC_PEERING \
    --prefix-length=16 \
    --description="peering range for Google" \
    --network=my-network

Terraform

Per creare un intervallo allocato nella tua rete VPC, utilizza il metodo google_compute_global_address risorsa.

resource "google_compute_global_address" "private_ip_address" {
  name          = "private-ip-address"
  purpose       = "VPC_PEERING"
  address_type  = "INTERNAL"
  prefix_length = 16
  network       = google_compute_network.peering_network.id
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.

Se viene visualizzato un errore relativo all'autorizzazione compute.globalAddresses.list per consulta la sezione Autorizzazioni account di servizio.

Elenca gli intervalli di indirizzi IP allocati

Per elencare gli intervalli di indirizzi IP allocati, utilizza il comando addresses list.

gcloud compute addresses list --global --filter="purpose=VPC_PEERING"

Crea una connessione privata

Dopo aver creato un intervallo allocato, puoi creare una connessione privata a un producer di servizi. La connessione privata stabilisce una connessione di peering di rete VPC tra tra la rete VPC e la rete del producer di servizi.

Le connessioni private sono una relazione one-to-one tra tra una rete VPC e un producer di servizi. Se un singolo producer di servizi offre più servizi, è sufficiente una connessione privata per tutti i servizi del producer.

Se un singolo producer di servizi offre più servizi e vuoi controllare quali intervalli allocati vengono utilizzati per diverse risorse di servizio, puoi utilizzare a più reti VPC, ciascuna con le proprie connessioni private. Questa configurazione ti consente di selezionare una rete particolare quando ne crei una nuova per garantire che gli intervalli allocati associati vengano utilizzati la nuova risorsa.

Se ti connetti a più producer di servizi, usa un'allocazione unica per ogni producer di servizi. Questa procedura ti aiuta a gestire le impostazioni della rete, ad esempio e regole firewall per ciascun producer di servizi.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Seleziona la rete VPC che si connetterà a un servizio produttore.

  3. Seleziona la scheda Accesso ai servizi privati.

  4. Nella scheda Accesso ai servizi privati, seleziona la scheda Connessioni private ai servizi.

  5. Fai clic su Crea connessione per creare una connessione privata tra la tua rete e un producer di servizi.

  6. Per l'allocazione assegnata, seleziona uno o più intervalli allocati esistenti che non sono utilizzati da altri produttori di servizi.

  7. Fai clic su Connetti per creare la connessione.

gcloud

  1. Utilizza il comando vpc-peerings connect.

    gcloud services vpc-peerings connect \
        --service=servicenetworking.googleapis.com \
        --ranges=RESERVED_RANGE_NAME \
        --network=VPC_NETWORK
    

    Sostituisci quanto segue:

    • RESERVED_RANGE_NAME: il nome di uno o più e gli intervalli allocati.

    • VPC_NETWORK: il nome della rete VPC.

    Il comando avvia un'operazione a lunga esecuzione, restituendo un nome dell'operazione.

  2. Per verificare se l'operazione è riuscita, utilizza il metodo Comando vpc-peerings operations describe.

    gcloud services vpc-peerings operations describe \
        --name=OPERATION_NAME
    

    Sostituisci OPERATION_NAME con il nome dell'operazione è stato restituito dal passaggio precedente.

Puoi specificare più di un intervallo allocato quando crei un connessione. Ad esempio, se un intervallo è esaurito, puoi assegnare aggiuntivi allocati. Il servizio utilizzerà gli indirizzi IP di tutti gli intervalli forniti nell'ordine che hai specificato.

Terraform

Per creare una connessione privata, utilizza la risorsa google_service_networking_connection.

resource "google_service_networking_connection" "default" {
  network                 = google_compute_network.peering_network.id
  service                 = "servicenetworking.googleapis.com"
  reserved_peering_ranges = [google_compute_global_address.private_ip_address.name]
}

Elenco di connessioni private

Dopo aver creato una connessione privata, puoi elencarla per verificare che esista. L'elenco mostra anche l'elenco degli intervalli allocati associati a ogni connessione. Ad esempio, se non ricordi quale intervallo allocato hai assegnato a una connessione, visualizza l'elenco per scoprirlo.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai alle reti VPC

  2. Seleziona la rete VPC contenente le connessioni.

  3. Seleziona la scheda Accesso ai servizi privati.

  4. Nella scheda Accesso privato ai servizi, seleziona la scheda Connessioni private ai servizi per visualizzare tutte le connessioni private della rete.

gcloud

Utilizza la Comando vpc-peerings list.

gcloud services vpc-peerings list \
    --network=VPC_NETWORK

Sostituisci VPC_NETWORK con il nome della rete VPC.

Modificare una connessione privata

Per le connessioni private esistenti, puoi aggiungere o rimuovere intervalli di indirizzi IP allocati senza interrompere il traffico. Ad esempio, man mano che esegui la scalabilità, potresti aggiungere un intervallo allocato se stai per esaurire quello esistente.

Non puoi rimuovere gli intervalli IP allocati utilizzando la console Google Cloud. Se vuoi rimuovi un intervallo allocato, utilizza le istruzioni gcloud per modificare connessione. Quando rimuovi un intervallo da una connessione privata, si applica quanto segue:

  • L'intervallo allocato non è più associato alla connessione privata, ma non venga eliminato.

  • Le risorse del producer di servizi esistenti potrebbero continuare a utilizzare l'intervallo rimosso.

  • L'accesso privato ai servizi non utilizzerà gli intervalli rimossi per allocare nuove subnet.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Seleziona la rete VPC che contiene le connessioni.

  3. Seleziona la scheda Accesso ai servizi privati.

  4. Nella scheda Accesso privato ai servizi, seleziona la scheda Connessioni private ai servizi per visualizzare tutte le connessioni private della rete.

  5. Fai clic sul nome di una connessione nell'elenco.

  6. Nel menu a discesa Allocazione assegnata, seleziona gli intervalli che vuoi allocare.

  7. Fai clic su OK.

gcloud

Per aggiungere o rimuovere intervalli di indirizzi IP allocati assegnati su un account privato esistente utilizza il comando vpc-peerings update.

gcloud services vpc-peerings update \
    --service=servicenetworking.googleapis.com \
    --ranges=RESERVED_RANGE_NAME \
    --network=VPC_NETWORK \
    [--force]

Sostituisci quanto segue:

  • RESERVED_RANGE_NAME: un elenco di uno o più nomi di gli intervalli allocati da assegnare alla connessione privata.

    RESERVED_RANGE_NAME sostituisce l'elenco precedente di e gli intervalli allocati. Se ometti un intervallo precedentemente associato a questa connessione privata, l'intervallo viene rimosso dalla connessione. Devi utilizzare l'opzione --force per rimuovere un intervallo.

  • VPC_NETWORK: il nome della rete VPC.

Elimina un intervallo di indirizzi IP allocati

Prima di eliminare un intervallo di indirizzi IP allocato, controlla se l'intervallo è in uso da una connessione privata.

Se l'intervallo di indirizzi IP allocato è in uso, prima modifica la connessione privata per rimuovere l'intervallo. Quindi elimina l'intervallo di indirizzi IP allocati.

Se elimini un indirizzo IP allocato in uso e non modifichi la connessione privata, si applica quanto segue:

  • Le connessioni esistenti rimangono attive, ma non c'è nulla che impedisca alla rete VPC di utilizzare indirizzi IP che si sovrappongono alla rete del producer di servizi.

  • Se elimini l'unico indirizzo IP allocato associato a una connessione privata, il servizio non può crearne di nuovi perché non esiste un intervallo di indirizzi IP allocato tra cui scegliere.

  • Se in un secondo momento crei un intervallo di indirizzi IP allocato che corrisponde o si sovrappone all'intervallo eliminato, l'aggiunta dell'intervallo a una connessione privata non va a buon fine.

Per evitare questi problemi, modifica sempre le tue connessioni private quando elimini e un intervallo di indirizzi IP allocati in uso.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai alle reti VPC

  2. Seleziona la rete VPC contenente le allocazioni da eliminare.

  3. Seleziona la scheda Accesso ai servizi privati.

  4. Nella scheda Accesso privato ai servizi, seleziona il campo IP allocato per i servizi.

  5. Seleziona l'allocazione da eliminare.

  6. Fai clic su Rilascia per restituire l'intervallo di indirizzi IP allocati al pool di indirizzi IP interni disponibili della rete.

    Se l'intervallo di indirizzi IP allocati è ancora assegnato a un connessione, devi inserire un'ulteriore conferma prima di poter e rilasciare l'allocazione.

  7. Fai di nuovo clic su Rilascia per confermare l'eliminazione.

gcloud

Eliminare l'allocazione specificando il nome dell'allocazione.

gcloud compute addresses delete NAME \
    --global

Sostituisci NAME con il nome dell'intervallo allocato da eliminare.

Elimina una connessione privata

Prima di eliminare una connessione privata, devi eliminare tutte le istanze di servizio a cui accedi tramite la connessione. Ad esempio, se vuoi eliminare una connessione privata utilizzata per accedere a Cloud SQL, devi prima eliminare le istanze Cloud SQL che utilizzano la connessione. Dopo le istanze di servizio, le risorse del producer di servizi vengono eliminate, l'eliminazione potrebbe non avvenire immediatamente. Alcuni produttori di servizi ritardano l'eliminazione fino al termine di un periodo di attesa. Non puoi eliminare la connessione privata durante il periodo di attesa. Devi attendere che l'output del producer di servizi risorse siano state eliminate prima di poter eliminare la connessione.

Ad esempio, se elimini un'istanza Cloud SQL, riceverai un esito positivo risposta, ma il servizio attende quattro giorni prima di eliminarlo delle risorse producer. Il periodo di attesa significa che, se cambi idea sull'eliminazione del servizio, puoi richiedere il reintegro delle risorse. Se provi a eliminare il collegamento durante il periodo di attesa, l'eliminazione non va a buon fine e viene visualizzato un messaggio che indica che le risorse sono ancora in uso dal produttore del servizio.

Console

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai alle reti VPC

  2. Seleziona la rete VPC contenente le connessioni da eliminare.

  3. Seleziona la scheda Accesso privato ai servizi.

  4. Nella scheda Accesso privato ai servizi, seleziona Privato connessione ai servizi.

  5. Seleziona la connessione privata da eliminare.

  6. Fai clic su Elimina per eliminare.

  7. Fai di nuovo clic su Elimina per confermare l'eliminazione.

gcloud

Per eliminare il peering della rete VPC di una connessione privata, utilizza il comando vpc-peerings delete.

gcloud services vpc-peerings delete \
    --service=servicenetworking.googleapis.com \
    --network=VPC_NETWORK

Sostituisci VPC_NETWORK con il nome della rete VPC.

Condividere zone DNS private con i produttori di servizi

Le zone private di Cloud DNS sono private per la tua rete VPC. Se vuoi consentire alla rete di un producer di servizi di risolvere i nomi puoi configurare il peering DNS tra le due reti.

Quando configuri il peering DNS, fornisci una rete VPC e una Suffisso DNS. Se il producer di servizi deve risolvere un indirizzo con quel DNS il producer di servizi inoltra queste query al tuo VPC da risolvere.

Questi servizi supportati supportano il peering DNS, ad eccezione di Cloud SQL.

Se vuoi attivare il peering DNS, devi abilitare l'API Cloud DNS nel tuo progetto

Eseguire il peering DNS con un producer di servizi

gcloud

Per configurare il peering DNS tra la tua rete VPC e della rete del provider di servizi, utilizza Comando peered-dns-domains create.

gcloud services peered-dns-domains create PEERING_NAME \
    --network=VPC_NETWORK \
    --dns-suffix=DNS_SUFFIX

Sostituisci quanto segue:

  • PEERING_NAME: un nome per questa configurazione del peering DNS.

  • VPC_NETWORK: il nome della tua rete VPC collegato al producer di servizi tramite l'accesso privato ai servizi.

  • DNS_SUFFIX: il suffisso DNS con cui vuoi eseguire il peering con il produttore del servizio. Devi fornire un nome di dominio DNS completo, incluso il punto. Ad esempio, example.com. è un suffisso DNS valido.

Terraform

Per configurare il peering DNS tra la tua rete VPC e la rete del provider di servizi, utilizza la risorsa google_service_networking_peered_dns_domain.


## Uncomment this block after adding a valid DNS suffix

# resource "google_service_networking_peered_dns_domain" "default" {
#   name       = "example-com"
#   network    = google_compute_network.peering_network.name
#   dns_suffix = "example.com."
#   service    = "servicenetworking.googleapis.com"
# }

Elenca le configurazioni dei peering DNS

gcloud

Utilizza la Comando peered-dns-domains list.

gcloud services peered-dns-domains list \
    --network=VPC_NETWORK

Sostituisci VPC_NETWORK con il nome della rete VPC.

Elimina una configurazione di peering DNS

gcloud

Utilizza il comando peered-dns-domains delete.

gcloud services peered-dns-domains delete PEERING_NAME \
    --network=VPC_NETWORK

Sostituisci quanto segue:

  • PEERING_NAME: il nome della configurazione del peering DNS.

  • VPC_NETWORK: il nome del tuo VPC in ogni rete.

Risoluzione dei problemi

In che misura viene utilizzata la mia allocazione?

Quando crei una connessione privata con un producer di servizi, allochi un indirizzo IP un intervallo di indirizzi IP. Se utilizzi più servizi di un produttore di servizi, ogni servizio prenoterà un blocco di indirizzi IP dall'intervallo allocato. Potete controllare quali servizi usano quali indirizzi IP, in modo che, ad esempio puoi vedere quali servizi usano grandi blocchi di indirizzi IP e per evitare l'esaurimento degli indirizzi IP.

Per visualizzare il rapporto di allocazione per gli intervalli allocati, utilizza Network Analyzer. Per ulteriori informazioni, vedi Riepilogo dell'utilizzo degli indirizzi IP per l'accesso ai servizi privati.

In alternativa, per visualizzare quale servizio utilizza un determinato intervallo di indirizzi IP:

  1. Elenca le tue connessioni private.
  2. Trova il nome della connessione in peering che ti connette al servizio pertinente produttore.
  3. Elenca le route per la rete VPC.
  4. Trova i route con un hop successivo che corrisponde al nome della connessione in peering. La dell'intervallo di destinazione delle route indica gli indirizzi IP a cui è connesso ciascun servizio che utilizzano.

Esaurimento dell'intervallo di indirizzi IP

Per una determinata connessione privata, se esaurisci lo spazio degli indirizzi IP allocati, Google Cloud restituirà questo errore: Failed to create subnetwork. Couldn't find free blocks in allocated IP ranges.

Potresti visualizzare questo errore perché l'intervallo allocato non è sufficiente per oppure perché una route statica o dinamica personalizzata impedisce dall'utilizzo completo. Per ulteriori informazioni sulle considerazioni sul routing, consulta Considerazioni.

Puoi espandere l'allocazione esistente o aggiungerne di nuove. La finestra espansa l'allocazione deve essere un intervallo di indirizzi IP contiguo che include gli indirizzi IP intervallo. È consigliabile espandere un'allocazione perché non c'è limite al dimensione di un'allocazione, ma esiste un limite al numero di allocazioni che puoi creare.

Per espandere un'allocazione esistente:

  1. Elenca le tue connessioni private e registra il nome dell'intervallo allocato che devi espandere.
  2. Elimina l'intervallo allocato esistente.
  3. Crea un nuovo intervallo allocato utilizzando lo stesso nome di per l'intervallo eliminato. Specifica un intervallo di indirizzi IP che includa l'intervallo di indirizzi IP eliminato. In questo modo, le risorse in peering esistenti che utilizzano la vecchia all'intervallo allocato può continuare a utilizzare gli stessi indirizzi IP senza conflitti con risorse nella tua rete VPC. Ad esempio, se l'intervallo allocato precedente era 192.168.0.0/20, crea un nuovo intervallo allocato come 192.168.0.0/16.

Per aggiungere intervalli allocati a una connessione privata esistente:

  1. Crea un nuovo intervallo allocato. Questo intervallo non deve necessariamente essere contigui agli intervalli allocati esistenti.
  2. Aggiungi l'intervallo allocato al privato esistente connessione.

Gli host on-premise non riescono a comunicare con la rete del producer di servizi

La rete del producer di servizi potrebbe non disporre delle route corrette da indirizzare il traffico verso la rete on-premise. Per impostazione predefinita, la rete del producer di servizi apprende solo le route di subnet dalla tua rete VPC. Pertanto, qualsiasi richiesta che non proviene da un intervallo IP di una subnet viene ignorata dal produttore del servizio.

Per configurare la connettività tra gli host on-premise e la rete del produttore del servizio:

  • Nella tua rete VPC, aggiorna la connessione di peering per esportare i route personalizzati nella rete del producer di servizi. L'esportazione delle route invia tutte le route statiche e dinamiche idonee che si trovano nella rete VPC, ad esempio le route alla rete on-premise, alla rete del producer di servizi. La rete del producer di servizi li importa automaticamente e può inviare nuovamente il traffico alla tua rete on-premise tramite la rete VPC.

  • Assicurati che i prefissi che includono gli intervalli IP allocati per l'accesso ai servizi privati vengano pubblicizzati correttamente alla tua rete on-premise. Per capire come puoi pubblicizzare prefissi IPv4 personalizzati utilizzando Cloud Router, consulta Route pubblicizzate.

  • Verifica che l'attacco VLAN o il tunnel Cloud VPN termini nella stessa rete VPC (o nella rete VPC condivisa) della connessione privata, perché il peering di rete VPC non fornisce il routing transitivo.

Autorizzazioni account di servizio

Se viene visualizzato un errore relativo all'autorizzazione compute.globalAddresses.list per un progetto durante la creazione di un'allocazione IP o se si verificano errori come Error 400: Precondition check failed durante la creazione, la visualizzazione o la modifica delle connessioni private, potrebbe esserci un problema con i ruoli IAM (Identity and Access Management) per il service account dell'API Service Networking. Questo account di servizio viene creato automaticamente dopo aver attivato l'API Service Networking. Il provisioning e la visualizzazione dell'account possono richiedere del tempo della pagina IAM.

Console

Per assicurarti che l'account di servizio abbia il ruolo IAM corretto, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.

  3. Nella colonna Nome, individua l'agente di servizio di rete di servizi. all'entità, poi fai clic su Modifica entità. nella riga corrispondente.

  4. Nel campo Ruolo, assicurati che sia presente il ruolo Agente di servizio di Service Networking (roles/servicenetworking.serviceAgent).

  5. Se il ruolo Agente di servizio di Service Networking non è presente, fai clic su Aggiungi ruolo o Aggiungi un altro ruolo.

  6. Fai clic su Seleziona un ruolo.

  7. Nella casella di testo Filtro, inserisci Service Networking Service Agent.

  8. Seleziona Service Networking Service Agent (Agente di servizio Service Networking) dall'elenco, quindi fai clic su Salva.

gcloud

Per creare un account di servizio dell'API Service Networking, utilizza il metodo Comando add-iam-policy-binding.

gcloud projects add-iam-policy-binding HOST_PROJECT_NAME \
    --member=serviceAccount:service-HOST_PROJECT_NUMBER@service-networking.iam.gserviceaccount.com \
    --role=roles/servicenetworking.serviceAgent

Sostituisci quanto segue:

  • HOST_PROJECT_NAME: il nome del progetto host.
  • HOST_PROJECT_NUMBER: il numero dell'host progetto.

La route della subnet di peering persiste dopo l'aggiornamento dell'allocazione degli IP

Dopo aver aggiornato l'intervallo di indirizzi IP allocati di un servizio privato la route della subnet di peering precedente potrebbe ancora essere visualizzata nella tabella di routing della tua rete VPC. La route persiste perché l'intervallo di indirizzi IP è ancora in uso.

Per risolvere il problema:

Il percorso della sottorete di peering viene rimosso automaticamente quando l'intervallo di indirizzi IP non è più in uso. Potrebbe esserci un ritardo tra l'eliminazione della risorsa e la sua eliminazione completa da parte del producer di servizi. Ad esempio, se l'intervallo di indirizzi IP precedente è in uso da un'istanza Cloud SQL, possono essere necessari fino a quattro giorni per l'eliminazione completa dell'istanza da parte del produttore del servizio. La subnet di peering la route viene rimossa al termine dell'eliminazione.