Scopri come eseguire il deployment di un'app di esempio su Cloud Run collegata a un'istanza PostgreSQL utilizzando la console Google Cloud e un'applicazione client.
Supponendo che tu completi tutti i passaggi in modo tempestivo, le risorse create in questa guida rapida costano in genere meno di un dollaro.
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Aiuto:
Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
Fai clic sul pulsante seguente per aprire Cloud Shell, che fornisce l'accesso tramite riga di comando alle risorse Google Cloud direttamente dal browser.
Puoi utilizzare Cloud Shell per eseguire i comandi gcloud presentati in questa guida rapida.
Nel campo ID istanza, inserisci quickstart-instance.
Nel campo Password, inserisci una password per
l'utente Postgres. Salva questa password per usarla in futuro.
Nella sezione Scegli la disponibilità a livello di regione e zona, seleziona Zona singola.
Fai clic sul menu Mostra opzioni di configurazione.
Nell'elenco a discesa Tipo di macchina, seleziona Leggera.
Fai clic su Crea istanza, quindi attendi che l'istanza venga inizializzata e avviata.
gcloud
Prima di eseguire il comando come segue, sostituisci DB_ROOT_PASSWORD
con la password dell'utente del database.
Facoltativamente, modifica i valori dei seguenti parametri:
--database-version: il tipo e la versione del motore del database.
Se non specificato, viene utilizzato il valore predefinito dell'API.
Consulta la documentazione relativa alle versioni di database gcloud per vedere le versioni attuali disponibili.
--cpu: il numero di core desiderati nella macchina.
--memory: valore di un numero intero che indica la quantità di memoria desiderata per la macchina. È necessario fornire un'unità di dimensione (ad esempio, 3072 MB o 9 GB). Se non vengono specificate unità, vengono utilizzati i GB.
--region: località regionale dell'istanza
(ad esempio asia-east1, us-east1). Se non specificato, viene utilizzato il valore predefinito us-central.
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 allocato. Sostituisci YOUR_PROJECT_ID con l'ID del progetto.
Crea 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.
Facoltativamente, modifica i valori dei seguenti parametri:
--database-version: il tipo e la versione del motore del database.
Se non specificato, viene utilizzato il valore predefinito dell'API.
Consulta la documentazione relativa alle versioni di database gcloud per vedere le versioni attuali disponibili.
--cpu: il numero di core nella macchina.
--memory: un valore numerico intero che indica la quantità di memoria da includere nella macchina. È possibile fornire un'unità di dimensione (ad esempio, 3072 MB o 9 GB). Se non vengono specificate unità, vengono utilizzati i GB.
--region: la località 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.
I limiti di lunghezza del nome utente sono gli stessi per Cloud SQL e per PostgreSQL on-premise.
Esegui il deployment dell'app di esempio in Cloud Run
Configura un account di servizio Cloud Run
Configura l'account di servizio utilizzato da Cloud Run in modo che disponga del ruolo Client Cloud SQL con le autorizzazioni per la connessione a Cloud SQL.
Con un'istanza, un database e un account di servizio Cloud SQL con autorizzazioni client, ora puoi configurare un'applicazione di esempio per la connessione alla tua istanza Cloud SQL.
IP pubblico
Per i percorsi IP pubblici, Cloud Run fornisce la crittografia e si connette tramite il proxy di autenticazione Cloud SQL tramite socket Unix.
Go
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.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
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.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
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.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
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.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
Per i percorsi IP privati, l'applicazione si connette direttamente all'istanza tramite l'accesso VPC serverless. Questo metodo utilizza un socket TCP per la connessione direttamente all'istanza Cloud SQL senza utilizzare il proxy di autenticazione Cloud SQL.
Go
Creare e scaricare certificati client e server SSL
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.
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.
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 sulla tua macchina locale:
client-key.pem
client-cert.pem
server-ca.pem
Con i tre file di certificati SSL selezionati, fai clic su Apri per completare il processo di caricamento dei file nell'editor di Cloud Shell.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
Creare e scaricare certificati client e server SSL
Per gli utenti Java, il connettore fornisce già una connessione protetta in modo che la creazione e il download di certificati client e server SSL non siano necessari.
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.
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.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
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.
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 sulla tua macchina locale:
client-key.pem
client-cert.pem
server-ca.pem
Con i tre file di certificati SSL selezionati, fai clic su Apri per completare il processo di caricamento dei file nell'editor di Cloud Shell.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
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.
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 sulla tua macchina locale:
client-key.pem
client-cert.pem
server-ca.pem
Con i tre file di certificati SSL selezionati, fai clic su Apri per completare il processo di caricamento dei file nell'editor di Cloud Shell.
Esegui questo comando in Cloud Shell per creare un container Docker e pubblicarlo in Container Registry.
Sostituisci YOUR_PROJECT_ID con l'ID progetto del tuo progetto.
Fai clic sul pulsante Seleziona nella casella di testo di input URL immagine contenitore.
Seleziona l'immagine container gcr.io/YOUR_PROJECT_ID/run-sql creata nel passaggio precedente.
Nel campo Nome servizio, inserisci quickstart-service.
Nella sezione Autenticazione, seleziona l'opzione Allow unauthenticated invocations.
Espandi la sezione
Container, variabili e secret, connessioni, sicurezza
.
Crea il seguente Environment variables facendo clic su Aggiungi variabile in Variabili di ambiente. Imposta i valori per le variabili di ambiente come segue:
INSTANCE_UNIX_SOCKET: imposta su /cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance.
INSTANCE_CONNECTION_NAME: impostato sul Nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL nella console Google Cloud.
DB_NAME: impostato su quickstart-db
DB_USER: impostato su quickstart-user
DB_PASS: imposta la password del dispositivo quickstart-user creato nel passaggio precedente della guida rapida Creare un utente.
Abilita la connessione a Cloud SQL:
Fai clic sulla scheda Connessioni.
Fai clic sul pulsante Aggiungi connessione nella sezione Connessioni Cloud SQL.
Seleziona la quickstart-instance che hai creato in precedenza dal menu a discesa.
Fai clic su Crea per creare il servizio Cloud Run.
Dopo aver eseguito il deployment del servizio Cloud Run, nella pagina Dettagli servizio viene visualizzato l'URL del servizio in esecuzione nella parte superiore della pagina.
Fai clic sul link URL per visualizzare l'app di esempio di cui è stato eseguito il deployment su Cloud Run connesso a Cloud SQL.
gcloud
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
YOUR_PROJECT_ID con l'ID progetto.
INSTANCE_CONNECTION_NAME con il Nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL nella console Google Cloud.
DB_PASS con la password dell'elemento quickstart-user che hai creato nel passaggio precedente della guida rapida Creare un utente.
Esegui il comando gcloud run deploy come segue per creare il servizio Cloud Run:
Inserisci la scelta numerica fornita per us-central1 quando ti viene richiesto di specificare una regione.
Quando viene visualizzato un messaggio che conferma l'esecuzione del deployment del servizio Cloud Run, fai clic sul link URL del servizio nel messaggio per visualizzare l'app di esempio su Cloud Run connessa a Cloud SQL.
IP privato
Console
Nella console Google Cloud, vai alla pagina Cloud Run.
Conserva l'opzione di deployment da un'immagine container esistente e fai clic su Seleziona per specificare l'immagine container gcr.io/YOUR_PROJECT_ID/run-sql creata nel passaggio precedente.
Inserisci quickstart-service in Nome servizio.
Nella sezione Autenticazione, seleziona l'opzione Allow unauthenticated invocations.
Espandi la sezione
Container, variabili e secret, connessioni, sicurezza
.
Crea le seguenti variabili di ambiente facendo clic su Aggiungi variabile in Variabili di ambiente. Imposta i valori per le variabili di ambiente come segue:
DB_NAME: imposta su quickstart-db.
DB_USER: imposta su quickstart-user.
DB_PASS: imposta la password dell'elemento quickstart-user specificato nel passaggio precedente della guida rapida Creare un utente.
INSTANCE_CONNECTION_NAME: imposta il Nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL nella console Google Cloud.
DB_PORT: imposta su 5432.
INSTANCE_HOST: impostato sull'indirizzo IP privato dell'istanza, come indicato nella pagina Panoramica dell'istanza Cloud SQL.
DB_ROOT_CERT: imposta su certs/server-ca.pem.
DB_CERT: imposta su certs/client-cert.pem.
DB_KEY: imposta su certs/client-key.pem.
PRIVATE_IP: imposta su TRUE.
Abilita la connessione a Cloud SQL:
Fai clic su Connessioni.
Fai clic su Aggiungi connessione nella sezione Connessioni Cloud SQL.
Seleziona l'istanza Cloud SQL quickstart-instance creata in precedenza.
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.
Fai clic su Crea per creare il servizio Cloud Run.
Dopo aver eseguito il deployment del servizio Cloud Run, nella pagina Dettagli servizio viene visualizzato l'URL del servizio in esecuzione nella parte superiore della pagina.
Fai clic sul link URL per visualizzare l'app di esempio di cui è stato eseguito il deployment su Cloud Run connesso a Cloud SQL.
gcloud
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
YOUR_PROJECT_ID con l'ID progetto.
INSTANCE_CONNECTION_NAME con il Nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL nella console Google Cloud.
DB_PASS con la password dell'elemento quickstart-user che hai creato nel passaggio precedente della guida rapida Creare un utente.
INSTANCE_HOST con l'indirizzo IP privato della tua istanza. Vai alla pagina Panoramica dell'istanza Cloud SQL
dove viene visualizzato l'indirizzo IP privato dell'istanza.
Esegui il comando gcloud run deploy come segue per creare il servizio Cloud Run:
Gli utenti Java devono eseguire il comando gcloud run deploy senza i flag INSTANCE_HOST, DB_ROOT_CERT, DB_CERT, DB_KEY e PRIVATE_IP --set-env-vars come segue, per creare il servizio Cloud Run perché il connettore Java già fornisce una connessione sicura:
Inserisci la scelta numerica fornita per us-central1 quando ti viene richiesto di specificare una regione.
Quando viene visualizzato un messaggio che conferma l'esecuzione del deployment del servizio Cloud Run, fai clic sul link URL del servizio nel messaggio per visualizzare l'app di esempio su Cloud Run connessa a Cloud SQL.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.
Nella console Google Cloud, vai alla pagina Istanze Cloud SQL.