Configura i connettori nell'host del VPC condiviso progetto
Se la tua organizzazione utilizza un VPC condiviso, puoi configurare Connettori di accesso VPC serverless nel progetto di servizio progetto host. Questa guida mostra come configurare un connettore nel progetto host.
Se devi configurare un connettore in un progetto di servizio, consulta Configurare i connettori nei progetti di servizio. Per conoscere i vantaggi di ciascun metodo, consulta Connessione a una VPC condiviso condivisa
Prima di iniziare
Verifica i ruoli di Identity and Access Management (IAM) per l'account che stai attualmente utilizzando. L'account attivo deve avere i seguenti ruoli sul progetto host:
Seleziona il progetto host nel tuo ambiente preferito.
Console
Apri la dashboard della console Google Cloud.
Nella barra dei menu nella parte superiore della dashboard, fai clic sul menu a discesa del progetto e seleziona il progetto host.
gcloud
Imposta il progetto predefinito in gcloud CLI sul progetto host esegui questo comando nel tuo terminale:
gcloud config set project HOST_PROJECT_ID
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del VPC condiviso progetto host
Crea un connettore di accesso VPC serverless
Per inviare richieste alla tua rete VPC e ricevere risposte corrispondenti, devi creare un accesso VPC serverless di rete. Puoi creare un connettore utilizzando la console Google Cloud, Google Cloud CLI, o Terraform:
Console
Abilita l'API Serverless VPC Access per il tuo progetto.
Vai alla pagina di riepilogo Accesso VPC serverless.
Fai clic su Crea connettore.
Nel campo Nome, inserisci un nome per il connettore. Il nome deve segui le istruzioni di Compute Engine convenzione di denominazione e avere meno di 21 caratteri. 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 servizio si trova nella regione
us-central
oeurope-west
, utilizzaus-central1
oeurope-west1
.Nel campo Rete, seleziona la rete VPC a cui collegare il connettore.
Fai clic sul menu a discesa Subnet:
Seleziona una subnet
/28
inutilizzata.- Le subnet devono essere utilizzate esclusivamente dal connettore. Non possono essere utilizzati da altre risorse come VM, Private Service Connect bilanciatori del carico.
- Per verificare che la subnet non sia utilizzata
Private Service Connect o Cloud Load Balancing, verifica che
la subnet
purpose
èPRIVATE
eseguendo questo comando nel gcloud CLI:gcloud compute networks subnets describe SUBNET_NAME
SostituisciSUBNET_NAME
con il nome della tua subnet.
(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 out del connettore al massimo specificato man mano che il traffico aumenta,
ma il connettore non ridimensiona quando il traffico diminuisce. Tu
deve utilizzare valori compresi tra
2
e10
e Il valoreMIN
deve essere inferiore aMAX
valore. - Nel menu a discesa Tipo di istanza, scegli il tipo di macchina da utilizzare per
o utilizza il valore predefinito
e2-micro
. Osserva la barra laterale dei costi a destra quando scegli il tipo di istanza, che mostra la larghezza di banda e 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 out del connettore al massimo specificato man mano che il traffico aumenta,
ma il connettore non ridimensiona quando il traffico diminuisce. Tu
deve 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
Aggiorna i componenti di
gcloud
alla versione più recente:gcloud components update
Abilita l'API Serverless VPC Access per il tuo progetto:
gcloud services enable vpcaccess.googleapis.com
Crea un connettore di accesso VPC serverless:
gcloud compute networks vpc-access connectors create CONNECTOR_NAME \ --region=REGION \ --subnet=SUBNET \ --subnet-project=HOST_PROJECT_ID \ # Optional: specify minimum and maximum instance values between 2 and 10, default is 2 min, 10 max. --min-instances=MIN \ --max-instances=MAX \ # Optional: specify machine type, default is e2-micro --machine-type=MACHINE_TYPE
Sostituisci quanto segue:
CONNECTOR_NAME
: un nome per il connettore. Il nome devono rispettare le Compute Engine convenzione di denominazione e avere meno di 21 caratteri. I trattini (-
) vengono conteggiati come due caratteri.REGION
: una regione per il connettore; Questo deve corrispondere alla regione del tuo servizio serverless. Se il tuo servizio si trova nella regioneus-central
oeurope-west
, usaus-central1
oppureeurope-west1
.SUBNET
: il nome di una subnet/28
non utilizzata.- Le subnet devono essere utilizzate esclusivamente dal connettore. Non possono essere utilizzati da altre risorse come VM, Private Service Connect bilanciatori del carico.
- Per verificare che la subnet non sia utilizzata
Private Service Connect o Cloud Load Balancing, controlla
che la subnet
purpose
èPRIVATE
eseguendo questo comando nel gcloud CLI:gcloud compute networks subnets describe SUBNET_NAME
Sostituisci quanto segue:SUBNET_NAME
: il nome della subnet
HOST_PROJECT_ID
: l'ID del progetto hostMIN
: il numero minimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra2
e9
. Il valore predefinito è2
. Per ulteriori informazioni sulla scalabilità dei connettori, consulta Velocità effettiva e scalabilità.MAX
: il numero massimo di istanze da utilizzare per il connettore. Utilizza un numero intero compreso tra3
e10
. Il valore predefinito è10
. Se il traffico lo richiede, il connettore esegue lo scale out fino a[MAX]
istanze, ma non lo scale out. Per ulteriori informazioni sulla scalabilità dei connettori, consulta Velocità effettiva e scalabilità.MACHINE_TYPE
:f1-micro
,e2-micro
oe2-standard-4
. Per saperne di più sulla velocità effettiva del connettore, inclusi il tipo di macchina e la scalabilità, consulta Velocità effettiva e scalabilità.
Per ulteriori dettagli e argomenti facoltativi, consulta Riferimento
gcloud
.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 precedenteREGION
: la regione del connettore; la 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.
Abilita Cloud Functions per il progetto di servizio
Abilitare l'API Cloud Functions per il progetto di servizio. Questo è necessarie per aggiungere i ruoli IAM nei passaggi successivi affinché il progetto di servizio utilizzi Cloud Functions.
Console
Apri la pagina per l'API Cloud Functions.
Nella barra dei menu in alto nella dashboard, fai clic sul menu a discesa del progetto e seleziona il progetto di servizio.
Fai clic su Attiva.
gcloud
Esegui il comando seguente nel terminale:
gcloud services enable cloudfunctions.googleapis.com --project=SERVICE_PROJECT_ID
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizio
Fornire l'accesso al connettore
Fornisci l'accesso al connettore concedendo Agente di servizio Cloud Functions Ruolo IAM di Utente accesso VPC serverless per il progetto di servizio nel progetto host.
Console
Apri la pagina IAM.
Fai clic sul menu a discesa del progetto e seleziona il progetto host.
Fai clic su Concedi accesso.
Nel campo Nuove entità, inserisci l'indirizzo email Agente di servizio Cloud Functions per il progetto di servizio:
service-SERVICE_PROJECT_NUMBER@gcf-admin-robot.iam.gserviceaccount.com
Sostituisci quanto segue:
SERVICE_PROJECT_NUMBER
: il numero del progetto associati al progetto di servizio. È diverso dal progetto ID. Puoi trovare il numero del progetto nella alla pagina Impostazioni progetto nel nella console Google Cloud.
Nel campo Ruolo, seleziona Utente accesso VPC serverless.
Fai clic su Salva.
gcloud
Esegui questo comando nel tuo terminale:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=serviceAccount:service-SERVICE_PROJECT_NUMBER@gcf-admin-robot.iam.gserviceaccount.com \ --role=roles/vpcaccess.user
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del Progetto host VPC condivisoSERVICE_PROJECT_NUMBER
: il numero del progetto associati al progetto di servizio. È diverso dal progetto ID. Puoi trovare il numero del progetto eseguendo questo comando:gcloud projects describe SERVICE_PROJECT_ID
Rendere il connettore rilevabile
Nel criterio IAM del progetto host, devi concedere i due ruoli predefiniti seguenti alle entità che eseguono il deployment dei servizi Cloud Run:
- Visualizzatore accesso VPC serverless (
vpcaccess.viewer
): Obbligatorio. - Visualizzatore di rete Compute (
compute.networkViewer
): Facoltativo ma consigliato. Consente all'entità IAM di enumera le subnet nella rete VPC condiviso.
In alternativa, puoi utilizzare ruoli personalizzati o altri ruoli predefiniti
includi tutte le autorizzazioni del visualizzatore di accesso VPC serverless
(vpcaccess.viewer
).
Console
Apri la pagina IAM.
Fai clic sul menu a discesa del progetto e seleziona il progetto host.
Fai clic su Concedi accesso.
Nel campo Nuove entità, inserisci l'indirizzo email dell'entità che dovrebbe essere in grado di vedere il connettore dal progetto di servizio. Puoi inserisci più indirizzi email in questo campo.
Nel campo Ruolo, seleziona entrambi i ruoli seguenti:
- Visualizzatore accesso VPC serverless
- Visualizzatore di rete Compute
Fai clic su Salva.
gcloud
Esegui i seguenti comandi nel tuo terminale:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.viewer gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/compute.networkViewer
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del Progetto host VPC condivisoPRINCIPAL
: l'entità che esegue il deployment dai servizi Cloud Run. Scopri di più sulle Flag--member
.
Configura la funzione per utilizzare il connettore
Per ogni funzione che richiede l'accesso al VPC condiviso, è necessario specificare il connettore per la funzione. I passaggi seguenti spiegano come configurare la funzione per utilizzare un connettore.
Console
Apri la pagina Panoramica di Cloud Functions.
Fai clic sul menu a discesa del progetto e seleziona il progetto di servizio.
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 Runtime, build... (Runtime, build...).
Nella scheda Connessioni, in Impostazioni in uscita, seleziona il tuo connettore nel campo Connettore VPC.
gcloud
Imposta gcloud CLI per utilizzare il progetto contenente :
gcloud config set project PROJECT_ID
Sostituisci quanto segue:PROJECT_ID
: l'ID del progetto che contiene che richiede l'accesso al VPC condiviso. Se si trova nel progetto host, questo è l'ID progetto host. Se si trova in un progetto di servizio, questo è l'ID progetto di servizio.
Utilizza il flag
--vpc-connector
ed esegui il deployment della funzione:gcloud functions deploy FUNCTION_NAME --vpc-connector=CONNECTOR_NAME
Sostituisci quanto segue:
FUNCTION_NAME
: il nome della funzioneCONNECTOR_NAME
: il nome del tuo di rete. Utilizza il nome completo durante il deployment da una progetto di servizio del VPC condiviso (anziché del progetto host), per esempio:projects/HOST_PROJECT_ID/locations/CONNECTOR_REGION/connectors/CONNECTOR_NAME
doveHOST_PROJECT_ID
è l'ID dell'hostCONNECTOR_REGION
è la regione eCONNECTOR_NAME
è il nome che che hai fornito al tuo connettore.
Per un maggiore controllo sulle richieste instradate tramite il connettore, consulta Impostazioni in uscita.
Passaggi successivi
- Connettersi a Memorystore da Cloud Functions.
- Configura le impostazioni di rete per di Cloud Functions.
- 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) ruoli associati all'accesso VPC serverless. Consulta Accesso VPC serverless ruoli nel nella documentazione IAM per un elenco di autorizzazioni associate per ogni ruolo.