Se la tua organizzazione utilizza il VPC condiviso, puoi configurare un connettore di accesso VPC serverless nel progetto di servizio o nel 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 scoprire i vantaggi di ciascun metodo, consulta Connessione a una rete VPC condivisa.
Prima di iniziare
Controlla i ruoli Identity and Access Management (IAM) per l'account che stai utilizzando. L'account attivo deve avere i seguenti ruoli nel progetto host:
Seleziona il progetto host nell'ambiente che preferisci.
Console
Vai alla 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 progetto host VPC condiviso
Crea un connettore di accesso VPC serverless
Per inviare richieste alla tua rete VPC e ricevere le risposte corrispondenti, devi creare un connettore di accesso VPC serverless. 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 rispettare la convezione di denominazione di Compute Engine e deve contenere 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 servizio serverless.
Se il tuo 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 Sottorete:
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 o 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: Sostituiscigcloud compute networks subnets describe SUBNET_NAME
SUBNET_NAME
con il nome della tua subnet.
(Facoltativo) Per impostare le opzioni di ridimensionamento per un maggiore controllo sul connettore, fai clic su Mostra impostazioni di ridimensionamento per visualizzare il modulo di ridimensionamento.
- Imposta il numero minimo e massimo di istanze per il connettore oppure utilizza i valori predefiniti, ovvero 2 (min) e 10 (max). Il
connettore esegue lo scale out fino al numero massimo specificato con l'aumento del traffico,
ma non esegue lo scale in 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
. Quando scegli il tipo di istanza, noterai la barra laterale dei costi sulla destra, che mostra le stime di larghezza di banda e costi.
- Imposta il numero minimo e massimo di istanze per il connettore oppure utilizza i valori predefiniti, ovvero 2 (min) e 10 (max). Il
connettore esegue lo scale out fino al numero massimo specificato con l'aumento del traffico,
ma non esegue lo scale in quando il traffico diminuisce. Tu
deve utilizzare valori compresi tra
Fai clic su Crea.
Quando il connettore è pronto per l'uso, accanto al nome viene visualizzato un segno di spunta verde.
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 deve rispettare la convezione di denominazione di Compute Engine e deve contenere meno di 21 caratteri. I trattini (-
) vengono conteggiati come due caratteri.REGION
: una regione per il connettore. Deve corrispondere alla regione del servizio serverless. Se il tuo servizio si trova nella regioneus-central
oeurope-west
, usaus-central1
oppureeurope-west1
.SUBNET
: il nome di 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 per Private Service Connect o il bilanciamento del carico Cloud, controlla che la subnet
purpose
siaPRIVATE
eseguendo il seguente comando in gcloud CLI: Sostituisci quanto segue:gcloud compute networks subnets describe SUBNET_NAME
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 informazioni sulla scalabilità dei connettori, consulta Throughput 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 informazioni sulla scalabilità dei connettori, consulta Throughput 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
.Prima di utilizzarlo, verifica che il connettore sia nello stato
READY
:gcloud compute networks vpc-access connectors describe CONNECTOR_NAME \ --region=REGION
Sostituisci quanto segue:
CONNECTOR_NAME
: il nome del connettore, ovvero il nome specificato nel passaggio precedenteREGION
: la regione del connettore, ovvero 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.
Fornire l'accesso al connettore
Fornisci l'accesso al connettore concedendo il ruolo IAM Utente con accesso VPC serverless nel progetto host all'entità che esegue il deployment del servizio App Engine.
Console
Apri la pagina IAM.
Fai clic sul menu a discesa del progetto e seleziona il progetto host.
Fai clic su Aggiungi.
Nel campo Nuove entità, aggiungi l'entità che esegue il deployment dal servizio App Engine.
Nel campo Ruolo, seleziona Utente accesso VPC serverless.
Fai clic su Salva.
gcloud
Esegui il seguente comando nel terminale:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.user
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del progetto host VPC condivisoPRINCIPAL
: l'entità che esegue il deployment dal servizio App Engine. Scopri di più sul flag--member
.
Rendere il connettore rilevabile
Per vedere il connettore, le entità devono avere determinati ruoli di visualizzazione sia sull'host tra progetti e progetto di servizio. Per fare in modo che il connettore venga visualizzato quando le entità visualizzare i connettori disponibili nella console Google Cloud o dal relativo terminale aggiungi ruoli IAM per le entità che eseguono il deployment di App Engine i servizi di machine learning.
Concedi ruoli IAM nel progetto host
Nel progetto host, concedi alle entità che eseguono il deployment dei servizi App Engine
Visualizzatore accesso VPC serverless (vpcaccess.viewer
)
ruolo.
Console
Apri la pagina IAM.
Fai clic sul menu a discesa del progetto e seleziona il progetto host.
Fai clic su Aggiungi.
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 Visualizzatore accesso VPC serverless.
Fai clic su Salva.
gcloud
Esegui il seguente comando nel terminale:
gcloud projects add-iam-policy-binding HOST_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/vpcaccess.viewer
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del Progetto host VPC condivisoPRINCIPAL
: l'entità che esegue il deployment dai servizi App Engine. Scopri di più sul flag--member
.
Concedi i ruoli IAM nel progetto di servizio
Nel progetto di servizio, concedi alle entità che eseguono il deployment dei servizi App Engine il ruolo Visualizzatore rete Compute (compute.networkViewer
).
Console
Apri la pagina IAM.
Fai clic sul menu a discesa del progetto e seleziona il progetto di servizio.
Fai clic su Aggiungi.
Nel campo Nuove entità, inserisci l'indirizzo email dell'entità che dovrebbe essere in grado di vedere il connettore dal progetto di servizio. In questo campo puoi inserire più indirizzi email.
Nel campo Ruolo, seleziona Visualizzatore di rete Compute.
Fai clic su Salva.
gcloud
Esegui il seguente comando nel terminale:
gcloud projects add-iam-policy-binding SERVICE_PROJECT_ID \ --member=PRINCIPAL \ --role=roles/compute.networkViewer
Sostituisci quanto segue:
SERVICE_PROJECT_ID
: l'ID del progetto di servizioPRINCIPAL
: il principale che esegue il deployment dei servizi App Engine. Scopri di più sulle Flag--member
.
Configura il servizio per utilizzare un connettore
Per ogni servizio App Engine che richiede l'accesso al tuo VPC condiviso, devi specificare il connettore per il servizio. La i passaggi seguenti mostrano come configurare il servizio per l'utilizzo di un connettore.
Aggiungi
vpc_access_connector
al fileapp.yaml
del tuo servizio:vpc_access_connector: name: projects/HOST_PROJECT_ID/locations/REGION/connectors/CONNECTOR_NAME
Sostituisci quanto segue:
HOST_PROJECT_ID
: l'ID del VPC condiviso progetto hostREGION
: la regione del connettoreCONNECTOR_NAME
: il nome del connettore
Esegui il deployment del servizio:
gcloud app deploy
Dopo il deployment, il servizio è in grado di inviare richieste alla rete VPC condivisa e di ricevere le risposte corrispondenti.
Passaggi successivi
- Monitorare l'attività di amministrazione con Audit logging degli accessi VPC serverless.
- Proteggi le risorse e i dati creando un perimetro di servizio con Controlli di servizio VPC.
- Scopri i ruoli Identity and Access Management (IAM) 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 connettersi a Memorystore dell'ambiente standard di App Engine.