Connessione a una rete VPC
Questa pagina mostra come collegare un Servizio Cloud Run o job alla tua rete VPC, consentendo il traffico in uscita (in uscita) da Cloud Run alle istanze VM di Compute Engine, Istanze Memorystore e qualsiasi altra risorsa con un IP interno .
Puoi abilitare il tuo servizio o job per inviare traffico a un VPC di rete configurando un accesso VPC serverless o utilizzando il traffico VPC diretto in uscita senza bisogno di connettori.
Prima di iniziare
Se non hai già una rete VPC nel progetto, creane uno.
Se utilizzi un VPC condiviso, consulta la documentazione specifica dell'accesso VPC serverless per il tuo prodotto.
- Cloud Run: Connessione a una VPC condiviso condivisa
- Funzioni di Cloud Run: Connessione a una VPC condiviso condivisa
- App Engine: Connessione a una VPC condiviso condivisa
Se hai un vincolo del criterio dell'organizzazione che impedisce l'utilizzo di in Cloud Deployment Manager, non potrai creare o eliminare Connettori di accesso VPC serverless. La creazione o l'eliminazione di richiede la funzionalità Deployment Manager.
Requisiti della subnet del connettore
Ogni connettore richiede la propria subnet dedicata
PRIVATE
con un indirizzo IPv4 principale/28
di indirizzi IP esterni. Questa subnet non può essere utilizzata da altre risorse, come VM, Private Service Connect, o bilanciatori del carico.Per creare un connettore in un progetto di servizio che utilizza una rete VPC condiviso: in un progetto host, un amministratore di rete per la rete VPC condiviso deve manualmente la subnet del connettore prima di creare il connettore.
Per determinare se una subnet esistente creata manualmente può essere utilizzata da un connettore, descrivi la subnet:
gcloud compute networks subnets describe SUBNET --region=REGION
Sostituisci SUBNET con il nome della subnet e REGION con la regione che contiene la subnet.
Nell'output, verifica quanto segue:
- La subnet è una subnet normale. In Google Cloud CLI, questo significa che
il valore di scopo è
PRIVATE
. - L'intervallo di indirizzi IPv4 principale della subnet,
ipCidrRange
, è/28
.
- La subnet è una subnet normale. In Google Cloud CLI, questo significa che
il valore di scopo è
Se devi creare un connettore di accesso VPC serverless nello stesso progetto che contiene rete VPC utilizzata dal connettore, puoi creare manualmente la subnet del connettore prima di creare il connettore oppure Google Cloud può creare automaticamente la subnet per il connettore.
Quando Google Cloud crea una subnet per un connettore, tieni presente quanto segue:
Le subnet create automaticamente per i connettori non sono visibili quando elencare le subnet, indipendentemente dal fatto che utilizzi la console Google Cloud, Google Cloud CLI o l'API Compute Engine.
Non è possibile creare subnet create automaticamente per i connettori described.
Le subnet create automaticamente sono incluse nell'elenco delle subnet che quando descrivi un VPC Google Cloud.
Per ulteriori informazioni sulle subnet, incluso come elencare quelle esistenti per determinare quale indirizzo IP se sono già utilizzati, vedi Utilizzare le subnet.
Limitazioni
Il traffico IPv6 non è supportato.
Crea connettore
Per inviare richieste alla tua rete VPC e ricevere risposte corrispondenti senza utilizzare la rete internet pubblica, puoi utilizzare Connettore di accesso VPC serverless.
Se il connettore si trova nello stesso progetto del rispettivo VPC rete, puoi creare un connettore utilizzando una subnet esistente oppure un connettore e una nuova subnet.
Se il connettore si trova in un progetto di servizio e utilizza un VPC condiviso rete, il connettore e la rete VPC associata si trovano per progetti diversi. Quando un connettore e la relativa rete VPC si trovano in diversi progetti, un amministratore di rete VPC condiviso deve creare del connettore nella rete VPC condiviso prima di poter creare e dovrai crearlo utilizzando una subnet esistente.
Per ulteriori informazioni sui requisiti delle subnet, consulta Subnet connettore requisiti.
Per informazioni sulla velocità effettiva del connettore, inclusi tipo di macchina e scalabilità, consulta Velocità effettiva e scalabilità.
Puoi creare un connettore utilizzando la console Google Cloud, Google Cloud CLI o con Terraform.
Console
Vai alla pagina di riepilogo Accesso VPC serverless.
Fai clic su Crea connettore.
Nel campo Nome, inserisci un nome per il connettore corrispondente Denominazione di Compute Engine standard, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.
Nel campo Regione, seleziona una regione per il connettore. Deve corrispondere alla regione del tuo servizio serverless.
Se il tuo servizio o job si trova nella regione
us-central
oeurope-west
, utilizzaus-central1
oeurope-west1
.Nel campo Rete, seleziona la rete VPC a cui collegare il connettore.
Nel campo Subnet, seleziona una delle seguenti opzioni:
Crea un connettore utilizzando una subnet esistente:seleziona la subnet esistente. nel campo Subnet.
Crea un connettore e una nuova subnet:seleziona Intervallo IP personalizzato in nel campo Subnet. Poi inserisci il primo indirizzo in un
/28
inutilizzato CIDR (ad esempio10.8.0.0/28
) da utilizzare come indirizzo IPv4 principale di una nuova subnet che Google Cloud crea rete VPC. Assicurati che l'intervallo IP non sia in conflitto a eventuali route esistenti nella rete VPC del connettore. Il nome della nuova subnet inizia con "aet-" .
(Facoltativo) Per impostare le opzioni di scalabilità per un maggiore controllo Sul connettore, fai clic su Mostra impostazioni di scalabilità per visualizzare in un modulo di testo.
- Imposta il numero minimo e massimo di istanze per il connettore.
o utilizzare i valori predefiniti, che sono 2 (min) e 10 (max). La
fa lo scale up fino al massimo specificato se l'utilizzo del traffico richiede
ma il connettore non esegue lo scale down quando il traffico
diminuisce. Devi utilizzare valori compresi tra
2
e10
. - Nel menu Tipo di istanza, scegli il tipo di macchina da utilizzare
utilizzata per il connettore o il valore predefinito
e2-micro
. Osserva il costo barra laterale a destra quando scegli il tipo di istanza, che mostra la larghezza di banda e le stime dei costi.
- Imposta il numero minimo e massimo di istanze per il connettore.
o utilizzare i valori predefiniti, che sono 2 (min) e 10 (max). La
fa lo scale up fino al massimo specificato se l'utilizzo del traffico richiede
ma il connettore non esegue lo scale down quando il traffico
diminuisce. Devi utilizzare valori compresi tra
Fai clic su Crea.
Un segno di spunta verde verrà visualizzato accanto al nome del connettore quando pronto per l'uso.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Aggiorna i componenti di
gcloud
alla versione più recente:gcloud components update
Assicurati che l'API Serverless VPC Access sia abilitata per il tuo progetto:
gcloud services enable vpcaccess.googleapis.com
Crea il connettore utilizzando una delle seguenti opzioni:
Per ulteriori dettagli e argomenti facoltativi, consulta la sezione
gcloud
riferimento.Crea un connettore utilizzando una subnet esistente:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region REGION \ --subnet SUBNET_NAME \ --subnet-project HOST_PROJECT_ID \ --min-instances MIN \ --max-instances MAX \ --machine-type MACHINE_TYPE
Sostituisci quanto segue:
CONNECTOR_NAME
: un nome per il connettore, nome corrispondente di Compute Engine tradizionali, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.REGION
: una regione per il connettore, corrispondente alla del tuo job o job serverless. Se il tuo servizio o job è inus-central
oeurope-west
, usaus-central1
oppureeurope-west1
.SUBNET_NAME
: il nome della subnet esistente.HOST_PROJECT_ID
: l'host del VPC condiviso dell'ID progetto. Se il connettore e la subnet esistente si trovano nello stesso progetto, ometti il flag--subnet-project
.MIN
: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra2
(valore predefinito) e9
.MAX
: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra3
e10
(valore predefinito). Se il connettore fa lo scale up fino al numero massimo di istanze, non esegue lo scale down.MACHINE_TYPE
: deve essere uno dei seguenti:f1-micro
,e2-micro
oe2-standard-4
.
Crea un connettore e una nuova subnet:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region REGION \ --network VPC_NETWORK \ --range IP_RANGE --min-instances MIN \ --max-instances MAX \ --machine-type MACHINE_TYPE
Sostituisci quanto segue:
CONNECTOR_NAME
: un nome per il connettore, nome corrispondente di Compute Engine tradizionali, con i requisiti aggiuntivi che il nome deve essere inferiore a 21 e i trattini (-) vengono conteggiati come due caratteri.REGION
: una regione per il connettore, corrispondente alla del tuo job o job serverless. Se il tuo servizio o job è inus-central
oeurope-west
, usaus-central1
oppureeurope-west1
.VPC_NETWORK
: il nome del VPC alla rete a cui collegare il connettore. Il connettore e La rete VPC deve trovarsi nello stesso progetto.IP_RANGE
: fornisci un CIDR/28
inutilizzato (per esempio10.8.0.0/28
) da utilizzare come intervallo di indirizzi IPv4 principale di una nuova subnet che Google Cloud crea rete VPC. Assicurati che l'intervallo IP non in conflitto con eventuali route esistenti nel rete VPC. Il nome della nuova subnet inizia con la "aet-" .MIN
: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra2
(valore predefinito) e9
.MAX
: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra3
e10
(valore predefinito). Se il connettore fa lo scale up fino al numero massimo di istanze, non esegue lo scale down.MACHINE_TYPE
: deve essere uno dei seguenti:f1-micro
,e2-micro
oe2-standard-4
.
Verifica che il connettore sia nello stato
READY
prima di utilizzarlo:gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \ --region REGION
Sostituisci quanto segue:
CONNECTOR_NAME
: il nome del connettore; questo è il nome specificato nel passaggio precedente.REGION
: la regione del connettore; questo è il regione specificata nel passaggio precedente.
L'output deve contenere la riga
state: READY
.
Terraform
Puoi utilizzare una risorsa Terraform
per abilitare l'API vpcaccess.googleapis.com
.
Puoi utilizzare i moduli Terraform per creare una rete VPC e una subnet, quindi di rete.
Configura il tuo ambiente serverless per utilizzare un connettore
Dopo aver creato un connettore di accesso VPC serverless, configurare l'ambiente serverless in modo da utilizzare il connettore seguendo istruzioni per il tuo ambiente serverless:
Configura Cloud Run per l'utilizzo di un connettore
Quando crei un nuovo servizio o eseguire il deployment di una nuova revisione, per utilizzare un connettore mediante la console Google Cloud, Google Cloud CLI un file YAML o una risorsa Terraform.
Console
Nella console Google Cloud, vai a Cloud Run:
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un'istanza servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.
Se stai configurando un nuovo servizio, compila il servizio iniziale pagina delle impostazioni come preferisci, poi fai clic su Container, volumi, networking, sicurezza per espandere pagina di configurazione del servizio.
Fai clic sulla scheda Connessioni.
- Nel campo Connettore VPC, seleziona un connettore da utilizzare o seleziona Nessuno per disconnettere il servizio da una rete VPC.
Fai clic su Crea o Esegui il deployment.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Per specificare un connettore durante deployment, utilizza
--vpc-connector
: Segnala:gcloud run deploy SERVICE --image IMAGE_URL --vpc-connector CONNECTOR_NAME
- Sostituisci
SERVICE
con il nome del servizio. - Sostituisci
IMAGE_URL
. - Sostituisci
CONNECTOR_NAME
con il nome del tuo di rete. Se il connettore si trova nel progetto host di un VPC condiviso, deve essere il nome completo, ad esempio:projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
dove HOST_PROJECT_ID è l'ID del progetto host, CONNECTOR_REGION è la regione del tuo connettore CONNECTOR_NAME è il nome che hai assegnato al connettore.
Per collegare, aggiornare o rimuovere un connettore per un servizio esistente, utilizza il
gcloud run services update
con uno dei seguenti flag, a seconda delle esigenze:Ad esempio, per collegare o aggiornare un connettore:
gcloud run services update SERVICE --vpc-connector CONNECTOR_NAME
- Sostituisci
SERVICE
con il nome del servizio. - Sostituisci
CONNECTOR_NAME
con il nome del tuo di rete.
- Sostituisci
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Aggiungi o aggiorna l'attributo
run.googleapis.com/vpc-access-connector
in Attributoannotations
sotto l'attributospec
di primo livello:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: annotations: run.googleapis.com/vpc-access-connector: CONNECTOR_NAME
- Sostituisci
SERVICE
con il nome del tuo dal servizio Cloud Run. - Sostituisci
CONNECTOR_NAME
con il nome del tuo di rete. Se il connettore si trova nel progetto host di un VPC condiviso, deve essere il nome completo, ad esempio:projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
dove HOST_PROJECT_ID è l'ID del progetto host, CONNECTOR_REGION è la regione del tuo connettore CONNECTOR_NAME è il nome che hai assegnato al connettore.
- Sostituisci
Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:
gcloud beta run services replace service.yaml
Terraform
Puoi utilizzare una risorsa Terraform per creare un servizio e configurarlo in modo che utilizzi il tuo connettore.
Configura le funzioni di Cloud Run per utilizzare un connettore
Puoi configurare una funzione in modo da utilizzare un connettore dalla console Google Cloud oppure in Google Cloud CLI:
Console
Vai alla pagina di riepilogo delle funzioni di Cloud Run nella Console Google Cloud:
Fai clic su Crea funzione. In alternativa, fai clic su una funzione esistente per Vai alla pagina dei dettagli e fai clic su Modifica.
Espandi le impostazioni avanzate facendo clic su IMPOSTAZIONI DI PRODUZIONE, CREAZIONE E CONNESSIONI.
Nella scheda Connessioni in Impostazioni in uscita, inserisci il nome del connettore nel Connettore VPC.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Utilizza il comando
gcloud functions deploy
per eseguire il deployment della funzione e specificare--vpc-connector
Segnala:gcloud functions deploy FUNCTION_NAME \ --vpc-connector CONNECTOR_NAME \ FLAGS...
dove:
FUNCTION_NAME
è il nome della funzione.CONNECTOR_NAME
è il nome del tuo connettore. Se il connettore si trova nel progetto host di un VPC condiviso, deve essere il nome completo, ad esempio:projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
dove HOST_PROJECT_ID è l'ID del progetto host, CONNECTOR_REGION è la regione del tuo connettore CONNECTOR_NAME è il nome che hai assegnato al connettore.FLAGS...
si riferisce ad altre segnalazioni trasmesse durante deployment delle funzioni.
Per un maggiore controllo sulle richieste instradate tramite il connettore, consulta Impostazioni in uscita.
Configura App Engine per l'utilizzo di un connettore
Python 2
Interrompi l'utilizzo del servizio di recupero URL di App Engine.
Per impostazione predefinita, tutte le richieste vengono instradate tramite il servizio di recupero URL. Questo causa richieste alla tua rete VPC non vadano a buon fine. Per disattivare questa impostazione per impostazione predefinita, consulta Disattivare il recupero URL per evitare la gestione di tutte le richieste in uscita.
Puoi comunque utilizzare Raccolta
urlfetch
direttamente le singole richieste, se necessario, ma non si tratta consigliato.Aggiungi il campo Accesso VPC serverless al file
app.yaml
:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Sostituisci quanto segue:
PROJECT_ID
con il tuo ID progetto Google Cloud. Se il connettore si trova nel progetto host di un VPC condiviso, deve essere l'ID del progetto host.REGION
con la regione in cui si trova il connettore.CONNECTOR_NAME
con il nome del tuo connettore.
Esegui il deployment del servizio:
gcloud app deploy
Dopo aver eseguito il deployment del servizio, il servizio può inviare richieste all'IP interno per accedere alle risorse nella tua rete VPC.
Java 8
Interrompi l'utilizzo del servizio di recupero URL di App Engine
URLFetchService
.Aggiungi l'elemento di accesso VPC serverless al database File
appengine-web.xml
:<vpc-access-connector> <name>projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME</name> </vpc-access-connector>
Sostituisci quanto segue:
PROJECT_ID
con il tuo ID progetto Google Cloud. Se il connettore si trova nel progetto host di un VPC condiviso, deve essere l'ID del progetto host.REGION
con la regione in cui si trova il connettore.CONNECTOR_NAME
con il nome del tuo connettore.
Esegui il deployment del servizio:
gcloud app deploy WEB-INF/appengine-web.xml
Dopo aver eseguito il deployment del servizio, il servizio può inviare richieste all'IP interno per accedere alle risorse nella tua rete VPC.
Go 1.11
Interrompi l'utilizzo del servizio di recupero URL di App Engine.
Accesso VPC serverless non supporta il recupero URL e le richieste effettuate utilizzando il metodo di recupero URL ignoreranno Impostazioni di accesso VPC serverless. Effettuare connessioni in uscita con socket.
Aggiungi il campo Accesso VPC serverless al file
app.yaml
:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Sostituisci quanto segue:
PROJECT_ID
con il tuo ID progetto Google CloudREGION
con la regione in cui si trova il connettoreCONNECTOR_NAME
con il nome del tuo connettore
Esegui il deployment del servizio:
gcloud app deploy
Dopo aver eseguito il deployment del servizio, il servizio può inviare richieste all'IP interno per accedere alle risorse nella tua rete VPC.
Tutti gli altri runtime
Aggiungi il campo Accesso VPC serverless al file
app.yaml
:vpc_access_connector: name: projects/PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Sostituisci quanto segue:
PROJECT_ID
con il tuo ID progetto Google Cloud. Se il connettore si trova nel progetto host di un VPC condiviso, deve essere l'ID del progetto host.REGION
con la regione in cui si trova il connettore.CONNECTOR_NAME
con il nome del tuo connettore.
Esegui il deployment del servizio:
gcloud app deploy
Dopo aver eseguito il deployment del servizio, il servizio può inviare richieste all'IP interno per accedere alle risorse nella tua rete VPC.
Configura le regole del firewall per i connettori
Regole firewall obbligatorie per i connettori nei progetti di servizio
Se crei un connettore in una rete VPC autonoma o nel progetto host di una rete VPC condiviso, Google Cloud crea le regole firewall necessarie per il funzionamento del connettore. Per ulteriori informazioni, consulta Regole firewall per i connettori nelle reti VPC autonome o nei progetti host del VPC condiviso.
Tuttavia, se crei un connettore in un progetto di servizio e i target del connettore su una rete VPC condiviso nel progetto host, devi aggiungere regole firewall per consentire il traffico necessario per il funzionamento del connettore dai seguenti intervalli:
- Intervallo IP dell'infrastruttura serverless:
35.199.224.0/19
- Intervalli IP dei probe del controllo di integrità:
35.191.0.0/16
,35.191.192.0/18
e130.211.0.0/22
Questi intervalli vengono utilizzati dall'infrastruttura Google sottostante Cloud Run, funzioni di Cloud Run e ambiente standard di App Engine. Tutte le richieste da che questi indirizzi IP provengono dall'infrastruttura di Google per che ogni risorsa serverless comunica solo con a cui è connesso.
Devi inoltre consentire il traffico dalla subnet del connettore alle risorse nella tua rete VPC.
Per eseguire questi passaggi, devi disporre di uno dei seguenti ruoli nella progetto host:
- Ruolo Proprietario(
roles/owner
) - Ruolo Amministratore sicurezza Compute (
roles/compute.securityAdmin
) - Ruolo personalizzato di Identity and Access Management (IAM) con
Autorizzazione
compute.firewalls.create
attivata
Per una configurazione di base, applica le regole per consentire le risorse serverless in qualsiasi progetto di servizio connesso alla rete VPC condiviso per inviare richieste a per qualsiasi risorsa nella rete.
Per applicare queste regole, esegui questi comandi nel progetto host:
Crea regole firewall che consentano le richieste dal server serverless di Google dell'infrastruttura e del controllo di integrità per raggiungere tutti i connettori nel in ogni rete. In questi comandi, le porte UDP e TCP vengono utilizzate come proxy e per e controlli di integrità HTTP. Non cambiare le porte specificate.
gcloud compute firewall-rules create serverless-to-vpc-connector \ --allow tcp:667,udp:665-666,icmp \ --source-ranges=35.199.224.0/19 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-to-serverless \ --allow tcp:667,udp:665-666,icmp \ --destination-ranges=35.199.224.0/19 \ --direction=EGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
gcloud compute firewall-rules create vpc-connector-health-checks \ --allow tcp:667 \ --source-ranges=35.191.0.0/16,35.191.192.0/18,130.211.0.0/22 \ --direction=INGRESS \ --target-tags vpc-connector \ --network=VPC_NETWORK
Sostituisci
VPC_NETWORK
con il nome del Rete VPC a cui collegare il connettore.Crea una regola firewall in entrata sulla rete VPC per consentire richieste dai connettori che hanno come target questa rete:
gcloud compute firewall-rules create vpc-connector-requests \ --allow tcp,udp,icmp \ --direction=INGRESS \ --source-tags vpc-connector \ --network=VPC_NETWORK
Questa regola concede al connettore l'accesso a tutte le risorse nella rete. A limita le risorse che il tuo ambiente serverless può raggiungere utilizzando Accesso VPC serverless, consulta Limita l'accesso delle VM del connettore alle risorse di rete VPC.
Crea regole firewall per connettori specifici
Seguendo la procedura in Regole firewall obbligatorie per i connettori nei progetti di servizio genera regole firewall che si applicano a tutti i connettori, entrambi attuali e quelli creati in futuro. Se non vuoi questa funzionalità, ma vuoi solo per connettori specifici, puoi definire l'ambito delle regole ma si applicano solo a quei connettori.
Per limitare l'ambito delle regole a connettori specifici, puoi utilizzare una delle i seguenti meccanismi:
- Tag di rete: ogni connettore ha due tag di rete:
vpc-connector
evpc-connector-REGION-CONNECTOR_NAME
. Utilizza il secondo formato per limitare l'ambito delle regole firewall a una specifica di rete. - Intervalli IP: utilizza questa opzione solo per le regole in uscita, perché non funziona per e le regole in entrata. Puoi usare l'intervallo IP del connettore per limitare l'ambito delle regole firewall a un singolo VPC di rete.
Limita l'accesso delle VM del connettore alle risorse di rete VPC
Puoi limitare l'accesso del connettore alle risorse nella sua destinazione Rete VPC mediante firewall VPC regole o regole in firewall criteri. Puoi farlo delle limitazioni utilizzando una delle seguenti strategie:
- Crea regole in entrata le cui destinazioni rappresentano le risorse desiderate per limitare l'accesso alle VM del connettore e le cui origini rappresentano le VM del connettore.
- Creare regole in uscita le cui destinazioni rappresentano le VM del connettore Le destinazioni rappresentano le risorse per cui vuoi limitare la VM del connettore a cui accedono.
I seguenti esempi illustrano ciascuna strategia.
Limita l'accesso mediante regole in entrata
Scegli tag di rete oppure Intervalli CIDR per controllare il traffico in entrata nella rete VPC.
Tag di rete
I passaggi seguenti mostrano come creare regole in entrata che limitano un l'accesso del connettore alla tua rete VPC in base al connettore tag di rete.
Assicurati di disporre delle autorizzazioni necessarie per inserire le regole firewall. Devi disporre di uno dei seguenti requisiti: Ruoli di Identity and Access Management (IAM):
- Ruolo Amministratore sicurezza Compute
- Ruolo IAM personalizzato con
compute.firewalls.create
autorizzazione abilitata
Nega il traffico del connettore nella rete VPC.
Crea una regola firewall in entrata con priorità inferiore a 1000 sul tuo Rete VPC per negare il traffico in entrata dalla rete del connettore del tag. Questo sostituisce la regola firewall implicita L'accesso VPC serverless crea sul tuo VPC per impostazione predefinita.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --source-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY
Sostituisci quanto segue:
RULE_NAME: il nome della nuova regola firewall. Ad esempio:
deny-vpc-connector
.PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono
tcp
oudp
. Ad esempio,tcp:80,udp
consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione perallow
flag.Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli:
ah
,all
,esp
,icmp
,ipip
esctp
.VPC_CONNECTOR_NETWORK_TAG: la rete del connettore universale se vuoi limitare l'accesso per tutti i connettori (inclusi quelli connettori creati in futuro) o il tag di rete univoco se desideri limitare l'accesso per un connettore specifico.
- Tag di rete universale:
vpc-connector
Tag di rete univoco:
vpc-connector-REGION-CONNECTOR_NAME
Sostituisci:
- REGION: la regione del connettore che ti interessa per limitare
- CONNECTOR_NAME: il nome del connettore che vuoi limitare
Per ulteriori informazioni sui tag di rete del connettore, consulta Tag di rete.
- Tag di rete universale:
VPC_NETWORK: il nome della tua rete VPC
PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.
Consenti il traffico del connettore alla risorsa che deve ricevere il connettore per via del traffico.
Utilizza i flag
allow
etarget-tags
per creare un firewall in entrata che ha come target la risorsa nella rete VPC a cui deve accedere il connettore VPC. Imposta la priorità per che questa regola sia un valore inferiore alla priorità della regola che hai creato al passaggio precedente.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --source-tags=VPC_CONNECTOR_NETWORK_TAG \ --direction=INGRESS \ --network=VPC_NETWORK \ --target-tags=RESOURCE_TAG \ --priority=PRIORITY
Sostituisci quanto segue:
RULE_NAME: il nome della nuova regola firewall. Ad esempio:
allow-vpc-connector-for-select-resources
.PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono
tcp
oudp
. Ad esempio,tcp:80,udp
consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione perallow
flag.VPC_CONNECTOR_NETWORK_TAG: la rete del connettore universale se vuoi limitare l'accesso per tutti i connettori (inclusi quelli connettori creati in futuro) o il tag di rete univoco se desideri limitare l'accesso per un connettore specifico. Deve corrispondere alla rete specificato nel passaggio precedente.
- Tag di rete universale:
vpc-connector
Tag di rete univoco:
vpc-connector-REGION-CONNECTOR_NAME
Sostituisci:
- REGION: la regione del connettore che ti interessa per limitare
- CONNECTOR_NAME: il nome del connettore che vuoi limitare
Per ulteriori informazioni sui tag di rete del connettore, consulta Tag di rete.
- Tag di rete universale:
VPC_NETWORK: il nome della tua rete VPC
RESOURCE_TAG: il tag di rete per il VPC risorsa a cui vuoi che il connettore VPC acceda
PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.
Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione
regole firewall, consulta le
documentazione relativa a gcloud compute firewall-rules create
.
Intervallo CIDR
I passaggi seguenti mostrano come creare regole in entrata che limitano un l'accesso del connettore alla tua rete VPC in base al Intervallo CIDR.
Assicurati di disporre delle autorizzazioni necessarie per inserire le regole firewall. Devi disporre di uno dei seguenti requisiti: Ruoli di Identity and Access Management (IAM):
- Ruolo Amministratore sicurezza Compute
- Ruolo IAM personalizzato con
compute.firewalls.create
autorizzazione abilitata
Nega il traffico del connettore nella rete VPC.
Crea una regola firewall in entrata con priorità inferiore a 1000 sul tuo Rete VPC per negare il traffico in entrata dal CIDR del connettore intervallo. Questo sostituisce la regola firewall implicita L'accesso VPC serverless crea sul tuo VPC per impostazione predefinita.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --source-ranges=VPC_CONNECTOR_CIDR_RANGE \ --direction=INGRESS \ --network=VPC_NETWORK \ --priority=PRIORITY
Sostituisci quanto segue:
RULE_NAME: il nome della nuova regola firewall. Ad esempio:
deny-vpc-connector
.PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono
tcp
oudp
. Ad esempio,tcp:80,udp
consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione perallow
flag.Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli:
ah
,all
,esp
,icmp
,ipip
esctp
.VPC_CONNECTOR_CIDR_RANGE: l'intervallo CIDR per il connettore di cui stai limitando l'accesso
VPC_NETWORK: il nome della tua rete VPC
PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.
Consenti il traffico del connettore alla risorsa che deve ricevere il connettore per via del traffico.
Utilizza i flag
allow
etarget-tags
per creare un firewall in entrata che ha come target la risorsa nella rete VPC a cui deve accedere il connettore VPC. Imposta la priorità per che questa regola sia un valore inferiore alla priorità della regola che hai creato al passaggio precedente.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --source-ranges=VPC_CONNECTOR_CIDR_RANGE \ --direction=INGRESS \ --network=VPC_NETWORK \ --target-tags=RESOURCE_TAG \ --priority=PRIORITY
Sostituisci quanto segue:
RULE_NAME: il nome della nuova regola firewall. Ad esempio:
allow-vpc-connector-for-select-resources
.PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono
tcp
oudp
. Ad esempio,tcp:80,udp
consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione perallow
flag.VPC_CONNECTOR_CIDR_RANGE: l'intervallo CIDR per il connettore l'utente di cui stai limitando l'accesso
VPC_NETWORK: il nome della tua rete VPC
RESOURCE_TAG: il tag di rete per il VPC risorsa a cui vuoi che il connettore VPC acceda
PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.
Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione
regole firewall, consulta le
documentazione relativa a gcloud compute firewall-rules create
.
Limitare l'accesso mediante regole in uscita
I passaggi seguenti mostrano come creare regole in uscita per limitare l'accesso ai connettori.
Assicurati di disporre delle autorizzazioni necessarie per inserire le regole firewall. Tu deve disporre di uno dei seguenti requisiti per Identity and Access Management (IAM) ruoli:
- Ruolo Amministratore sicurezza Compute
- Ruolo IAM personalizzato con
compute.firewalls.create
autorizzazione abilitata
Rifiutare il traffico in uscita dal connettore.
Crea una regola firewall in uscita sull'accesso VPC serverless per impedirgli di inviare traffico in uscita, ad eccezione del in base a risposte consolidate, in qualsiasi destinazione.
gcloud compute firewall-rules create RULE_NAME \ --action=DENY \ --rules=PROTOCOL \ --direction=EGRESS \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --network=VPC_NETWORK \ --priority=PRIORITY
Sostituisci quanto segue:
RULE_NAME: il nome della nuova regola firewall. Ad esempio:
deny-vpc-connector
.PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono
tcp
oudp
. Ad esempio,tcp:80,udp
consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione perallow
flag.Per motivi di sicurezza e convalida, puoi anche configura regole di negazione per bloccare il traffico per i seguenti elementi non supportati protocolli:
ah
,all
,esp
,icmp
,ipip
esctp
.VPC_CONNECTOR_NETWORK_TAG: il VPC universale tag di rete del connettore se desideri applicare la regola a tutte le istanze Connettori VPC ed eventuali connettori VPC creati in futuro. Oppure, il tag di rete univoco del connettore VPC per controllare un connettore specifico.
VPC_NETWORK: il nome della tua rete VPC
PRIORITY: un numero intero compreso tra 0 e 65535. Ad esempio, 0 imposta il valore la priorità più alta.
Consenti il traffico in uscita quando la destinazione è nell'intervallo CIDR desiderato al tuo connettore.
Utilizza i flag
allow
edestination-ranges
per creare una regola firewall consentendo il traffico in uscita dal connettore per un intervallo di destinazione specifico. Imposta l'intervallo di destinazione sull'intervallo CIDR della risorsa nel La rete VPC a cui vuoi che il connettore possa accedere. Imposta la priorità per questa regola in modo che sia un valore inferiore alla priorità del regolata nel passaggio precedente.gcloud compute firewall-rules create RULE_NAME \ --allow=PROTOCOL \ --destination-ranges=RESOURCE_CIDR_RANGE \ --direction=EGRESS \ --network=VPC_NETWORK \ --target-tags=VPC_CONNECTOR_NETWORK_TAG \ --priority=PRIORITY
Sostituisci quanto segue:
RULE_NAME: il nome della nuova regola firewall. Ad esempio:
allow-vpc-connector-for-select-resources
.PROTOCOL: uno o più protocolli che vuoi consentire dal tuo connettore VPC. I protocolli supportati sono
tcp
oudp
. Ad esempio,tcp:80,udp
consente il traffico TCP tramite la porta 80 e il traffico UDP. Per ulteriori informazioni, vedi la documentazione perallow
flag.RESOURCE_CIDR_RANGE: l'intervallo CIDR del connettore la cui accesso limitato
VPC_NETWORK: il nome della tua rete VPC
VPC_CONNECTOR_NETWORK_TAG: il VPC universale tag di rete del connettore se desideri applicare la regola a tutte le istanze Connettori VPC ed eventuali connettori VPC creati in futuro. Oppure, il tag di rete univoco del connettore VPC per controllare un connettore specifico. Se hai utilizzato l'attributo nel passaggio precedente, utilizza il tag di rete univoco.
PRIORITY: un numero intero minore della priorità impostata al passaggio precedente. Ad esempio, se imposti la priorità per la regola che hai creato nel passaggio precedente a 990, prova a 980.
Per ulteriori informazioni sui flag obbligatori e facoltativi per la creazione di un firewall
di Google Cloud, fai riferimento
documentazione relativa a gcloud compute firewall-rules create
.
Aggiorna un connettore
Puoi aggiornare e monitorare i seguenti attributi del connettore utilizzando la console Google Cloud, Google Cloud CLI o l'API:
- Tipo di macchina (istanza)
- Numero minimo e massimo di istanze
- Velocità effettiva recente, numero di istanze e utilizzo della CPU
Aggiorna tipo di macchina
Console
Vai alla pagina di riepilogo Accesso VPC serverless.
Seleziona il connettore da modificare e fai clic su Modifica.
Nell'elenco Tipo di istanza, seleziona la macchina che preferisci (istanza) di testo. Per saperne di più sui tipi di macchina disponibili, consulta la documentazione Velocità effettiva e scalabilità.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Per aggiornare il tipo di macchina del connettore, esegui questo comando nel tuo terminale:
gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --machine-type=MACHINE_TYPE
Sostituisci quanto segue:CONNECTOR_NAME
: il nome del tuo connettoreREGION
: il nome della regione del connettoreMACHINE_TYPE
: il tipo di macchina che preferisci. A sui tipi di macchine disponibili, consulta la documentazione Velocità effettiva e scalabilità.
Riduci il numero minimo e massimo di istanze
Per diminuire il numero minimo e massimo di istanze, devi farlo le seguenti:
- Crea un nuovo connettore con i valori che preferisci.
- Aggiorna il servizio o la funzione per utilizzare il nuovo connettore.
- Elimina il vecchio connettore dopo aver spostato il relativo traffico.
Consulta Creare un connettore di accesso VPC serverless per ulteriori informazioni.
Aumenta il numero minimo e massimo di istanze
Console
Vai alla pagina di riepilogo Accesso VPC serverless.
Seleziona il connettore da modificare e fai clic su Modifica.
Nel campo Numero minimo di istanze, seleziona il numero minimo che preferisci di di Compute Engine.
Il valore più piccolo possibile per questo campo è il valore corrente. La il valore più grande possibile per questo campo è il valore corrente nella Campo Numero massimo di istanze meno 1. Ad esempio, se il valore nel campo Il campo Numero massimo di istanze è 8, il valore più grande possibile per il valore Il campo Numero minimo di istanze è 7.
Nel campo Numero massimo di istanze, seleziona il numero massimo che preferisci. di Compute Engine.
Il valore più piccolo possibile per questo campo è il valore corrente. La il valore massimo possibile per questo campo è 10.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Per aumentare il numero minimo o massimo di istanze per il connettore, esegui questo comando nel tuo terminale:
gcloud beta compute networks vpc-access connectors update CONNECTOR_NAME --region=REGION --min-instances=MIN_INSTANCES --max-instances=MAX_INSTANCES
Sostituisci quanto segue:
CONNECTOR_NAME
: il nome del tuo connettoreREGION
: il nome della regione del connettoreMIN_INSTANCES
: il numero minimo che preferisci di di Compute Engine.- Il valore più piccolo possibile per questo campo è il valore corrente
min_instances
. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti. - Il valore più grande possibile per questo campo è l'attuale
max_instances
meno 1, perchémin_instances
deve essere inferiore amax_instances
. Ad esempio, semax_instances
è 8, il valore più grande possibile è 7. Se il connettore utilizza il valore predefinito dimax-instances
10, il valore massimo possibile di questo campo è 9. Per trovare il valore dimax-instances
, vedi Trova i valori degli attributi correnti.
- Il valore più piccolo possibile per questo campo è il valore corrente
MAX_INSTANCES
:- Il valore più piccolo possibile per questo campo è il valore corrente
max_instances
. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti. - Il valore massimo possibile per questo campo è 10.
Se vuoi aumentare solo il numero minimo di istanze, ma non il numero devi specificare il numero massimo di istanze. Al contrario, se vuoi aggiornare solo il numero massimo di istanze non è il numero minimo, devi comunque specificare il numero minimo di istanze. Per mantenere il numero minimo o massimo di istanze al loro valore attuale. specificare il valore attuale. Per trovare il valore corrente, consulta Trova i valori degli attributi correnti.
- Il valore più piccolo possibile per questo campo è il valore corrente
Trovare i valori degli attributi correnti
Per trovare i valori degli attributi correnti per il connettore, esegui quanto segue in il tuo terminale:
gcloud compute networks vpc-access connectors describe CONNECTOR_NAME --region=REGION --project=PROJECTSostituisci quanto segue:
CONNECTOR_NAME
: il nome del tuo connettoreREGION
: il nome della regione del connettorePROJECT
: il nome del tuo progetto Google Cloud
Monitorare l'utilizzo dei connettori
Il monitoraggio dell'utilizzo nel tempo può aiutarti a determinare quando regolare impostazioni. Ad esempio, se si verificano picchi di utilizzo della CPU, potresti provare ad aumentare il numero massimo di istanze per ottenere risultati migliori. O se stai raggiungendo il limite effettiva, potresti decidere di passare a un tipo di macchina più grande.
Visualizzare i grafici relativi a velocità effettiva, numero di istanze e CPU del connettore di utilizzo delle metriche nel tempo usando la console Google Cloud:
Vai alla pagina di riepilogo Accesso VPC serverless.
Fai clic sul nome del connettore da monitorare.
Seleziona il numero di giorni che vuoi visualizzare tra 1 e 90.
Nel grafico Velocità effettiva, passa il mouse sopra il grafico per visualizzare con una velocità effettiva recente.
Nel grafico Numero di istanze, passa il mouse sopra il grafico per visualizzare di istanze utilizzate di recente dal connettore.
Nel grafico Utilizzo CPU, passa il mouse sopra il grafico per visualizzare la l'utilizzo recente della CPU da parte del connettore. Il grafico mostra l'utilizzo della CPU distribuito tra le istanze per il 50°, 95° e 99° percentile.
Elimina un connettore
Prima di eliminare un connettore, assicurati che nessun servizio o job sia ancora a essa connesso.
Per gli utenti del VPC condiviso che configurano i connettori nella rete VPC condivisa
progetto host, puoi utilizzare il comando
gcloud compute networks vpc-access connectors describe
per elencare i progetti in cui sono presenti servizi o job che utilizzano
di rete.
Per eliminare un connettore, utilizza la console Google Cloud o Google Cloud CLI:
Console
Vai alla pagina di riepilogo Accesso VPC serverless in Console Google Cloud:
Seleziona il connettore da eliminare.
Fai clic su Elimina.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Utilizza il seguente comando
gcloud
per eliminare un connettore:gcloud compute networks vpc-access connectors delete CONNECTOR_NAME --region=REGION
Sostituisci quanto segue:
- CONNECTOR_NAME con il nome del connettore da eliminare
- REGION con la regione in cui si trova il connettore
Configura il tuo ambiente Cloud Run per utilizzare il VPC diretto anziché un connettore
Puoi abilitare il tuo servizio Cloud Run per inviare il traffico in uscita (in uscita) direttamente a una rete VPC, consentendo l'accesso alle istanze VM di Compute Engine, Memorystore istanze e qualsiasi altra risorsa con un indirizzo IP interno.
Configura il tuo servizio per utilizzare il VPC diretto
Il traffico VPC diretto in uscita consente al servizio Cloud Run di inviare traffico a una rete VPC senza accesso VPC serverless di rete. I costi di rete vengono scalati fino a zero, proprio come il servizio stesso. Puoi usano i tag di rete anche direttamente sulle revisioni del servizio Cloud Run per una sicurezza di rete granulare.
Puoi configurare il traffico VPC diretto in uscita con un servizio utilizzando il metodo Console Google Cloud, Google Cloud CLI, YAML o Terraform.
Console
Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando e implementando servizio esistente, fai clic sul servizio e poi su Modifica ed esegui il deployment di una nuova revisione.
Se stai configurando un nuovo servizio, compila il servizio iniziale pagina delle impostazioni in base alle tue esigenze, poi fai clic su Container, volumi, networking, sicurezza per espandi la pagina di configurazione del servizio.
Fai clic sulla scheda Networking.
Fai clic su Connettiti a un VPC per il traffico in uscita.
Fai clic su Invia il traffico direttamente a un VPC.
Nel campo Rete, seleziona il VPC rete a cui vuoi inviare il traffico.
Nel campo Subnet, seleziona la subnet alla quale il tuo servizio riceve IP . Puoi eseguire il deployment di più servizi sulla stessa subnet.
(Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al tuo servizio o ai tuoi servizi. I tag di rete vengono è specificato a livello di revisione. Ogni revisione del servizio può avere tag di rete, ad esempio
network-tag-2
.Per Routing del traffico, seleziona una delle seguenti opzioni:
- Instrada al VPC solo richieste a IP privati per inviare solo a indirizzi interni attraverso la rete VPC.
- Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita attraverso la rete VPC.
Fai clic su Crea o Esegui il deployment.
Per verificare che il servizio sia nella tua rete VPC, fai clic su dal servizio, quindi fai clic sulla scheda Networking. La rete e la subnet sono elencate nella scheda VPC.
Ora puoi inviare richieste dal tuo servizio Cloud Run a qualsiasi risorsa sulla rete VPC, come consentito dal firewall le regole del caso.
gcloud
Per eseguire il deployment di un servizio Cloud Run senza un connettore da Google Cloud CLI:
Assicurati che l'API Compute Engine sia abilitata per il tuo progetto:
gcloud services enable compute.googleapis.com
Esegui il deployment del tuo servizio Cloud Run con il comando seguente:
gcloud run deploy SERVICE_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region=REGION
Sostituisci:
- SERVICE_NAME con il nome del tuo Cloud Run completamente gestito di Google Cloud.
- IMAGE_URL con un riferimento all'immagine container, per
ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già creati. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- NETWORK con il nome del tuo VPC in ogni rete.
-
SUBNET con il nome della tua subnet. La subnet deve essere
/26
o più grande. Il traffico VPC diretto in uscita supporta gli intervalli IPv4 RFC 1918, RFC 6598, e Classe E. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa ma non può essere condivisa da nessun connettore esistente. - Facoltativo: NETWORK_TAG_NAMES con i nomi separati da virgole
dei tag di rete
da associare a un servizio. Per i servizi, i tag di rete
è specificato a livello di revisione. Ogni revisione del servizio può avere
diversi tag di rete, ad esempio
network-tag-2
. - EGRESS_SETTING con un
valore impostazione in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso il VPC in ogni rete.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- REGION con una regione per il tuo servizio.
Per verificare che il tuo servizio sia nella tua rete VPC, esegui il seguente comando:
gcloud run services describe SERVICE_NAME \ --region=REGION
Sostituisci:
SERVICE_NAME
con il nome del tuo servizio.REGION
con la regione del servizio che specificato nel passaggio precedente.
L'output deve contenere il nome della rete, della subnet e del traffico dell'impostazione, ad esempio:
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
Ora puoi inviare richieste dal tuo servizio Cloud Run a qualsiasi risorsa sulla rete VPC, come consentito dal firewall le regole del caso.
YAML
Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:
gcloud run services describe SERVICE --format export > service.yaml
Aggiorna i seguenti attributi:
apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE_NAME labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Sostituisci:
- SERVICE_NAME con il nome del tuo Cloud Run completamente gestito di Google Cloud. I nomi dei servizi devono contenere al massimo 49 caratteri e devono essere univoci per regione e progetto.
- REGION con la regione per il tuo servizio Cloud Run, che deve corrispondere alla regione della subnet.
- NETWORK con il nome della tua rete VPC.
-
SUBNET con il nome della tua subnet. La subnet deve essere
/26
o più grande. Il traffico VPC diretto in uscita supporta gli intervalli IPv4 RFC 1918, RFC 6598, e Classe E. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa ma non può essere condivisa da nessuno dei connettori esistenti. - Facoltativo: NETWORK_TAG_NAMES con i nomi dei
tag di rete
da associare a un servizio. Per i servizi, i tag di rete
è specificato a livello di revisione. Ogni revisione del servizio può avere
diversi tag di rete, ad esempio
network-tag-2
. - EGRESS_SETTING con un
valore impostazione in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso il VPC in ogni rete.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- IMAGE con l'URL dell'immagine del container di servizio.
Puoi anche specificare altre configurazioni, come variabili di ambiente o limiti di memoria.
Crea o aggiorna il servizio utilizzando il comando seguente:
gcloud run services replace service.yaml
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta: Comandi Terraform di base.
Aggiungi quanto segue al tuo file
main.tf
:
(Facoltativo) Rendi pubblico il servizio se consentire l'accesso non autenticato al servizio.
Configura il job per utilizzare il VPC diretto
Il traffico VPC diretto in uscita consente al job Cloud Run di inviare traffico a una Rete VPC senza accesso VPC serverless di rete.
Puoi configurare il traffico VPC diretto in uscita con un job utilizzando il metodo Console Google Cloud, Google Cloud CLI o YAML.
Console
Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina iniziale delle impostazioni del job, se necessario. Se stai configurando un'istanza job esistente, fai clic sul job e poi su Modifica.
Fai clic su Contenitore, variabili e Secret, connessioni, sicurezza a espandi la pagina delle proprietà del job.
Fai clic sulla scheda Connessioni.
Fai clic su Connettiti a un VPC per il traffico in uscita.
Fai clic su Invia il traffico direttamente a un VPC.
Nel campo Rete, seleziona la rete VPC a cui vuoi indirizzare il traffico.
Nel campo Subnet, seleziona la subnet alla quale il tuo job riceve IP . Puoi eseguire più job sulla stessa subnet.
Per Routing del traffico, seleziona una delle seguenti opzioni:
- Instrada al VPC solo richieste a IP privati per inviare solo a indirizzi interni attraverso la rete VPC.
- Instrada tutto il traffico al VPC per inviare tutto il traffico in uscita attraverso la rete VPC.
(Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al tuo servizio o ai tuoi servizi. I tag di rete vengono è specificato a livello di revisione. Ogni revisione del servizio può avere tag di rete, ad esempio
network-tag-2
.(Facoltativo) Inserisci i nomi dei tag di rete che vuoi associare al tuo job o ai tuoi job. Per i job, i tag di rete a livello di esecuzione. Ogni esecuzione del job può avere tag di rete, ad esempio
network-tag-2
.Fai clic su Crea o Aggiorna.
Per verificare che il job sia nella tua rete VPC, fai clic su il job, quindi fai clic sulla scheda Configurazione. La rete e la subnet sono elencato nella scheda VPC.
Ora puoi eseguire il tuo job Cloud Run e inviare richieste dal su qualsiasi risorsa sulla rete VPC, come consentito le regole del firewall.
gcloud
Per creare un job Cloud Run senza un connettore da Google Cloud CLI:
Assicurati che l'API Compute Engine sia abilitata per il tuo progetto:
gcloud services enable compute.googleapis.com
Crea un job Cloud Run con il comando seguente:
gcloud run jobs create JOB_NAME \ --image=IMAGE_URL \ --network=NETWORK \ --subnet=SUBNET \ --network-tags=NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region=REGION
Sostituisci:
- JOB_NAME con il nome del tuo Cloud Run un lavoro.
- IMAGE_URL con un riferimento all'immagine container, per
esempio,
us-docker.pkg.dev/cloudrun/container/job:latest
- NETWORK con il nome del tuo VPC in ogni rete.
-
SUBNET con il nome della tua subnet. La subnet deve essere
/26
o più grande. Il traffico VPC diretto in uscita supporta gli intervalli IPv4 RFC 1918, RFC 6598, e Classe E. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa ma non può essere condivisa da nessuno dei connettori esistenti. - Facoltativo: NETWORK_TAG_NAMES con i nomi dei
tag di rete
da associare a un job. Per i job, i tag di rete
a livello di esecuzione. Ogni esecuzione del job può avere reti diverse
tag, ad esempio
network-tag-2
. - EGRESS_SETTING con un
valore impostazione in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso il VPC in ogni rete.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- REGION con una regione per il tuo job.
Per verificare che il job si trovi nella tua rete VPC, esegui seguente comando:
gcloud run jobs describe JOB_NAME \ --region=REGION
Sostituisci:
JOB_NAME
con il nome del tuo job.REGION
con la regione per il job che specificato nel passaggio precedente.
L'output deve contenere il nome della rete e della subnet, esempio:
VPC network: Network: default Subnet: default
Ora puoi eseguire il tuo job Cloud Run e inviare richieste dal su qualsiasi risorsa sulla rete VPC, come consentito le regole del firewall.
YAML
Se stai creando un nuovo job, salta questo passaggio. Se stai aggiornando un job esistente, scarica la relativa configurazione YAML:
gcloud run jobs describe JOB_NAME --format export > job.yaml
Aggiorna i seguenti attributi:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB_NAME annotations: run.googleapis.com/launch-stage: BETA labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/network-interfaces: '[{"network":"NETWORK","subnetwork":"SUBNET","tags":"NETWORK_TAG_NAMES"}]' run.googleapis.com/vpc-access-egress: EGRESS_SETTING spec: containers: - image: IMAGE
Sostituisci:
- JOB_NAME con il nome del tuo Cloud Run un lavoro. I nomi dei job devono contenere al massimo 49 caratteri e devono essere univoci regione e progetto.
- REGION con la regione per il tuo job Cloud Run, che deve corrispondere alla regione della subnet.
- NETWORK con il nome della tua rete VPC.
-
SUBNET con il nome della tua subnet. La subnet deve essere
/26
o più grande. Il traffico VPC diretto in uscita supporta gli intervalli IPv4 RFC 1918, RFC 6598, e Classe E. Puoi eseguire il deployment o eseguire più servizi o job sulla stessa ma non può essere condivisa da nessun connettore esistente. - Facoltativo: NETWORK_TAG_NAMES con i nomi dei
tag di rete
da associare a un job. Per i job, i tag di rete
a livello di esecuzione. Ogni esecuzione del job può avere reti diverse
tag, ad esempio
network-tag-2
. - EGRESS_SETTING con un
valore impostazione in uscita:
all-traffic
: invia tutto il traffico in uscita attraverso il VPC in ogni rete.private-ranges-only
: invia il traffico solo agli indirizzi interni attraverso la rete VPC.
- IMAGE con l'URL dell'immagine container del job.
Crea o aggiorna il job utilizzando il comando seguente:
gcloud run jobs replace job.yaml
Risoluzione dei problemi
Autorizzazioni account di servizio
Per eseguire operazioni nel tuo progetto Google Cloud, L'accesso VPC serverless utilizza Account di servizio dell'agente di servizio di accesso VPC serverless. Questo servizio l'indirizzo email dell'account ha il seguente formato:
service-PROJECT_NUMBER@gcp-sa-vpcaccess.iam.gserviceaccount.com
Per impostazione predefinita, questo account di servizio ha
Ruolo Agente di servizio di accesso VPC serverless
(roles/vpcaccess.serviceAgent
). Accesso VPC serverless
operazioni potrebbero non riuscire se modifichi le autorizzazioni di questo account.
Errori
Errore del ruolo dell'agente di servizio richiesto per l'account di servizio
Se usi l'opzione Limita l'utilizzo del servizio risorse
vincolo dei criteri dell'organizzazione
per bloccare Cloud Deployment Manager (deploymentmanager.googleapis.com
),
potrebbe essere visualizzato il seguente messaggio di errore:
Serverless VPC Access service account (service-<PROJECT_NUMBER>@gcp-sa-vpcaccess.iam.gserviceaccount.com) needs Serverless VPC Access Service Agent role in the project.
Impostare il criterio dell'organizzazione rimuovere Deployment Manager dalla lista bloccata o aggiungerlo alla lista consentita.
Errore di creazione del connettore
Se la creazione di un connettore genera un errore, prova a procedere nel seguente modo:
- Specifica una specifica RFC 1918 intervallo IP interno che non si sovrappone ad alcun indirizzo IP esistente delle tue risorse nella rete VPC.
- Concedi al tuo progetto l'autorizzazione a utilizzare le immagini VM di Compute Engine dall'
progetto con ID
serverless-vpc-access-images
. Per ulteriori informazioni come aggiornare di conseguenza i criteri dell'organizzazione, vedi Imposta i vincoli di accesso alle immagini.
Impossibile accedere alle risorse
Se hai specificato un connettore, ma non riesci comunque ad accedere alle risorse nel tuo rete VPC, assicurati che non siano presenti regole firewall Rete VPC con priorità inferiore a 1000 che nega il traffico in entrata dall'intervallo di indirizzi IP del tuo connettore.
Se configuri un connettore in un progetto di servizio del VPC condiviso, assicurati che le regole firewall consentano il traffico in entrata dall'infrastruttura serverless al connettore.
Errore di connessione rifiutata
Se ricevi connection refused
o connection timeout
errori che si riducono
le prestazioni della rete, le tue connessioni potrebbero crescere senza limiti
delle tue applicazioni serverless. Per limitare il numero massimo di
usate per istanza, usa una libreria client che supporti la connessione
piscine. Per esempi dettagliati di utilizzo dei pool di connessioni, vedi
Gestire le connessioni ai database.
Errore di risorsa non trovata
Quando elimini una rete VPC o una regola firewall, potresti vedere
un messaggio simile al seguente: The resource
"aet-uscentral1-subnet--1-egrfw" was not found.
Per informazioni su questo errore e sulla sua soluzione, consulta Errore Risorsa non trovata nel campo documentazione sulle regole firewall VPC.
Passaggi successivi
- Monitorare l'attività di amministrazione con Audit logging degli accessi VPC serverless.
- Proteggi le risorse e i dati creazione di un perimetro di servizio con i Controlli di servizio VPC.
- Scopri di più su Identity and Access Management (IAM) ai ruoli associati all'accesso VPC serverless. Consulta Accesso VPC serverless ruoli nel nella documentazione IAM per un elenco di autorizzazioni associate per ogni ruolo.
- Scopri come connetterti a Memorystore da: