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

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. 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.

    Abilita le API

    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.

    Apri Cloud Shell

    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
  5. Aggiungi al tuo utente il ruolo IAM Invoker delle funzioni Cloud Run.

    Aggiungi il ruolo

Configura Cloud SQL

Crea un'istanza Cloud SQL

IP pubblico

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su Crea istanza.
  3. Fai clic su Scegli PostgreSQL.
  4. Assicurati che Enterprise Plus sia selezionata come versione Cloud SQL per l'istanza.
  5. Nel campo ID istanza, inserisci quickstart-instance.
  6. Nel campo Password, inserisci una password per l'utente postgres. Salva questa password per utilizzarla in futuro.
  7. Nella sezione Scegli la disponibilità per regione e zona, seleziona Zona singola.
  8. Fai clic sul menu Mostra opzioni di configurazione.
  9. Espandi il nodo Configurazione macchina.
  10. Nella regione Forme di macchine, seleziona la forma 4 vCPU, 32 GB.
  11. 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 create quickstart-instance \
--database-version=POSTGRES_14 \
 --cpu=1 \
 --memory=4GB \
 --region=us-central \
 --root-password=DB_ROOT_PASSWORD

Alloca un intervallo di indirizzi IP e crea una connessione privata per configurare l'accesso privato ai servizi per Cloud SQL

  1. Nella console Google Cloud, vai alla pagina Reti VPC.

    Vai a Reti VPC

  2. Seleziona la rete VPC default.
  3. Seleziona la scheda Connessione ai servizi privati.
  4. Seleziona la scheda Intervalli IP allocati per i servizi.
  5. Fai clic su Assegna intervallo IP.
  6. Per il Nome dell'intervallo allocato, specifica google-managed-services-default.
  7. Seleziona l'opzione Automatico per l'intervallo IP e specifica la lunghezza del prefisso come 16.
  8. Fai clic su Alloca per creare l'intervallo allocato.
  9. Seleziona la scheda Connessioni private ai servizi per la rete VPC default.
  10. Fai clic su Crea connessione per creare una connessione privata tra la tua rete e un producer di servizi.
  11. Per Allocazione assegnata, seleziona google-managed-services-default.
  12. Fai clic su Connetti per creare la connessione.

Creare un'istanza con indirizzo IP privato e SSL abilitati

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su Crea istanza.
  3. Fai clic su Scegli PostgreSQL.
  4. Assicurati che Enterprise Plus sia selezionata come versione Cloud SQL per l'istanza.
  5. Nel campo ID istanza, inserisci quickstart-instance.
  6. Nel campo Password, inserisci una password per l'utente postgres. Salva questa password per utilizzarla in futuro.
  7. Nella sezione Scegli la disponibilità per regione e zona, seleziona Zona singola.
  8. Fai clic sul menu Mostra opzioni di configurazione.
  9. Espandi il nodo Configurazione macchina.
  10. Nella regione Forme di macchine, seleziona la forma 4 vCPU, 32 GB.
  11. Espandi il nodo Connessioni.
  12. Deseleziona la casella di controllo IP pubblico per creare un'istanza solo con un indirizzo IP privato.
  13. Seleziona la casella di controllo IP privato.
  14. Nel menu Rete, seleziona predefinita.
  15. Fai clic su Crea istanza e attendi l'inizializzazione e l'avvio dell'istanza.
  16. Fai clic su Connessioni.
  17. Nella sezione Sicurezza, seleziona Consenti solo connessioni SSL per attivare le connessioni SSL.
  18. 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

  1. 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
  2. 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

  1. Prima di eseguire il comando come segue, sostituisci DB_ROOT_PASSWORD con la password dell'utente del database.

  2. 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 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 create per creare un'istanza Cloud SQL con un indirizzo IP privato.

    gcloud sql instances create quickstart-instance \
    --database-version=POSTGRES_14 \
     --cpu=1 \
     --memory=4GB \
     --region=us-central \
     --root-password=DB_ROOT_PASSWORD \
     --no-assign-ip \
    --network=default
  3. Esegui il comando gcloud sql instances patch per attivare l'opzione Consenti solo connessioni SSL per l'istanza.

  4. gcloud sql instances patch quickstart-instance --require-ssl

Crea un database

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Seleziona quickstart-instance.
  3. Nel menu di navigazione SQL, seleziona Database.
  4. Fai clic su Crea database.
    1. Nel campo Nome database della finestra di dialogo Nuovo database, inserisci quickstart-db.
    2. Fai clic su Crea.

Esegui il comando gcloud sql databases create per creare un database.

gcloud sql databases create quickstart-db --instance=quickstart-instance

Crea un utente

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
  3. Nel menu di navigazione SQL, seleziona Utenti.
  4. Fai clic su Aggiungi account utente.
  5. 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.
  6. Fai clic su Aggiungi.

Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:

  1. 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 create quickstart-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

Configura l'account di servizio utilizzato dalle funzioni Cloud Run in modo che disponga del ruolo Client Cloud SQL con le autorizzazioni per connettersi a Cloud SQL.
  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Per l'account di servizio denominato Account di servizio predefinito Compute Engine, fai clic sull'icona a forma di matita.
  3. Fai clic su AGGIUNGI UN ALTRO RUOLO.
  4. Aggiungi il ruolo denominato Client Cloud SQL.
  5. Fai clic su Salva.
  1. Esegui il seguente comando gcloud per ottenere un elenco degli account di servizio del tuo progetto:
    gcloud iam service-accounts list
  2. Copia EMAIL dell'account di servizio Compute Engine.
  3. 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

  1. Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.

    Vai alle funzioni Cloud Run

  2. Fai clic su Crea funzione.
  3. Per Ambiente, seleziona 2ª gen..
  4. Nel campo Nome funzione, inserisci quickstart-function.
  5. Nella regione Autenticazione, seleziona Consenti chiamate non autenticate.
  6. Fai clic su Avanti.
  7. Dal menu Runtime, seleziona una delle seguenti lingue:
  8. Lingua Numero di versione
    Vai 1,20
    Java 17
    Node.js 18
    Python 3.10
  9. Nel menu Codice sorgente, verifica che sia selezionato Editor incorporato. In questo passaggio, utilizzerai la funzione predefinita fornita nell'editor.

esegui il deployment della funzione

  1. 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.
  2. 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.
  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.

    Apri l'editor di Cloud Shell

  2. 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.
  3. 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
  4. Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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 .
  7. 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-instances INSTANCE_CONNECTION_NAME
  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.

    Apri l'editor di Cloud Shell

  2. 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.
  3. 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
  4. Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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
  7. 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-instances INSTANCE_CONNECTION_NAME
  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.

    Apri l'editor di Cloud Shell

  2. 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.
  3. 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
  4. Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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 .
  7. 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-instances INSTANCE_CONNECTION_NAME
  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.

    Apri l'editor di Cloud Shell

  2. 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.
  3. 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
  4. Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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 .
  7. 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-instances INSTANCE_CONNECTION_NAME
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

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su quickstart-instance per visualizzare la pagina Panoramica
  3. Fai clic sulla scheda Connessioni.
  4. Nella sezione Sicurezza, fai clic su Crea certificato client.
  5. Nella finestra di dialogo Crea un certificato client, inserisci quickstart-key come nome e fai clic su Crea.
  6. 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

  1. Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.

    Creare un connettore VPC serverless

  2. Inserisci quickstart-connector in Nome.
  3. Seleziona predefinita dal menu a discesa Rete.
  4. Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
  5. Inserisci 10.8.0.0 nella casella di immissione Intervallo IP.
  6. Fai clic su Crea per creare il connettore.

Creare un'app di esempio con certificati SSL

  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
    Apri l'editor di Cloud Shell
  2. 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.
  3. 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
  4. Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
  5. Carica i file dei certificati SSL nella cartella certs.
    1. Fai clic con il tasto destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
    2. Seleziona i seguenti file sul computer locale:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. 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.
  6. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  7. 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 .
  8. 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-instances INSTANCE_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

  1. Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.

    Creare un connettore VPC serverless

  2. Inserisci quickstart-connector in Nome.
  3. Seleziona predefinita dal menu a discesa Rete.
  4. Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
  5. Inserisci 10.8.0.0 nella casella di immissione Intervallo IP.
  6. Fai clic su Crea per creare il connettore.

Creare un'app di esempio

  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
    Apri l'editor di Cloud Shell
  2. 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.
  3. 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
  4. Se viene visualizzata la finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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
  7. 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-instances INSTANCE_CONNECTION_NAME

Crea e scarica certificati client e server SSL

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su quickstart-instance per visualizzare la pagina Panoramica
  3. Fai clic sulla scheda Connessioni.
  4. Nella sezione Sicurezza, fai clic su Crea certificato client.
  5. Nella finestra di dialogo Crea un certificato client, inserisci quickstart-key come nome e fai clic su Crea.
  6. 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

  1. Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.

    Creare un connettore VPC serverless

  2. Inserisci quickstart-connector in Nome.
  3. Seleziona predefinita dal menu a discesa Rete.
  4. Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
  5. Inserisci 10.8.0.0 nella casella di immissione Intervallo IP.
  6. Fai clic su Crea per creare il connettore.

Creare un'app di esempio con certificati SSL

  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
    Apri l'editor di Cloud Shell
  2. 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.
  3. 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
  4. Carica i file dei certificati SSL nella cartella certs.
    1. Fai clic con il tasto destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
    2. Seleziona i seguenti file sul computer locale:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. 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.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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 .
  7. 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-instances INSTANCE_CONNECTION_NAME

Crea e scarica certificati client e server SSL

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Fai clic su quickstart-instance per visualizzare la pagina Panoramica
  3. Fai clic sulla scheda Connessioni.
  4. Nella sezione Sicurezza, fai clic su Crea certificato client.
  5. Nella finestra di dialogo Crea un certificato client, inserisci quickstart-key come nome e fai clic su Crea.
  6. 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

  1. Nella console Google Cloud, vai alla pagina Accesso VPC serverless - Crea connettore.

    Creare un connettore VPC serverless

  2. Inserisci quickstart-connector in Nome.
  3. Seleziona predefinita dal menu a discesa Rete.
  4. Seleziona Intervallo IP personalizzato dal menu a discesa Subnet.
  5. Inserisci 10.8.0.0 nella casella di immissione Intervallo IP.
  6. Fai clic su Crea per creare il connettore.

Creare un'app di esempio con certificati SSL

  1. Nell'editor di Cloud Shell, apri il codice sorgente dell'app di esempio.
    Apri l'editor di Cloud Shell
  2. 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.
  3. 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
  4. Carica i file dei certificati SSL nella cartella certs.
    1. Fai clic con il tasto destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
    2. Seleziona i seguenti file sul computer locale:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. 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.
  5. Esegui il seguente gcloud artifacts repositories create comando in Cloud Shell per creare un repository in Artifact Registry denominato quickstart-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"
  6. 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 .
  7. 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-instances INSTANCE_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

  1. Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.

    Vai alle funzioni Cloud Run

  2. Seleziona il quickstart-function che hai creato in un passaggio precedente di questa guida rapida.
  3. Nella pagina Dettagli funzione, fai clic sul link nel riquadro Basato su Cloud Run per accedere al servizio di funzioni Cloud Run sottostante.
  4. Fai clic su Modifica ed esegui il deployment di una nuova revisione.
  5. Nel campo URL immagine container, fai clic su Seleziona.
    1. Seleziona la scheda Registry degli elementi ed espandi il nodo quickstart-repo.
    2. Espandi il contenitore function-sql e seleziona l'immagine del contenitore creata nel passaggio precedente.
    3. Fai clic su Seleziona.
  6. 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.
  7. Attiva la connessione a Cloud SQL:

    1. Nella sezione Connessioni Cloud SQL, fai clic su Aggiungi connessione.
    2. Seleziona il nome di connessione dell'istanza.
  8. Nella parte inferiore della pagina, fai clic su Esegui il deployment.
  9. 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:

    Visualizza l'app di esempio di cui è stato eseguito il deployment.

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \ --region YOUR_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
  2. 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.

    Visualizza l'app di esempio di cui è stato eseguito il deployment.

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \ --region YOUR_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
  2. 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.

    Visualizza l'app di esempio di cui è stato eseguito il deployment.

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \ --region YOUR_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
  2. 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.

    Visualizza l'app di esempio di cui è stato eseguito il deployment.

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \ --region YOUR_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
  2. 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.

    Visualizza l'app di esempio di cui è stato eseguito il deployment.

  1. Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.

    Vai alle funzioni Cloud Run

  2. Seleziona il quickstart-function che hai creato in un passaggio precedente di questa guida rapida.
  3. Nella pagina Dettagli funzione, fai clic sul link nel riquadro Basato su Cloud Run per accedere al servizio di funzioni Cloud Run sottostante.
  4. Fai clic su Modifica ed esegui il deployment di una nuova revisione.
  5. Nel campo URL immagine container, fai clic su Seleziona.
    1. Seleziona la scheda Registry degli elementi ed espandi il nodo quickstart-repo.
    2. Espandi il contenitore function-sql e seleziona l'immagine del contenitore creata nel passaggio precedente.
    3. Fai clic su Seleziona.
  6. Crea le seguenti variabili di ambiente facendo clic su Aggiungi variabile nella sezione Variabili di ambiente:
    • 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 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 su 5432.
    • INSTANCE_HOST: imposta l'indirizzo IP privato della tua istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud.
    • DB_ROOT_CERT: impostato su certs/server-ca.pem.
    • DB_CERT: impostato su certs/client-cert.pem.
    • DB_KEY: impostato su certs/client-key.pem.
    • PRIVATE_IP: impostato su TRUE.
  7. Attiva la connessione a Cloud SQL:

    1. Nella sezione Connessioni Cloud SQL, fai clic su Aggiungi connessione.
    2. Seleziona il nome di connessione dell'istanza.
    3. Seleziona default: Serverless VPC Access Connector "quickstart-connector" dal menu a discesa Rete VPC.
    4. Seleziona l'opzione Instrada tutto il traffico attraverso il connettore VPC.
  8. Nella parte inferiore della pagina, fai clic su Esegui il deployment.
  9. 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:

    Visualizzare l'app di esempio di cui è stato eseguito il deployment

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \
    --region YOUR_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 \
    --region YOUR_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
  2. 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.

    Visualizzare l'app di esempio di cui è stato eseguito il deployment

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \
    --region YOUR_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 \
    --region YOUR_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
  2. 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.

    Visualizzare l'app di esempio di cui è stato eseguito il deployment

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \
    --region YOUR_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 \
    --region YOUR_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
  2. 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.

    Visualizzare l'app di esempio di cui è stato eseguito il deployment

  1. Per eseguire il deployment di una funzione gen2 in Cloud Run, esegui il seguente gcloud 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

    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 \
    --region YOUR_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 \
    --region YOUR_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
  2. 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.

    Visualizzare l'app di esempio di cui è stato eseguito il deployment

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, segui questi passaggi.

  1. Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.

    Vai a Istanze Cloud SQL

  2. Seleziona l'istanza quickstart-instance per aprire la pagina Dettagli istanza.
  3. Nella barra delle icone nella parte superiore della pagina, fai clic su Elimina.
  4. Nella finestra di dialogo Elimina istanza, digita quickstart-instance e fai clic su Elimina per eliminare l'istanza.
  5. Nella console Google Cloud, vai alla pagina Funzioni Cloud Run.

    Vai alle funzioni Cloud Run

  6. Seleziona la casella di controllo accanto al nome del servizio quickstart-function.
  7. 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.

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai a IAM

  2. Fai clic sull'icona di modifica (a forma di matita) per l'account IAM denominato Account di servizio predefinito Compute Engine.
  3. Elimina il ruolo Client Cloud SQL.
  4. 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
  1. Nella console Google Cloud, vai alla pagina API.

    Vai alle API

  2. 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: