Scopri come eseguire il deployment di un'app di esempio su Cloud Run
connesso a un'istanza PostgreSQL mediante la console Google Cloud e un client
un'applicazione.
Supponendo che completi tutti i passaggi in modo tempestivo, le risorse
create in questa guida rapida in genere costano meno di un dollaro (USD).
Per seguire le indicazioni dettagliate per questa attività direttamente nella console Google Cloud, fai clic su Procedura guidata:
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.
Fai clic sul seguente pulsante per aprire Cloud Shell, che fornisce accesso da riga di comando alle risorse Google Cloud direttamente dal browser.
Puoi utilizzare Cloud Shell per eseguire i comandi gcloud presentati in questa guida rapida.
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 un uso 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 con 4 vCPU, 32 GB.
Fai clic su Crea istanza e attendi
fino all'inizializzazione e all'avvio dell'istanza.
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 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
desiderato nella macchina.
--memory: il valore numerico intero che indica come
desiderata nella macchina. L'unità di misura deve essere
forniti (ad esempio, 3072 MB o 9 GB). Se non viene specificata alcuna unità,
si presume GB.
--region: posizione regionale dell'istanza
(ad esempio asia-east1, us-east1). Se non specificato, viene utilizzato il valore predefinito
us-central.
gcloudcomputeaddressescreategoogle-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.
Crea un'istanza con indirizzo IP privato e SSL abilitato
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 viene specificato, viene utilizzato il valore predefinito dell'API.
Consulta le versioni del database gcloud
documentazione per conoscere le versioni attualmente disponibili.
--cpu: il numero di core nella macchina.
--memory: un valore intero che indica la quantità di memoria da includere nella macchina. L'unità di misura può essere
forniti (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.
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 connettersi a Cloud SQL.
Con un'istanza, un database e un account di servizio Cloud SQL con client
autorizzazioni, puoi configurare un'applicazione di esempio per connetterti
di Cloud SQL.
IP pubblico
Per i percorsi IP pubblici, Cloud Run fornisce la crittografia e si connette utilizzando il proxy di autenticazione Cloud SQL tramite socket Unix.
Vai
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
scarica il codice dell'app di esempio e apri la directory dell'app di esempio nell'editor di Cloud Shell.
Esegui il seguente 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
scarica il codice dell'app di esempio e apri la directory dell'app di esempio nell'editor di Cloud Shell.
Esegui il seguente 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 relativa directory 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 relativa directory nell'editor di Cloud Shell.
Esegui il seguente 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
connettersi direttamente all'istanza Cloud SQL senza utilizzare il proxy di autenticazione Cloud SQL.
Vai
Creazione e download di certificati server e client 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 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 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 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.
Nella finestra di dialogo Apri in Cloud Shell, fai clic su Conferma per
scarica il codice dell'app di esempio e apri la directory dell'app di esempio nell'editor di Cloud Shell.
Esegui il seguente 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 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 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
scarica il codice dell'app di esempio e apri 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 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 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 su Crea container e seleziona Servizio per visualizzare il
Modulo Crea servizio.
Fai clic sul pulsante Seleziona nel campo di immissione Container image URL.
Seleziona l'immagine container gcr.io/YOUR_PROJECT_ID/run-sql che hai creato nel passaggio precedente.
Nel campo Nome servizio, inserisci quickstart-service.
Nella sezione Autenticazione, seleziona
l'opzione Allow unauthenticated invocations. Se
non disponi delle autorizzazioni (ruolo Amministratore Cloud Run) per selezionare
questa opzione, il servizio verrà dispiegato e richiederà l'autenticazione.
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: impostata su /cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance.
INSTANCE_CONNECTION_NAME: impostato sul nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL della console Google Cloud.
DB_NAME: impostato su quickstart-db
DB_USER: impostato su quickstart-user
DB_PASS: imposta la password del quickstart-user che hai creato nel precedente passaggio 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 il quickstart-instance creato in precedenza dal menu a discesa.
Fai clic su Crea per creare il servizio Cloud Run.
Dopo il deployment del servizio Cloud Run, la pagina Dettagli del servizio mostra 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 in Cloud Run connessa a
in Cloud SQL.
gcloud
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
YOUR_PROJECT_ID con il tuo ID progetto.
INSTANCE_CONNECTION_NAME con il Nome connessione dell'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 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 chiesto di specificare una regione.
Quando viene visualizzato un messaggio di conferma che indica che il servizio Cloud Run è stato di cui è stato eseguito il deployment, fai clic sul link URL servizio nel messaggio per visualizzare l'app di esempio su Cloud Run collegata a Cloud SQL.
IP privato
Console
Nella console Google Cloud, vai alla pagina Cloud Run.
Fai clic su Crea container e seleziona Servizio per visualizzare il
Modulo Crea servizio.
Mantieni l'opzione per eseguire il deployment da un'immagine container esistente e fai clic su Seleziona per specificare l'immagine container gcr.io/YOUR_PROJECT_ID/run-sql che hai creato nel passaggio precedente.
Inserisci quickstart-service nel campo Nome servizio.
Nella sezione Autenticazione, seleziona
l'opzione Allow unauthenticated invocations. Se
non disponi delle autorizzazioni necessarie (ruolo Amministratore di Cloud Run) da selezionare
questo, il servizio eseguirà il deployment e richiederà l'autenticazione.
Espandi
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: impostato su quickstart-db.
DB_USER: impostata su quickstart-user.
DB_PASS: imposta la password del quickstart-user specificato nel precedente passaggio della guida rapida Creare 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: impostato sull'indirizzo IP privato dell'istanza
come indicato nella pagina Panoramica dell'istanza Cloud SQL.
DB_ROOT_CERT: impostata su certs/server-ca.pem.
DB_CERT: impostata su certs/client-cert.pem.
DB_KEY: impostato su certs/client-key.pem.
PRIVATE_IP: impostato su TRUE.
Attiva 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 che hai creato 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 il deployment del servizio Cloud Run, la pagina Dettagli del servizio mostra 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 e collegata a Cloud SQL.
gcloud
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
YOUR_PROJECT_ID con il tuo ID progetto.
INSTANCE_CONNECTION_NAME con il Nome connessione dell'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 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
poiché il connettore Java fornisce già una connessione sicura:
Inserisci la scelta numerica fornita per us-central1 quando ti viene chiesto di specificare una regione.
Quando viene visualizzato un messaggio che conferma che il deployment del servizio Cloud Run è stato eseguito, fai clic sull'icona
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.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2024-10-25 UTC."],[],[]]