Scopri come eseguire il deployment di un'app di esempio su Cloud Run collegata a un'istanza SQL Server 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.
Prima di iniziare
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.
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.
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
Cloud Run non supporta la connessione a Cloud SQL per SQL Server su IP pubblico. Utilizza invece l'IP privato.
IP privato
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
Crea e scarica il certificato 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 il file del certificato server SSL nella cartella certs.
Fai clic con il pulsante destro del mouse sulla cartella certs nell'editor di Cloud Shell e seleziona Carica file.
Seleziona il seguente file sulla macchina locale: server-ca.pem.
Con il file del certificato server SSL selezionato, fai clic su Apri per completare il processo di caricamento del 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.
Per gli utenti Java, il connettore fornisce già una connessione protetta in modo che la creazione e il download del certificato 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 il file del certificato server 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 il seguente file sulla macchina locale: server-ca.pem.
Con il file del certificato server SSL selezionato, fai clic su Apri per completare il processo di caricamento del 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.
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:
INSTANCE_CONNECTION_NAME: imposta il Nome connessione dell'istanza visualizzato nella pagina Istanze Cloud SQL nella console Google Cloud.
DB_PORT: imposta su 1433.
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.
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 completare la creazione del 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.
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 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.