Conectarse desde Cloud Run
En esta guía de inicio rápido, se explica el proceso para implementar una aplicación de muestra en un servicio de Cloud Run con la consola Google Cloud y una aplicación cliente. Esta aplicación de ejemplo conecta Cloud Run a AlloyDB para PostgreSQL.
Código de la aplicación de ejemplo
El código de la aplicación de muestra para esta guía de inicio rápido se encuentra en el directorio examples/go del repositorio de GitHub GoogleCloudPlatform/alloydb-auth-proxy.
La aplicación está escrita en el lenguaje de programación Go y sirve como herramienta para recopilar votos. La lógica principal se encuentra en el archivo main.go, que inicia un servidor web y controla las solicitudes del usuario.
La conexión a la base de datos se configura con variables de entorno, que se configuran cuando se crea el servicio de Cloud Run. Estas variables le indican a la aplicación cómo conectarse a tu instancia de AlloyDB, incluidos el nombre de la base de datos, el usuario, la contraseña y la dirección IP de la instancia. El código usa estas variables para establecer una conexión segura con tu base de datos de AlloyDB.
Repositorio de código
El repositorio alloydb-auth-proxy contiene el proxy de autenticación de AlloyDB, una herramienta que te ayuda a conectarte de forma segura a tus instancias de AlloyDB.
El repositorio también incluye bibliotecas y ejemplos relacionados, como la aplicación en Go que se usa en esta guía de inicio rápido.
No necesitas todo el proyecto alloydb-auth-proxy para conectarte a AlloyDB desde Cloud Run. El comando cloudshell_open clona todo el repositorio para tu comodidad, pero los únicos archivos que se usan para compilar el contenedor de esta guía de inicio rápido se encuentran en el directorio examples/go.
Antes de comenzar
- 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.
-
Habilita las API de Cloud necesarias para ejecutar una aplicación de ejemplo de AlloyDB para PostgreSQL en Cloud Run.
En el paso Confirmar proyecto, haz clic en Siguiente para confirmar el nombre del proyecto en el que realizarás cambios.
En el paso Habilitar APIs, haz clic en Habilitar para habilitar lo siguiente:
- API de AlloyDB
- API de Cloud Run Admin
- API de Compute Engine
- API de Cloud Build
- API de Container Registry
- API de Service Networking
- API de Cloud Resource Manager
- Asegúrate de tener un clúster y una instancia principal de AlloyDB. Para obtener más información, consulta Crea un clúster y su instancia principal.
Si no estás en la página Descripción general del clúster que acabas de crear, ve a la página Clústeres en la consola de Google Cloud .
Para mostrar la página Descripción general del clúster, haz clic en el nombre del clúster
my-cluster.En el menú de navegación, haz clic en AlloyDB Studio.
En la lista Base de datos de la página Accede a AlloyDB Studio, selecciona
postgres.En la lista desplegable Usuario, selecciona
postgres.En el campo Contraseña, ingresa la contraseña que creaste en Crea un clúster y su instancia principal.
Haz clic en Autenticar. En el panel Explorador, se muestra una lista de los objetos de tu base de datos.
En la pestaña Editor 1, crea una base de datos:
CREATE DATABASE quickstart_db;Haz clic en Ejecutar. Espera a que aparezca el mensaje
Statement executed successfullyen el panel Resultados.Ve a la página Panel en la consola de Google Cloud .
Busca el ID del proyecto en la tarjeta Project info.
Toma nota del ID de tu proyecto. La necesitarás para el siguiente paso de esta guía de inicio rápido.
En la consola de Google Cloud , abre Cloud Shell.
En el editor de Cloud Shell, usa el siguiente comando para clonar el repositorio con el código de la aplicación de ejemplo desde GitHub:
cloudshell_open --repo_url \ "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \ --dir \ "examples/go" \ --force_new_cloneCrea un repositorio en Artifact Registry para las imágenes de Docker:
gcloud artifacts repositories create cloud-run-source-deploy --location us-central1 --repository-format=docker --project PROJECT_IDReemplaza
PROJECT_IDpor el ID de tu proyecto.En el diálogo Autorizar Cloud Shell, haz clic en Autorizar. Este mensaje no aparece si ya realizaste este paso.
Para compilar un contenedor de Docker y publicarlo en Artifact Registry, usa el siguiente comando:
gcloud builds submit --tag us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy/run-sql --project PROJECT_IDReemplaza
PROJECT_IDpor el ID de tu proyecto.El código de la aplicación de muestra para esta guía de inicio rápido se encuentra en el directorio
examples/godel repositorio de GitHubGoogleCloudPlatform/alloydb-auth-proxy. El comandocloudshell_opendel paso anterior clona automáticamente este repositorio y abre el directorio correcto por ti.En la consola de Google Cloud , ve a la página Clústeres.
Busca en la tabla la fila cuyo Nombre del recurso sea
my-primary.Anota la dirección IP privada de esa fila. La necesitarás para el siguiente paso de esta guía de inicio rápido.
El formato de ejemplo de la dirección IP es
172.19.209.2:5432.En la consola de Google Cloud , ve a la página Cloud Run.
En la pestaña Servicios, haz clic en Implementar contenedor.
En la página Crear servicio, selecciona la opción Implementar una revisión desde una imagen de contenedor existente.
En el campo URL de la imagen del contenedor, haz clic en Seleccionar.
En el panel Selecciona una imagen de contenedor, completa los siguientes pasos:
- Selecciona la pestaña Artifact Registry.
- Expande
us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy. - Expande
run-sql. - Selecciona la imagen más reciente.
- Haz clic en Seleccionar.
En el campo Nombre del servicio, ingresa
quickstart-service.Asegúrate de que
us-central1 (Iowa)esté seleccionado en la lista Región de forma predeterminada.En la sección Autenticación, selecciona Permitir acceso público.
Asegúrate de que la opción La CPU solo se asigna durante el procesamiento de solicitudes esté seleccionada en la sección Asignación de CPU y precios.
Expande la sección Contenedores, volúmenes, Herramientas de redes y seguridad.
En la pestaña Contenedores, selecciona la pestaña Variables y secretos y completa los siguientes pasos:
En la sección Variables de entorno, haz clic en Agregar variable.
Ingresa lo siguiente en los campos
NameyValue:DB_NAME:quickstart_dbDB_USER:postgresDB_PASS: Es la contraseña que ingresaste cuando creaste el clúster.DB_PORT:5432INSTANCE_HOST: La dirección IP de la instancia principal de tu clúster, que encontraste en Cómo encontrar la dirección IP de tu instancia nueva No incluyas el número de puerto; por ejemplo, establece172.19.209.2y no172.19.209.2:5432.
Cambia de la pestaña Contenedores a la pestaña Redes y completa los siguientes pasos:
Selecciona la casilla de verificación Conéctate a una VPC para el tráfico saliente.
Selecciona la opción Enviar tráfico directamente a una VPC.
En la lista desplegable Red, elige el valor
default.En la lista desplegable Subred, asegúrate de que esté seleccionado el valor
default.
Haz clic en Crear para crear el servicio de Cloud Run.
Después de implementar el servicio de Cloud Run, la página quickstart-service muestra la URL de la aplicación de ejemplo en el campo URL.
La aplicación usa AlloyDB como su almacén de datos.
En la consola de Google Cloud , ve a la página Cloud Run.
En la página quickstart-service, haz clic en content_copy Copiar al portapapeles para copiar la URL de la aplicación.
En una nueva pestaña del navegador, pega la URL de la aplicación que copiaste y haz clic en Intro.
En la consola de Google Cloud , ve a la página Clústeres.
Junto al clúster
my-clusterque deseas borrar, haz clic en more_vert Acciones y, luego, en delete Borrar.En el cuadro de diálogo Borrar clúster que aparece, escribe
my-clusteren el campo my-cluster para confirmar que deseas borrarlo.Haz clic en Borrar.
En la consola de Google Cloud , ve a la página Cloud Run.
Selecciona la casilla de verificación junto al nombre del servicio
quickstart-service.Haz clic en delete Borrar en la parte superior de la página de Cloud Run.
En el cuadro de diálogo Borrar quickstart-service que aparece, haz clic en Borrar para confirmar.
Conéctate a tu instancia y crea una base de datos
Encuentra el ID del proyecto
Propaga Artifact Registry con una imagen de la aplicación de ejemplo
Busca la dirección IP de tu instancia nueva
Crea un servicio para Cloud Run
Consulta la aplicación de ejemplo
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.