Connessione da Cloud Run
Questa guida rapida ti illustra la procedura di deployment di un'applicazione di esempio su un servizio Cloud Run utilizzando la console Google Cloud e un'applicazione client. Questa applicazione di esempio connette Cloud Run ad AlloyDB per PostgreSQL.
Codice dell'applicazione di esempio
Il codice dell'applicazione di esempio per questa guida rapida si trova nella directory examples/go del repository GitHub GoogleCloudPlatform/alloydb-auth-proxy.
L'applicazione è scritta nel linguaggio di programmazione Go e funge da strumento
per la raccolta dei voti. La logica principale è contenuta nel file main.go, che avvia un server web e gestisce le richieste degli utenti.
La connessione al database viene configurata utilizzando le variabili di ambiente, che configuri quando crei il servizio Cloud Run. Queste variabili indicano all'applicazione come connettersi all'istanza AlloyDB, inclusi il nome del database, l'utente, la password e l'indirizzo IP dell'istanza. Il codice utilizza queste variabili per stabilire una connessione sicura al database AlloyDB.
Repository di codice
Il repository alloydb-auth-proxy contiene il proxy di autenticazione AlloyDB,
uno strumento che ti aiuta a connetterti in modo sicuro alle tue istanze AlloyDB.
Il repository include anche librerie ed esempi correlati, come l'applicazione Go
utilizzata in questa guida rapida.
Non hai bisogno dell'intero progetto alloydb-auth-proxy per connetterti ad AlloyDB da Cloud Run. Il comando cloudshell_open
clona l'intero repository per comodità, ma gli unici file utilizzati per
creare il container per questa guida rapida si trovano nella directory examples/go.
Prima di iniziare
- 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.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Abilita le API Cloud necessarie per eseguire un'applicazione di esempio AlloyDB per PostgreSQL su Cloud Run.
Nel passaggio Conferma progetto, per confermare il nome del progetto a cui apporterai le modifiche, fai clic su Avanti.
Nel passaggio Abilita API, fai clic su Abilita per abilitare quanto segue:
- API AlloyDB
- API Cloud Run Admin
- API Compute Engine
- API Cloud Build
- API Container Registry
- API Service Networking
- API Cloud Resource Manager
- Assicurati di avere un cluster AlloyDB e un'istanza principale. Per saperne di più, consulta Creare un cluster e la relativa istanza principale.
Se non ti trovi nella pagina Panoramica del cluster appena creato, nella console Google Cloud vai alla pagina Cluster.
Per visualizzare la pagina Panoramica del cluster, fai clic sul nome del cluster
my-cluster.Nel menu di navigazione, fai clic su AlloyDB Studio.
Nell'elenco Database della pagina Accedi ad AlloyDB Studio, seleziona
postgres.Nel menu a discesa Utente, seleziona
postgres.Nel campo Password, inserisci la password che hai creato in Creazione di un cluster e della relativa istanza principale.
Fai clic su Authenticate (Autentica). Nel riquadro Explorer viene visualizzato un elenco degli oggetti nel database.
Nella scheda Editor 1, crea un database:
CREATE DATABASE quickstart_db;Fai clic su Esegui. Attendi che il messaggio
Statement executed successfullyvenga visualizzato nel riquadro Risultati.Vai alla pagina Dashboard nella console Google Cloud .
Trova l'ID progetto nella scheda Informazioni sul progetto.
Prendi nota dell'ID progetto. Ti servirà per il passaggio successivo di questa guida rapida.
Nella console Google Cloud , apri Cloud Shell.
Nell'editor di Cloud Shell, utilizza il seguente comando per clonare il repository con il codice dell'applicazione di esempio da GitHub:
cloudshell_open --repo_url \ "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \ --dir \ "examples/go" \ --force_new_cloneCrea un repository in Artifact Registry per le immagini Docker:
gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_IDSostituisci
PROJECT_IDcon l'ID del tuo progetto.Nella finestra di dialogo Autorizza Cloud Shell, fai clic su Autorizza. Questo prompt non viene visualizzato se hai già eseguito questo passaggio.
Per creare un container Docker e pubblicarlo in Artifact Registry, utilizza il seguente comando:
gcloud builds submit --tag us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy/run-sql --project PROJECT_IDSostituisci
PROJECT_IDcon l'ID del tuo progetto.Il codice dell'applicazione di esempio per questa guida rapida si trova nella directory
examples/godel repository GitHubGoogleCloudPlatform/alloydb-auth-proxy. Il comandocloudshell_opennel passaggio precedente clona automaticamente questo repository e apre la directory corretta.Nella console Google Cloud , vai alla pagina Cluster.
Trova la riga nella tabella il cui Nome risorsa è
my-primary.Prendi nota dell'indirizzo IP privato di questa riga. Ti servirà per il passaggio successivo di questa guida rapida.
Il formato di esempio dell'indirizzo IP è
172.19.209.2:5432.Nella console Google Cloud , vai alla pagina Cloud Run.
Nella scheda Servizi, fai clic su Esegui il deployment del container.
Nella pagina Crea servizio, seleziona l'opzione Esegui il deployment di una revisione da un'immagine container esistente.
Nel campo URL immagine container, fai clic su Seleziona.
Nel riquadro Seleziona immagine container, completa i seguenti passaggi:
- Seleziona la scheda Artifact Registry.
- Espandi
us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy. - Espandi
run-sql. - Seleziona l'immagine più recente.
- Fai clic su Seleziona.
Nel campo Nome servizio, inserisci
quickstart-service.Assicurati che
us-central1 (Iowa)sia selezionata per impostazione predefinita nell'elenco Regione.Nella sezione Autenticazione, seleziona Consenti accesso pubblico.
Assicurati che l'opzione La CPU viene allocata solo durante l'elaborazione delle richieste sia selezionata nella sezione Allocazione e prezzi della CPU.
Espandi la sezione Container, volumi, networking, sicurezza.
Nella scheda Container, seleziona la scheda Variabili e secret e completa i seguenti passaggi:
Nella sezione Variabili di ambiente, fai clic su Aggiungi variabile.
Inserisci quanto segue nei campi
NameeValue:DB_NAME:quickstart_dbDB_USER:postgresDB_PASS: la password che hai inserito quando hai creato il cluster.DB_PORT:5432INSTANCE_HOST: l'indirizzo IP dell'istanza principale del cluster, che hai trovato in Trovare l'indirizzo IP della nuova istanza. Non includere il numero di porta, ad esempio imposta172.19.209.2e non172.19.209.2:5432.
Passa dalla scheda Container alla scheda Networking e completa i seguenti passaggi:
Seleziona la casella di controllo Connettiti a un VPC per il traffico in uscita.
Seleziona l'opzione Invia il traffico direttamente a un VPC.
Nell'elenco a discesa Rete, scegli il valore
default.Nell'elenco a discesa Subnet, assicurati che sia selezionato il valore
default.
Fai clic su Crea per creare il servizio Cloud Run.
Dopo il deployment del servizio Cloud Run, la pagina quickstart-service mostra l'URL dell'applicazione di esempio nel campo URL.
L'applicazione utilizza AlloyDB come datastore.
Nella console Google Cloud , vai alla pagina Cloud Run.
Nella pagina quickstart-service, fai clic su content_copy Copia negli appunti per copiare l'URL dell'applicazione.
In una nuova scheda del browser, incolla l'URL dell'applicazione copiato e fai clic su Invio.
Nella console Google Cloud , vai alla pagina Cluster.
Accanto al cluster
my-clusterche vuoi eliminare, fai clic su more_vert Azioni e poi su delete Elimina.Nella finestra di dialogo Elimina cluster visualizzata, digita
my-clusternel campo my-cluster per confermare che vuoi eliminarlo.Fai clic su Elimina.
Nella console Google Cloud , vai alla pagina Cloud Run.
Seleziona la casella di controllo accanto al nome del servizio
quickstart-service.Fai clic su delete Elimina nella parte superiore della pagina Cloud Run.
Nella finestra di dialogo Elimina quickstart-service visualizzata, fai clic su Elimina per confermare.
Connettiti all'istanza e crea un database
Trovare l'ID progetto
Popola Artifact Registry con un'immagine dell'applicazione di esempio
Trovare l'indirizzo IP della nuova istanza
Crea un servizio per Cloud Run
Visualizza l'applicazione di esempio
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.