Scopri come eseguire il deployment di un'app di esempio su Cloud Run connessa 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.
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.
Cloud Shell può essere utilizzato 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 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.
gcloud
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.
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.
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.
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.
Per aprire la pagina Panoramica di un'istanza, fai clic sul nome dell'istanza.
Seleziona Utenti dal menu di navigazione SQL.
Fai clic su Aggiungi account utente.
Nella pagina Aggiungi un account utente all'istanza instance_name,
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.
Fai clic su Aggiungi.
gcloud
Prima di eseguire il comando seguente, effettua le seguenti sostituzioni:
PASSWORD con una password per l'utente del database.
Prendi nota di questo valore per utilizzarlo in un passaggio successivo di questa guida rapida.
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 Cloud SQL, un database e un account di servizio con autorizzazioni client, ora puoi configurare un'applicazione di esempio per connetterti all'istanza 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 scaricare il codice dell'app di esempio e aprire 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.
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.
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.
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 una socket TCP per connettersi direttamente all'istanza Cloud SQL senza utilizzare il proxy di autenticazione Cloud SQL.
Vai
Crea e scarica 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 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 scaricare il codice dell'app di esempio e aprire 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 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 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 contenitore e seleziona Servizio per visualizzare il modulo Crea servizio.
Fai clic sul pulsante Seleziona nel campo di immissione URL immagine container.
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 di 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: impostato 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 di quickstart-user che hai creato nel passaggio precedente della procedura di creazione di un utente.
Attiva 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 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 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 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 contenitore e seleziona Servizio per visualizzare il modulo Crea servizio.
Mantieni 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 che hai creato nel passaggio precedente.
Inserisci quickstart-service in Nome servizio.
Nella sezione Autenticazione, seleziona
l'opzione Allow unauthenticated invocations. Se
non disponi delle autorizzazioni (ruolo Amministratore di Cloud Run) per selezionare
questa opzione, il servizio verrà dispiegato e richiederà l'autenticazione.
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: 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: impostato sull'indirizzo IP privato dell'istanza come indicato nella pagina Panoramica dell'istanza Cloud SQL.
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.
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 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.
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 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 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.
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-12-22 UTC."],[],[]]