Connettiti a Cloud SQL per PostgreSQL dalle funzioni Cloud Run
Scopri come eseguire il deployment di un'app di esempio sulle funzioni Cloud Run collegate a un'istanza PostgreSQL utilizzando la console Google Cloud e un'applicazione client.
Se completi tutti i passaggi in modo tempestivo, le risorse create in questa guida rapida in genere costano meno di un dollaro.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Abilita le API Cloud necessarie per eseguire un'app di esempio Cloud SQL sulle funzioni Cloud Run.
Fai clic su Abilita API per abilitare le API richieste per questa guida introduttiva.
Vengono abilitate le seguenti API:
- API Cloud Run Functions
- API Cloud SQL Admin
- API Cloud Run Admin
- API Cloud Build
- API Artifact Registry
- API Eventarc
- API Compute Engine
- API Service Networking
- API Cloud Logging
Fai clic sul seguente pulsante per aprire Cloud Shell, che fornisce accesso da riga di comando alle tue risorse Google Cloud direttamente dal browser. Cloud Shell può essere utilizzato per eseguire i comandi
gcloud
presentati in questa guida rapida.Esegui il seguente comando
gcloud
utilizzando Cloud Shell:gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com
Questo comando abilita le seguenti API:
- API Cloud Run Functions
- API Cloud SQL Admin
- API Cloud Run
- API Cloud Build
- API Artifact Registry
- API Eventarc
- API Compute Engine
- API Service Networking
- API Cloud Logging
Aggiungi al tuo utente il ruolo IAM Invoker delle funzioni Cloud Run.
Configura Cloud SQL
Crea un'istanza Cloud SQL
IP pubblico
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Fai clic su Scegli PostgreSQL.
- Assicurati che Enterprise Plus sia selezionata come versione Cloud SQL per l'istanza.
- Nel campo ID istanza, inserisci
quickstart-instance
. - Nel campo Password, inserisci una password per l'utente postgres. Salva questa password per utilizzarla in futuro.
- Nella sezione Scegli la disponibilità per regione e zona, seleziona Zona singola.
- Fai clic sul menu Mostra opzioni di configurazione.
- Espandi il nodo Configurazione macchina.
- Nella regione Forme di macchine, seleziona la forma 4 vCPU, 32 GB.
- Fai clic su Crea istanza e attendi fino all'inizializzazione e all'avvio dell'istanza.
Prima di eseguire il comando come segue, sostituisci DB_ROOT_PASSWORD con la password dell'utente del database.
Se vuoi, modifica i valori dei seguenti parametri:
- --database-version: il tipo e la versione del motore del database. Se non viene specificato, viene utilizzato il valore predefinito dell'API. Consulta la documentazione sulle versioni del database gcloud per conoscere le versioni attualmente disponibili.
- --cpu: il numero di core desiderati nella macchina.
- --memory: valore intero che indica la quantità di memoria necessaria nella macchina. Deve essere fornita una unità di misura (ad es. 3072 MB o 9 GB). Se non vengono specificate unità di misura, viene assunto il valore GB.
- --region: posizione regionale dell'istanza
(ad esempio asia-east1, us-east1). Se non specificato, viene utilizzato il valore predefinito
us-central
.
Esegui il comando gcloud
sql instances create
per creare un'istanza Cloud SQL.
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD
IP privato
Alloca un intervallo di indirizzi IP e crea una connessione privata per configurare l'accesso privato ai servizi per Cloud SQL
-
Nella console Google Cloud, vai alla pagina Reti VPC.
- Seleziona la rete VPC
default
. - Seleziona la scheda Connessione ai servizi privati.
- Seleziona la scheda Intervalli IP allocati per i servizi.
- Fai clic su Assegna intervallo IP.
- Per il Nome dell'intervallo allocato, specifica
google-managed-services-default
. - Seleziona l'opzione Automatico per l'intervallo IP e specifica la lunghezza del prefisso come
16
. - Fai clic su Alloca per creare l'intervallo allocato.
- Seleziona la scheda Connessioni private ai servizi per la rete VPC
default
. - Fai clic su Crea connessione per creare una connessione privata tra la tua rete e un producer di servizi.
- Per Allocazione assegnata, seleziona
google-managed-services-default
. - Fai clic su Connetti per creare la connessione.
Creare un'istanza con indirizzo IP privato e SSL abilitati
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su Crea istanza.
- Fai clic su Scegli PostgreSQL.
- Assicurati che Enterprise Plus sia selezionata come versione Cloud SQL per l'istanza.
- Nel campo ID istanza, inserisci
quickstart-instance
. - Nel campo Password, inserisci una password per l'utente postgres. Salva questa password per utilizzarla in futuro.
- Nella sezione Scegli la disponibilità per regione e zona, seleziona Zona singola.
- Fai clic sul menu Mostra opzioni di configurazione.
- Espandi il nodo Configurazione macchina.
- Nella regione Forme di macchine, seleziona la forma 4 vCPU, 32 GB.
- Espandi il nodo Connessioni.
- Deseleziona la casella di controllo IP pubblico per creare un'istanza solo con un indirizzo IP privato.
- Seleziona la casella di controllo IP privato.
- Nel menu Rete, seleziona predefinita.
- Fai clic su Crea istanza e attendi l'inizializzazione e l'avvio dell'istanza.
- Fai clic su Connessioni.
- Nella sezione Sicurezza, seleziona Consenti solo connessioni SSL per attivare le connessioni SSL.
- Nella finestra di dialogo Consenti solo connessioni SSL, fai clic su Salva e poi attendi il riavvio dell'istanza.
Alloca un intervallo di indirizzi IP e crea una connessione privata per configurare l'accesso privato ai servizi per Cloud SQL
-
Esegui il comando
gcloud compute addresses create
per allocare un intervallo di indirizzi IP.gcloud compute addresses create
google-managed-services-default \ --global --purpose=VPC_PEERING --prefix-length=16 \ --description="peering range for Google" --network=default -
Esegui il comando
gcloud services vpc-peerings connect
per creare una connessione privata all'intervallo di indirizzi IP allocati. Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \ --ranges=
google-managed-services-default --network=default \ --project=YOUR_PROJECT_ID
Creare un'istanza con indirizzo IP privato e SSL abilitati
-
Prima di eseguire il comando come segue, sostituisci DB_ROOT_PASSWORD con la password dell'utente del database.
- --database-version: il tipo e la versione del motore del database. Se non viene specificato, viene utilizzato il valore predefinito dell'API. Consulta la documentazione sulle versioni del database gcloud per conoscere le versioni attualmente disponibili.
- --cpu: il numero di core della macchina.
- --memory: un valore intero che indica la quantità di memoria da includere nella macchina. È possibile fornire un'unità di misura (ad esempio 3072 MB o 9 GB). Se non vengono specificate unità di misura, viene assunto il valore GB.
- --region: la posizione regionale dell'istanza
(ad esempio asia-east1, us-east1). Se non specificato, viene utilizzato il valore predefinito
us-central1
. Consulta l'elenco completo delle regioni. Esegui il comando
gcloud sql instances patch
per attivare l'opzione Consenti solo connessioni SSL per l'istanza.
Se vuoi, modifica i valori dei seguenti parametri:
Esegui il comando gcloud
sql instances create
per creare un'istanza Cloud SQL con un indirizzo IP privato.
gcloud sql instances createquickstart-instance \ --database-version=POSTGRES_14 \ --cpu=1 \ --memory=4GB \ --region=us-central \ --root-password=DB_ROOT_PASSWORD \ --no-assign-ip \ --network=default
gcloud sql instances patchquickstart-instance --require-ssl
Crea un database
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Seleziona
quickstart-instance
. - Nel menu di navigazione SQL, seleziona Database.
- Fai clic su Crea database.
- Nel campo Nome database della finestra di dialogo Nuovo database, inserisci
quickstart-db
. - Fai clic su Crea.
Esegui il comando gcloud
sql databases create
per creare un database.
gcloud sql databases createquickstart-db --instance=quickstart-instance
Crea un utente
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
- Nel menu di navigazione SQL, seleziona Utenti.
- Fai clic su Aggiungi account utente.
- Nella pagina Aggiungi un account utente per l'istanza quickstart,
aggiungi le seguenti informazioni:
- Nel campo Nome utente, inserisci
quickstart-user
. - Nel campo Password, specifica una password per l'utente del database. Prendi nota di questo valore per utilizzarlo in un passaggio successivo di questa guida rapida.
- Nel campo Nome utente, inserisci
- Fai clic su Aggiungi.
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
- DB_PASS con una password per l'utente del database. Prendi nota di questo valore per utilizzarlo in un passaggio successivo di questa guida rapida.
Esegui il comando gcloud sql users create
per creare l'utente.
gcloud sql users createquickstart-user \ --instance=quickstart-instance \ --password=DB_PASS
I limiti di lunghezza del nome utente sono gli stessi per Cloud SQL e per PostgreSQL on-premise.
Configura un account di servizio Cloud Run Functions
-
Nella console Google Cloud, vai alla pagina IAM.
- Per l'account di servizio denominato Account di servizio predefinito Compute Engine, fai clic sull'icona a forma di matita.
- Fai clic su AGGIUNGI UN ALTRO RUOLO.
- Aggiungi il ruolo denominato Client Cloud SQL.
- Fai clic su Salva.
-
Esegui il seguente comando
gcloud
per ottenere un elenco degli account di servizio del tuo progetto:gcloud iam service-accounts list
- Copia EMAIL dell'account di servizio Compute Engine.
- Esegui il seguente comando per aggiungere il ruolo Client Cloud SQL
all'account di servizio Compute Engine:
gcloud projects add-iam-policy-binding
YOUR_PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_EMAIL " \ --role="roles/cloudsql.client"
Crea una funzione
-
Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.
- Fai clic su Crea funzione.
- Per Ambiente, seleziona 2ª gen..
- Nel campo Nome funzione, inserisci
quickstart-function
. - Nella regione Autenticazione, seleziona Consenti chiamate non autenticate.
- Fai clic su Avanti.
- Dal menu Runtime, seleziona una delle seguenti lingue:
- Nel menu Codice sorgente, verifica che sia selezionato Editor incorporato. In questo passaggio, utilizzerai la funzione predefinita fornita nell'editor.
Lingua | Numero di versione |
---|---|
Vai | 1,20 |
Java | 17 |
Node.js | 18 |
Python | 3.10 |
esegui il deployment della funzione
- In fondo alla pagina Funzioni Cloud Run, fai clic su Esegui il deployment. La console Google Cloud ti reindirizza alla pagina dei dettagli della funzione.
- Al termine del deployment della funzione, fai clic sul link URL per visualizzare
un browser web che mostra il messaggio
Hello, World!
.
Esegui il deployment dell'app di esempio Cloud SQL come funzione
Configura e esegui il deployment dell'app di esempio Cloud SQL come funzione nelle funzioni Cloud Run. Innanzitutto, utilizza Cloud Shell per configurare e compilare l'app di esempio. Poi, utilizza le funzioni Cloud Run per eseguire il deployment dell'app di esempio.
Esistono due modi per configurare, compilare ed eseguire il deployment dell'app, a seconda che tu abbia creato un'istanza Cloud SQL per PostgreSQL con un IP pubblico o privato.
Configura un'app di esempio Cloud SQL
IP pubblico
Per i percorsi IP pubblici, le funzioni Cloud Run forniscono la crittografia e si connettono utilizzando il proxy di autenticazione Cloud SQL tramite socket Unix.- Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
- Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID - Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
gcloud builds submit
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
- Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID - Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
mvn
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
- Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID - Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
gcloud builds submit
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
- Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
- Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID - Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
gcloud builds submit
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
IP privato
Per i percorsi IP privati, l'applicazione si connette direttamente all'istanza tramite l'accesso VPC serverless. Questo metodo utilizza una socket TCP per connettersi direttamente all'istanza Cloud SQL senza utilizzare il proxy di autenticazione Cloud SQL.Crea e scarica certificati client e server SSL
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su
quickstart-instance
per visualizzare la pagina Panoramica - Fai clic sulla scheda Connessioni.
- Nella sezione Sicurezza, fai clic su Crea certificato client.
- Nella finestra di dialogo Crea un certificato client,
inserisci
quickstart-key
come nome e fai clic su Crea. Nella finestra di dialogo Nuovo certificato SSL creato, fai clic su ogni link di download per scaricare i certificati. Poi, fai clic su Chiudi.
Crea una connessione VPC serverless per le connessioni all'istanza tramite IP privato
-
Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.
- Inserisci
quickstart-connector
in Nome. - Seleziona predefinita dal menu a discesa Rete.
- Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
- Inserisci
10.8.0.0
nella casella di immissione Intervallo IP. - Fai clic su Crea per creare il connettore.
Creare un'app di esempio con certificati SSL
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell - Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID - Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
-
Carica i file dei certificati SSL nella cartella certs.
- Fai clic con il tasto destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
- Seleziona i seguenti file sul computer locale:
client-key.pem
client-cert.pem
server-ca.pem
- Con i tre file del certificato SSL selezionati, fai clic su Apri per completare la procedura di caricamento dei file nell'editor di Cloud Shell.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
gcloud builds submit
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
Crea e scarica certificati client e server SSL
Per gli utenti Java, il connettore fornisce già una connessione sicura, pertanto non è necessario creare e scaricare i certificati client e server SSL.
Crea una connessione VPC serverless per le connessioni all'istanza tramite IP privato
-
Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.
- Inserisci
quickstart-connector
in Nome. - Seleziona predefinita dal menu a discesa Rete.
- Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
- Inserisci
10.8.0.0
nella casella di immissione Intervallo IP. - Fai clic su Crea per creare il connettore.
Creare un'app di esempio
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell - Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID - Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
mvn
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \ -Dimage=
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql \ -DskipTests -Djib.to.credHelper=gcloud -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
Crea e scarica certificati client e server SSL
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su
quickstart-instance
per visualizzare la pagina Panoramica - Fai clic sulla scheda Connessioni.
- Nella sezione Sicurezza, fai clic su Crea certificato client.
- Nella finestra di dialogo Crea un certificato client,
inserisci
quickstart-key
come nome e fai clic su Crea. Nella finestra di dialogo Nuovo certificato SSL creato, fai clic su ogni link di download per scaricare i certificati. Poi, fai clic su Chiudi.
Crea una connessione VPC serverless per le connessioni all'istanza tramite IP privato
-
Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.
- Inserisci
quickstart-connector
in Nome. - Seleziona predefinita dal menu a discesa Rete.
- Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
- Inserisci
10.8.0.0
nella casella di immissione Intervallo IP. - Fai clic su Crea per creare il connettore.
Creare un'app di esempio con certificati SSL
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell - Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID -
Carica i file dei certificati SSL nella cartella certs.
- Fai clic con il tasto destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
- Seleziona i seguenti file sul computer locale:
client-key.pem
client-cert.pem
server-ca.pem
- Con i tre file del certificato SSL selezionati, fai clic su Apri per completare la procedura di caricamento dei file nell'editor di Cloud Shell.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
gcloud builds submit
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
Crea e scarica certificati client e server SSL
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Fai clic su
quickstart-instance
per visualizzare la pagina Panoramica - Fai clic sulla scheda Connessioni.
- Nella sezione Sicurezza, fai clic su Crea certificato client.
- Nella finestra di dialogo Crea un certificato client,
inserisci
quickstart-key
come nome e fai clic su Crea. Nella finestra di dialogo Nuovo certificato SSL creato, fai clic su ogni link di download per scaricare i certificati. Poi, fai clic su Chiudi.
Crea una connessione VPC serverless per le connessioni all'istanza tramite IP privato
-
Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.
- Inserisci
quickstart-connector
in Nome. - Seleziona predefinita dal menu a discesa Rete.
- Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
- Inserisci
10.8.0.0
nella casella di immissione Intervallo IP. - Fai clic su Crea per creare il connettore.
Creare un'app di esempio con certificati SSL
-
Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
Apri l'editor di Cloud Shell - Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per scaricare il codice dell'app di esempio e aprire la directory dell'app di esempio nell'editor di Cloud Shell.
- Al prompt dei comandi di Cloud Shell, nella metà inferiore dello schermo
sotto l'editor di Cloud Shell, esegui il seguente comando per attivare
il progetto. Sostituisci YOUR_PROJECT_ID con l'ID progetto.
gcloud config set project
YOUR_PROJECT_ID -
Carica i file dei certificati SSL nella cartella certs.
- Fai clic con il tasto destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
- Seleziona i seguenti file sul computer locale:
client-key.pem
client-cert.pem
server-ca.pem
- Con i tre file del certificato SSL selezionati, fai clic su Apri per completare la procedura di caricamento dei file nell'editor di Cloud Shell.
-
Esegui il seguente
gcloud artifacts repositories create
comando in Cloud Shell per creare un repository in Artifact Registry denominatoquickstart-repo
nella stessa regione dell'istanza Cloud SQL. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud artifacts repositories create quickstart-repo \ --project=
YOUR_PROJECT_ID \ --repository-format=docker \ --location=YOUR_REGION_NAME \ --description="Cloud Function Quickstart Cloud SQL sample app" -
Esegui il comando
gcloud builds submit
come segue in Cloud Shell per creare un container Docker e pubblicarlo in Artifact Registry. Sostituisci YOUR_PROJECT_ID con l'ID del tuo progetto e YOUR_REGION_NAME con il nome della regione.gcloud builds submit \ --tag
YOUR_REGION_NAME -docker.pkg.dev/YOUR_PROJECT_ID /quickstart-repo/function-sql . -
Nella versione
gen2
di Cloud Run Functions, la configurazione e l'esecuzione automatica di Cloud SQL Auth Proxy non sono supportate. Questa funzionalità è supportata dall'utilizzo di Cloud Run. Devi rivedere manualmente il servizio Cloud Run sottostante per configurare ed eseguire il proxy di autenticazione Cloud SQL con il servizio utilizzando il flag--add-cloudsql-instances
. Sostituisci INSTANCE_CONNECTION_NAME con il nome di connessione dell'istanza.gcloud run deploy quickstart-function --source . \ --region
YOUR_REGION_NAME \ --add-cloudsql-instancesINSTANCE_CONNECTION_NAME
Esegui il deployment dell'app di esempio
I passaggi per eseguire il deployment dell'esempio nelle funzioni Cloud Run dipendono dal tipo di indirizzo IP assegnato all'istanza Cloud SQL.
IP pubblico
-
Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.
- Seleziona il
quickstart-function
che hai creato in un passaggio precedente di questa guida rapida. - Nella pagina Dettagli funzione, fai clic sul link nel riquadro Basato su Cloud Run per accedere al servizio di funzioni Cloud Run sottostante.
- Fai clic su Modifica ed esegui il deployment di una nuova revisione.
- Nel campo URL immagine container, fai clic su Seleziona.
- Seleziona la scheda Registry degli elementi ed espandi il nodo
quickstart-repo
. - Espandi il contenitore
function-sql
e seleziona l'immagine del contenitore creata nel passaggio precedente. - Fai clic su Seleziona.
- Crea le seguenti variabili di ambiente facendo clic su Aggiungi variabile nella sezione Variabili di ambiente:
- INSTANCE_UNIX_SOCKET: impostato su
/cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance
. - DB_NAME: impostato su
quickstart-db
. - DB_USER: impostato su
quickstart-user
. - DB_PASS: imposta la password di
quickstart-user
specificata nel passaggio precedente della guida rapida Creare un utente. -
Attiva la connessione a Cloud SQL:
- Nella sezione Connessioni Cloud SQL, fai clic su Aggiungi connessione.
- Seleziona il nome di connessione dell'istanza.
- Nella parte inferiore della pagina, fai clic su Esegui il deployment.
- Dopo il deployment di quickstart-function, la pagina Dettagli del servizio visualizza un URL del servizio in esecuzione. Fai clic sul link URL per visualizzare
l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment e collegata a Cloud SQL.
L'app dovrebbe essere simile alla seguente:
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
-
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente - Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
-
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente - Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
-
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente - Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
-
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente - Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \
--gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
IP privato
-
Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.
- Seleziona il
quickstart-function
che hai creato in un passaggio precedente di questa guida rapida. - Nella pagina Dettagli funzione, fai clic sul link nel riquadro Basato su Cloud Run per accedere al servizio di funzioni Cloud Run sottostante.
- Fai clic su Modifica ed esegui il deployment di una nuova revisione.
- Nel campo URL immagine container, fai clic su Seleziona.
- Seleziona la scheda Registry degli elementi ed espandi il nodo
quickstart-repo
. - Espandi il contenitore
function-sql
e seleziona l'immagine del contenitore creata nel passaggio precedente. - Fai clic su Seleziona.
- Crea le seguenti variabili di ambiente facendo clic su Aggiungi variabile nella sezione Variabili di ambiente:
DB_NAME
: impostato suquickstart-db
.DB_USER
: impostato suquickstart-user
.DB_PASS
: imposta la password diquickstart-user
specificata nel passaggio precedente della procedura di creazione di un utente.INSTANCE_CONNECTION_NAME
: imposta il nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud.DB_PORT
: impostato su5432
.INSTANCE_HOST
: imposta l'indirizzo IP privato della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud.DB_ROOT_CERT
: impostato sucerts/server-ca.pem
.DB_CERT
: impostato sucerts/client-cert.pem
.DB_KEY
: impostato sucerts/client-key.pem
.PRIVATE_IP
: impostato suTRUE
.-
Attiva la connessione a Cloud SQL:
- Nella sezione Connessioni Cloud SQL, fai clic su Aggiungi connessione.
- Seleziona il nome di connessione dell'istanza.
- Seleziona
default: Serverless VPC Access Connector "quickstart-connector"
dal menu a discesa Rete VPC. - Seleziona l'opzione Instrada tutto il traffico attraverso il connettore VPC.
- Nella parte inferiore della pagina, fai clic su Esegui il deployment.
- Dopo il deployment di quickstart-function, la pagina Dettagli del servizio visualizza un URL del servizio in esecuzione. Fai clic sul link URL per visualizzare
l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment e collegata a Cloud SQL.
L'app dovrebbe essere simile alla seguente:
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
- PRIVATE_IP_ADDRESS con l'indirizzo IP privato dell'istanza Cloud SQL visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente -
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
- Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Gli utenti Java devono eseguire il comando gcloud functions deploy
senza i flag INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
e PRIVATE_IP
,
come segue, per creare funzioni Cloud Run
perché il connettore Java fornisce già una connessione sicura:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
- PRIVATE_IP_ADDRESS con l'indirizzo IP privato dell'istanza Cloud SQL visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente -
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
- Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Gli utenti Java devono eseguire il comando gcloud functions deploy
senza i flag INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
e PRIVATE_IP
,
come segue, per creare funzioni Cloud Run
perché il connettore Java fornisce già una connessione sicura:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
- PRIVATE_IP_ADDRESS con l'indirizzo IP privato dell'istanza Cloud SQL visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente -
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
- Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Gli utenti Java devono eseguire il comando gcloud functions deploy
senza i flag INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
e PRIVATE_IP
,
come segue, per creare funzioni Cloud Run
perché il connettore Java fornisce già una connessione sicura:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
- Per eseguire il deployment di una funzione
gen2
in Cloud Run, esegui il seguentegcloud functions deploy
comando. Prima di eseguire il comando, aggiorna le seguenti variabili: - YOUR_REGION_NAME con il nome della regione
- PRIVATE_IP_ADDRESS con l'indirizzo IP privato dell'istanza Cloud SQL visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
-
DB_PASS con la password di
quickstart-user
che hai creato nel passaggio precedente della procedura di creazione di un utente -
INSTANCE_CONNECTION_NAME con il nome della connessione della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud
- Quando viene visualizzato un messaggio di conferma che indica che le funzioni Cloud Run sono state di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio delle funzioni Cloud Run di cui è stato eseguito il deployment collegata a Cloud SQL.
Esegui il comando gcloud functions deploy
come segue per creare funzioni Cloud Run:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_PORT=5432 \ --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \ --set-env-vars DB_CERT=certs/client-cert.pem \ --set-env-vars DB_KEY=certs/client-key.pem \ --set-env-vars PRIVATE_IP=TRUE
Gli utenti Java devono eseguire il comando gcloud functions deploy
senza i flag INSTANCE_HOST
, DB_PORT
, DB_ROOT_CERT
, DB_CERT
, DB_KEY
e PRIVATE_IP
,
come segue, per creare funzioni Cloud Run
perché il connettore Java fornisce già una connessione sicura:
gcloud functions deploy quickstart-function \ --gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --regionYOUR_REGION_NAME \ --vpc-connector=quickstart-connector \ --vpc-egress=all-traffic \ --set-env-vars DB_NAME=quickstart-db \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \ --set-env-vars PRIVATE_IP=TRUE
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, segui questi passaggi.
-
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
- Seleziona l'istanza
quickstart-instance
per aprire la pagina Dettagli istanza. - Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
- Nella finestra di dialogo Elimina istanza, digita
quickstart-instance
e fai clic su Elimina per eliminare l'istanza. -
Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.
- Seleziona la casella di controllo accanto al nome del servizio
quickstart-function
. - Fai clic su Elimina nella parte superiore della pagina Funzioni Cloud Run.
Passaggi facoltativi per la pulizia
Se non utilizzi il ruolo Client Cloud SQL che hai assegnato all'account di servizio Compute Engine, puoi rimuoverlo.
-
Nella console Google Cloud, vai alla pagina IAM.
- Fai clic sull'icona di modifica (a forma di matita) per l'account IAM denominato Account di servizio predefinito Compute Engine.
- Elimina il ruolo Client Cloud SQL.
- Fai clic su Salva.
Se non utilizzi le API attivate nell'ambito di questa guida rapida, puoi disattivarle.
- API abilitate in questa guida rapida:
- API Compute Engine
- API Cloud SQL Admin
- API Cloud Run
- API Container Registry
- API Cloud Build
Nella console Google Cloud, vai alla pagina API.
Seleziona l'API che vuoi disattivare e fai clic sul pulsante Disattiva API.
Passaggi successivi
In base alle tue esigenze, puoi scoprire di più sulla creazione di istanze Cloud SQL.Puoi anche scoprire come creare utenti e database PostgreSQL per la tua istanza Cloud SQL.
Per ulteriori informazioni sui prezzi, consulta la pagina Prezzi di Cloud SQL per PostgreSQL.
Scopri di più su:
- Configurare l'istanza Cloud SQL con un indirizzo IP pubblico.
- Configurare l'istanza Cloud SQL con un indirizzo IP privato.
Inoltre, puoi scoprire come connetterti a un'istanza Cloud SQL da altre applicazioni Google Cloud: