Configurazione dell'accesso privato ai servizi
L'accesso privato ai servizi è una connessione privata tra la tua rete VPC e una rete di proprietà di Google o di una terza parte. Google o la terza parte, le entità che offrono servizi, sono anche noti come producer di servizi. La connessione privata consente alle istanze VM nella rete VPC e ai servizi a cui accedi di comunicare esclusivamente tramite indirizzi IP interni. Le istanze VM non hanno bisogno dell'accesso a internet o di indirizzi IP esterni per raggiungere i servizi disponibili tramite l'accesso privato ai servizi.
Per saperne di più sull'accesso privato ai servizi e su altre opzioni di accesso privato, consulta Opzioni di accesso privato per i servizi.
A livello generale, per utilizzare l'accesso privato ai servizi, devi allocare un intervallo di indirizzi IP (blocco CIDR) nella rete VPC, quindi creare una connessione privata a un producer di servizi.
Prima di iniziare
Per stabilire una connessione privata, completa i seguenti prerequisiti:
- Verifica che il servizio che stai utilizzando supporta l'accesso privato ai servizi.
- Devi avere una rete VPC esistente che utilizzerai per connetterti alla rete del producer di servizi. Le istanze VM devono utilizzare questa rete VPC per connettersi ai servizi tramite una connessione privata.
- Attiva l'API Service Networking nel tuo progetto. L'API è necessaria per creare una connessione privata.
- Crea un progetto Google Cloud o scegline uno esistente. Per scoprire come creare un progetto Google Cloud, consulta Creazione e gestione di progetti.
- Installa gcloud CLI se vuoi eseguire gli esempi di 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, consulta la documentazione relativa ai ruoli IAM VPC.
Scenario VPC condiviso
Se utilizzi un VPC condiviso, crea l'intervallo IP e la connessione privata allocati nel progetto host. In genere, queste attività devono essere svolte da un amministratore di rete nel progetto host. Dopo aver configurato il progetto host, le istanze VM nei progetti di servizio possono utilizzare la connessione privata.
Quote e limiti
Poiché una connessione privata viene implementata come connessione di peering VPC, la stessa quota e gli stessi limiti che si applicano al peering di rete VPC si applicano anche all'accesso privato ai servizi.
Intervalli di indirizzi IP allocati per i servizi
Prima di creare una connessione privata, devi allocare un intervallo di indirizzi IPv4 che deve essere utilizzato dalla rete VPC del producer di servizi. Ciò garantisce che non esista un conflitto di indirizzi IP tra la tua rete VPC e la rete del producer di servizi. Creare un intervallo allocato per ogni producer di servizi.
Quando assegni un intervallo nella tua rete VPC, questo intervallo non è idoneo per le subnet (intervalli primari e secondari) e le destinazioni delle route statiche personalizzate.
L'utilizzo di intervalli di indirizzi IPv6 con accesso privato ai servizi non è supportato.
Dimensione dell'intervallo di indirizzi IP
Quando un producer di servizi crea una subnet sul lato della connessione, viene selezionato un intervallo aperto dall'allocazione per l'intervallo di indirizzi IP della subnet.
Ogni producer di servizi richiede una dimensione minima dell'intervallo di indirizzi IP. Per Google, la dimensione minima è un singolo blocco /24
(256 indirizzi), ma la dimensione consigliata è un blocco /16
(65.536 indirizzi).
La taglia scelta dipende da diversi fattori, ad esempio:
- Il numero di servizi e regioni che utilizzi.
- I requisiti dei servizi che utilizzi.
- La dimensione minima dell'intervallo di indirizzi IP per i servizi.
- Indica se il fornitore di servizi richiede intervalli IP separati per ogni istanza del servizio creato o se può utilizzare lo stesso intervallo IP per più istanze del servizio.
Se non hai un blocco /16
contiguo, puoi iniziare con un'allocazione più piccola e aggiungerne di nuovi se hai bisogno di altri 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 producer di servizi. La subnet viene eliminata dal servizio solo quando elimini tutte le risorse al suo interno.
Quando esegui il provisioning di risorse aggiuntive, il servizio le fornisce in subnet a livello di regione esistenti create in precedenza. Se una subnet è piena, il servizio ne crea una nuova in quella regione.
Considerazioni
Prima di allocare un intervallo di indirizzi IP, considera i seguenti vincoli:
- Seleziona un intervallo che non si sovrapponga a intervalli allocati, subnet o route statiche personalizzate esistenti. Due intervalli non possono sovrapporsi.
- 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 il routing all'interno del sistema operativo ospite. Ad esempio, la rete di bridge Docker predefinita utilizza questo intervallo. Se dipendi da un prodotto che utilizza172.17.0.0/16
, non utilizzare172.17.0.0/16
in un intervallo allocato per l'accesso privato ai servizi. - Se utilizzi una rete VPC in modalità automatica, non puoi creare un intervallo allocato che corrisponde a o si sovrappone a
10.128.0.0/9
. Google utilizza l'intervallo10.128.0.0/9
per le subnet create automaticamente, incluse quelle nelle regioni future.
- Alcuni prodotti Google e di terze parti utilizzano
- Seleziona un blocco CIDR di dimensioni sufficienti per soddisfare le esigenze attuali e future. Se in seguito scopri che le dimensioni dell'intervallo non sono sufficienti, espandi l'intervallo, se possibile. Anche se è possibile assegnare più allocazioni a un singolo producer di servizi, Google applica una quota al numero di intervalli di indirizzi IP che puoi allocare, ma non alla dimensione (netmask) di ogni intervallo.
- Se aggiungi un ulteriore intervallo allocato a una connessione privata, questo espande l'intervallo di indirizzi IP disponibili per il producer di servizi durante la creazione di nuove risorse di servizio per qualsiasi servizio fornito. Non puoi prenotare un intervallo allocato specifico all'interno di una connessione privata per utilizzarlo da un determinato servizio.
- Non riutilizzare lo stesso intervallo allocato per più producer di servizi. Sebbene sia possibile, ciò può causare una sovrapposizione degli indirizzi IP. Ogni producer di servizi ha visibilità solo sulla propria rete e non può sapere quali indirizzi IP utilizzano altri 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 creare un'altra allocazione o ricreare quella esistente utilizzando un blocco più grande che includa gli intervalli nuovi ed esistenti.
- Se crei l'allocazione personalmente anziché lasciare che sia Google a farlo (ad esempio tramite Cloud SQL), puoi utilizzare la stessa convenzione di denominazione per segnalare ad altri utenti o servizi Google che esiste già un'allocazione per Google.
Quando un servizio Google assegna 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 invece di crearne un altro. - Poiché una connessione privata viene implementata come connessione di peering di rete VPC, i comportamenti e i vincoli delle connessioni in peering si applicano anche alle connessioni private, ad esempio i 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 essere problematica, ad esempio se richiede l'eliminazione e la nuova creazione dell'istanza di servizio. Per ulteriori informazioni, consulta la documentazione del servizio gestito associato. Ad esempio, se utilizzi Cloud SQL, consulta Modificare l'indirizzo IP privato di un'istanza Cloud SQL esistente.
Crea un'allocazione di IP
I passaggi seguenti descrivono come creare un intervallo di indirizzi IP allocato.
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Seleziona la rete VPC che si connetterà a un producer di servizi.
Seleziona la scheda Connessione ai servizi privati.
Nella scheda Connessione privata ai servizi, seleziona la scheda Intervalli IP allocati per i servizi.
Fai clic su Intervallo IP allocato.
Inserisci un nome e una descrizione per l'intervallo allocato.
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 una lunghezza del prefisso e consentire a Google di selezionare un intervallo disponibile, seleziona Automatico e inserisci una lunghezza del prefisso, ad esempio
16
.
- Per specificare un intervallo di indirizzi IP, seleziona Personalizzato e inserisci
un blocco CIDR, ad esempio
Fai clic su Assegna per creare l'intervallo allocato.
gcloud
Per creare un intervallo allocato nella tua rete VPC, utilizza il comando addresses create
.
Per specificare un intervallo di indirizzi e una lunghezza del prefisso (subnet mask), utilizza i flag
addresses
eprefix-length
. Ad esempio, per allocare il blocco CIDR192.168.0.0/16
, specifica192.168.0.0
per l'indirizzo e16
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 la lunghezza del prefisso (subnet mask), utilizza il flag
prefix-length
. Quando ometti l'intervallo di indirizzi, Google Cloud seleziona automaticamente un intervallo di indirizzi inutilizzato nella tua rete VPC. L'esempio seguente seleziona un intervallo di indirizzi IP inutilizzato con una lunghezza del prefisso di16
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 esempiomy-allocated-range
.DESCRIPTION
: una descrizione dell'intervallo, ad esempioallocated for my-service
.VPC_NETWORK
: il nome della rete VPC, ad esempiomy-vpc-network
.
L'esempio seguente 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 la 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 la risorsa google_compute_global_address
.
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 il progetto, consulta Autorizzazioni dell'account di servizio.
Elenca 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 la tua rete VPC e la rete del producer di servizi.
Le connessioni private sono una relazione one-to-one tra la rete VPC e un producer di servizi. Se un singolo producer di servizi offre più servizi, è sufficiente una sola connessione privata per tutti i servizi del producer.
Se un singolo producer di servizi offre più servizi e vuoi controllare gli intervalli allocati per le diverse risorse di servizio, puoi utilizzare più reti VPC, ciascuna con le proprie connessioni private. Questa configurazione consente di selezionare una rete specifica durante la creazione di una nuova risorsa di servizio gestito per garantire che gli intervalli allocati associati vengano utilizzati per la nuova risorsa.
Se ti connetti a più producer di servizi, utilizza un'allocazione univoca per ogni producer di servizi. Questa pratica consente di gestire le impostazioni di rete, ad esempio route e regole firewall, per ogni producer di servizi.
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Seleziona la rete VPC che si connetterà a un producer di servizi.
Seleziona la scheda Connessione ai servizi privati.
Nella scheda Connessione privata ai servizi, seleziona la scheda Connessioni private ai servizi.
Fai clic su Crea connessione per creare una connessione privata tra la tua rete e un producer di servizi.
Per Allocazione assegnata, seleziona uno o più intervalli assegnati esistenti che non vengono utilizzati da altri producer di servizi.
Fai clic su Connetti per creare la connessione.
gcloud
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ù intervalli allocati.VPC_NETWORK
: il nome della rete VPC.
Il comando avvia un'operazione a lunga esecuzione, restituendo un nome operazione.
Per verificare se l'operazione è riuscita, utilizza il comando
vpc-peerings operations describe
.gcloud services vpc-peerings operations describe \ --name=OPERATION_NAME
Sostituisci
OPERATION_NAME
con il nome dell'operazione restituito dal passaggio precedente.
Puoi specificare più di un intervallo allocato quando crei una connessione privata. Ad esempio, se un intervallo è esaurito, puoi assegnare intervalli allocati aggiuntivi. Il servizio utilizzerà gli indirizzi IP di tutti gli intervalli forniti nell'ordine specificato.
Terraform
Per creare una connessione privata, utilizza la risorsa google_service_networking_connection
.
Elenca connessioni private
Dopo aver creato una connessione privata, puoi elencarla per verificare che esista. L'elenco mostra anche l'elenco degli intervalli assegnati associati a ogni connessione. Ad esempio, se non ricordi quale intervallo allocato hai assegnato a una connessione, visualizza l'elenco per scoprirlo.
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Seleziona la rete VPC che contiene le connessioni.
Seleziona la scheda Connessione ai servizi privati.
Nella scheda Connessione privata ai servizi, seleziona la scheda Connessioni private ai servizi per visualizzare tutte le connessioni private della rete.
gcloud
Utilizza il comando vpc-peerings list
.
gcloud services vpc-peerings list \ --network=VPC_NETWORK
Sostituisci VPC_NETWORK
con il nome della tua rete VPC.
Modificare una connessione privata
Per le connessioni private esistenti, puoi aggiungere o rimuovere gli intervalli di indirizzi IP allocati senza interrompere il traffico. Ad esempio, quando corri, 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 rimuovere un intervallo allocato, utilizza le istruzioni gcloud
per modificare la connessione. Quando rimuovi un intervallo da una connessione privata, si applica quanto segue:
L'intervallo allocato non è più associato alla connessione privata, ma non viene eliminato.
- Se un intervallo rimosso non è più in uso, puoi eliminare l'allocazione.
Le risorse 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
Nella console Google Cloud, vai alla pagina Reti VPC.
Seleziona la rete VPC che contiene le connessioni.
Seleziona la scheda Connessione ai servizi privati.
Nella scheda Connessione privata ai servizi, seleziona la scheda Connessioni private ai servizi per visualizzare tutte le connessioni private della rete.
Fai clic sul nome di una connessione nell'elenco.
Nel menu a discesa Allocazione assegnata, seleziona gli intervalli che vuoi assegnare.
Fai clic su Ok.
gcloud
Per aggiungere o rimuovere gli intervalli di indirizzi IP allocati assegnati su una connessione privata 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 intervalli allocati da assegnare alla connessione privata.RESERVED_RANGE_NAME
sostituisce l'elenco precedente di 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 allocato
Prima di eliminare un intervallo di indirizzi IP allocato, controlla se l'intervallo è utilizzato da una connessione privata.
Se l'intervallo di indirizzi IP allocato è in uso, modifica prima la connessione privata per rimuovere l'intervallo. quindi elimina l'intervallo di indirizzi IP allocato.
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 impedisce alla tua rete VPC di utilizzare indirizzi IP che si sovrappongono alla rete del producer di servizi.
Se elimini l'unico intervallo di indirizzi IP allocato associato a una connessione privata, il servizio non può creare nuove subnet perché non è allocato alcun intervallo di indirizzi IP 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 riesce.
Per evitare questi problemi, modifica sempre le connessioni private quando elimini un intervallo di indirizzi IP allocati in uso.
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Seleziona la rete VPC che contiene le allocazioni da eliminare.
Seleziona la scheda Connessione ai servizi privati.
Nella scheda Connessione privata ai servizi, seleziona la scheda Intervalli IP allocati per i servizi.
Seleziona l'allocazione da eliminare.
Fai clic su Rilascia per restituire l'intervallo di indirizzi IP allocato al pool di indirizzi IP interni disponibili della rete.
Se l'intervallo di indirizzi IP allocato è ancora assegnato a una connessione esistente, devi inserire un'ulteriore conferma prima di poter rilasciare l'allocazione.
Fai di nuovo clic su Rilascia per confermare l'eliminazione.
gcloud
Elimina l'allocazione specificando il nome.
gcloud compute addresses delete NAME \ --global
SostituisciNAME
con il nome dell'intervallo allocato
che vuoi 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 aver eliminato le istanze di servizio, le risorse del producer di servizi vengono eliminate, ma questa eliminazione potrebbe non avvenire immediatamente. Alcuni producer di servizi ritardano l'eliminazione fino allo scadere del periodo di attesa. Non puoi eliminare la connessione privata durante il periodo di attesa. Devi attendere che le risorse del producer di servizi siano state eliminate prima di poter eliminare la connessione.
Ad esempio, se elimini un'istanza Cloud SQL, ricevi una risposta positiva, ma il servizio attende quattro giorni prima di eliminare le risorse del producer di servizi. Il periodo di attesa prevede che se cambi idea sull'eliminazione del servizio, puoi richiedere il reintegro delle risorse. Se provi a eliminare la connessione 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 da parte del producer di servizi.
Console
Nella console Google Cloud, vai alla pagina Reti VPC.
Seleziona la rete VPC che contiene le connessioni da eliminare.
Seleziona la scheda Connessione ai servizi privati.
Nella scheda Connessione privata ai servizi, seleziona la scheda Connessione privata ai servizi.
Seleziona la connessione privata da eliminare.
Fai clic su Elimina per eliminare.
Fai di nuovo clic su Elimina per confermare l'eliminazione.
gcloud
Per eliminare la connessione di peering di 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 tua rete VPC.
Condividi zone DNS private con i producer di servizi
Le zone private di Cloud DNS sono private per la tua rete VPC. Se vuoi consentire a una rete di un producer di servizi di risolvere i nomi dalla zona privata, puoi configurare il peering DNS tra le due reti.
Quando configuri il peering DNS, fornisci una rete VPC e un suffisso DNS. Se il producer di servizi deve risolvere un indirizzo con quel suffisso DNS, inoltra queste query alla rete VPC per la risoluzione.
Questi servizi supportati supportano il peering DNS, ad eccezione di Cloud SQL.
Se vuoi abilitare il peering DNS, devi enable l'API Cloud DNS nel tuo progetto.
DNS in peering con un producer di servizi
gcloud
Per configurare il peering DNS tra la tua rete VPC e la rete del fornitore di servizi, utilizza il 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 di peering DNS.VPC_NETWORK
: il nome della rete VPC connessa al producer di servizi tramite l'accesso privato ai servizi.DNS_SUFFIX
: il suffisso DNS che vuoi eseguire in peering con il producer di servizi. 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 rete VPC e la rete del fornitore di servizi, utilizza la risorsa google_service_networking_peered_dns_domain
.
Elenca configurazioni di peering DNS
gcloud
Utilizza il comando peered-dns-domains list
.
gcloud services peered-dns-domains list \ --network=VPC_NETWORK
Sostituisci VPC_NETWORK
con il nome della tua 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 della rete VPC.
Risoluzione dei problemi
In che misura viene utilizzata la mia allocazione?
Quando crei una connessione privata con un producer di servizi, assegni un intervallo di indirizzi IP da utilizzare. Se utilizzi più servizi di un producer di servizi, ogni servizio prenoterà un blocco di indirizzi IP dall'intervallo allocato. Puoi controllare quali servizi utilizzano quali indirizzi IP in modo che, ad esempio, tu possa vedere quali servizi utilizzano grandi blocchi di indirizzi IP ed evitare l'esaurimento degli indirizzi IP.
Per visualizzare quale servizio utilizza un determinato intervallo di indirizzi IP:
- Elenca le tue connessioni private.
- Trova il nome della connessione in peering che ti connette al producer di servizi pertinente.
- Elenca le route per la tua rete VPC.
- Trova le route con un hop successivo che corrisponda al nome della connessione in peering. L'intervallo di destinazione delle route indica gli indirizzi IP utilizzati da ogni servizio.
Esaurimento dell'intervallo di indirizzi IP
Per una determinata connessione privata, se esaurisci lo spazio di indirizzi IP allocato, Google Cloud restituirà questo errore: Failed to create subnetwork.
Couldn't find free blocks in allocated IP ranges.
Puoi espandere l'allocazione esistente o aggiungerne di nuove. L'allocazione espansa deve essere un intervallo di indirizzi IP contiguo che include l'intervallo esistente. Ti consigliamo di espandere un'allocazione perché non esiste un limite alle dimensioni di un'allocazione, ma esiste un limite al numero di allocazioni che puoi creare.
Per espandere un'allocazione esistente:
- Elenca le tue connessioni private e registra il nome dell'intervallo allocato che devi espandere.
- Elimina l'intervallo allocato esistente.
- Crea un nuovo intervallo allocato utilizzando lo stesso nome dell'intervallo eliminato. Specifica un intervallo di indirizzi IP che include l'intervallo di indirizzi IP eliminato. In questo modo, le risorse in peering esistenti che utilizzano l'intervallo allocato precedente possono continuare a utilizzare gli stessi indirizzi IP senza entrare in conflitto con le risorse nella tua rete VPC. Ad esempio, se
l'intervallo allocato in precedenza era
192.168.0.0/20
, crea un nuovo intervallo allocato come192.168.0.0/16
.
Per aggiungere intervalli allocati a una connessione privata esistente:
- Crea un nuovo intervallo allocato. Questo intervallo non deve essere contiguo agli intervalli allocati esistenti.
- Aggiungi l'intervallo allocato alla connessione privata esistente.
Gli host on-premise non possono comunicare con la rete del producer di servizi
La rete del producer di servizi potrebbe non avere le route corrette per indirizzare il traffico alla rete on-premise. Per impostazione predefinita, la rete del producer di servizi apprende solo le route di subnet dalla rete VPC. Di conseguenza, qualsiasi richiesta che non provenga da un intervallo IP di subnet viene ignorata dal producer di servizi.
Nella tua rete VPC, aggiorna la connessione di peering per esportare le route personalizzate nella rete del producer di servizi. L'esportazione delle route invia tutte le route statiche e dinamiche idonee che si trovano nella tua rete VPC, come le route alla tua rete on-premise, alla rete del producer di servizi. La rete del producer di servizi li importa automaticamente e quindi può inviare il traffico alla tua rete on-premise attraverso la rete VPC.
Autorizzazioni account di servizio
Se visualizzi un errore relativo all'autorizzazione compute.globalAddresses.list
per un progetto quando crei un'allocazione di IP o se si verificano errori come Error 400: Precondition check failed
durante la creazione, l'elenco o la modifica delle connessioni private, potrebbe esserci un problema con i ruoli IAM (Identity and Access Management) per l'account di servizio dell'API Service Networking.
Questo account di servizio viene creato automaticamente dopo l'abilitazione dell'API Service Networking. Potrebbe essere necessario del tempo prima che venga eseguito il provisioning dell'account e la visualizzazione nella pagina IAM.
Console
Per assicurarti che il ruolo IAM dell'account di servizio sia corretto:
Nella console Google Cloud, vai alla pagina IAM.
Seleziona la casella di controllo Includi concessioni di ruoli fornite da Google.
Nella colonna Nome, trova l'entità Agente di servizio Service Networking, quindi fai clic su
Modifica entità nella riga corrispondente.Nel campo Ruolo, assicurati che sia presente il ruolo Agente di servizio networking di servizi (
roles/servicenetworking.serviceAgent
).Se il ruolo Agente di servizio Networking di servizi non è presente, fai clic su
Aggiungi ruolo o Aggiungi un altro ruolo.Fai clic su Seleziona un ruolo.
Nella casella di testo Filter (Filtro), inserisci
Service Networking Service Agent
.Seleziona Agente di servizio networking di servizi dall'elenco, quindi fai clic su Salva.
gcloud
Per creare un account di servizio dell'API Service Networking, utilizza il 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 del progetto host.
La route della subnet di peering persiste dopo l'aggiornamento dell'allocazione IP
Dopo aver aggiornato l'intervallo di indirizzi IP allocato di una connessione di servizi privati, la vecchia route della subnet di peering potrebbe ancora essere visualizzata nella tabella di routing della rete VPC. La route persiste perché l'intervallo di indirizzi IP è ancora in uso.
Per risolvere il problema:
- Se elimini un'allocazione di IP, assicurati anche di aggiornare la connessione privata.
- Elimina o aggiorna tutte le risorse che utilizzano l'intervallo di indirizzi IP precedente.
La route della subnet di peering viene rimossa automaticamente quando l'intervallo di indirizzi IP non è più in uso. Potrebbe verificarsi un ritardo tra l'eliminazione della risorsa e l'eliminazione completa della risorsa da parte del producer di servizi. Ad esempio, se l'intervallo di indirizzi IP precedente è utilizzato da un'istanza Cloud SQL, potrebbero essere necessari fino a quattro giorni prima che il producer di servizi elimini completamente l'istanza. La route della subnet di peering viene rimossa al termine dell'eliminazione.