Conectarse desde Cloud Run
En esta página se explica cómo desplegar una aplicación de ejemplo en un servicio de Cloud Run mediante la consola Google Cloud y una aplicación cliente. Esta aplicación de ejemplo conecta Cloud Run con AlloyDB para PostgreSQL.
Antes de empezar
- 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. 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
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Habilita las APIs de Cloud necesarias para ejecutar una aplicación de ejemplo de AlloyDB para PostgreSQL en Cloud Run.
En el paso Confirm project (Confirmar proyecto), haz clic en Next (Siguiente) para confirmar el nombre del proyecto en el que vas a hacer cambios.
En el paso Habilitar APIs, haz clic en Habilitar para habilitar lo siguiente:
- API de AlloyDB
- API Admin de Cloud Run
- API de Compute Engine
- API de Cloud Build
- API de Container Registry
- API Service Networking
- API Cloud Resource Manager
En la Google Cloud consola, ve a la página Clusters.
Haz clic en Crear clúster.
La consola Google Cloud te ofrece varios tipos de clústeres. Selecciona Alta disponibilidad.
Haz clic en Continuar.
Se despliega la sección Configurar el clúster.
En Información básica, en el campo ID de clúster, introduce
my-cluster
.En el campo Contraseña, introduce la contraseña que quieras. Anota esta contraseña. Lo volverás a usar más adelante en esta guía de inicio rápido.
En el campo Región, selecciona
us-central1 (Iowa)
.En Conectividad, en el menú desplegable Red, selecciona
default
.Si aún no has configurado el acceso privado a servicios, aparecerá un cuadro de diálogo con el mensaje Se necesita una conexión de acceso privado a servicios.
En el cuadro de diálogo Se necesita una conexión de acceso de servicios privados, para crear una conexión de acceso de servicios privados, haz lo siguiente:
Haz clic en Configurar conexión.
Aparecerá un nuevo panel con la etiqueta Habilitar la API Service Networking.
En el panel, selecciona Usar un intervalo de direcciones IP asignado automáticamente.
Haz clic en Continuar.
Haga clic en Crear conexión y espere a que finalice la configuración de la conexión.
El panel se elimina.
Haz clic en Continuar.
Se amplía la sección Configura tu instancia principal.
En Información básica, en el campo ID de instancia, introduce
my-primary
.En el campo Equipo, selecciona
2 vCPU, 16 GB
.Haz clic en Crear clúster.
Espera a que se cree el clúster.
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 de la consola Google Cloud .
Para mostrar la página Resumen del clúster, haz clic en el nombre
my-cluster
del clúster.En el menú de navegación, haz clic en AlloyDB Studio.
En la lista Base de datos de la página Iniciar sesión en AlloyDB Studio, selecciona
postgres
.En la lista desplegable Usuario, selecciona
postgres
.En el campo Password (Contraseña), introduce la contraseña que creaste en Crear un clúster y su instancia principal.
Haz clic en Autenticar. En el panel Explorador se muestra una lista de los objetos de la 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 successfully
en el panel Resultados.Ve a la página Panel de control de la Google Cloud consola.
Busca el ID del proyecto en la tarjeta Información del proyecto.
Anota el ID de tu proyecto. Lo necesitarás para el siguiente paso de esta guía de inicio rápido.
En la Google Cloud consola, abre Cloud Shell.
En Cloud Shell Editor, usa el siguiente comando para clonar el repositorio con el código de la aplicación de ejemplo de GitHub:
cloudshell_open --repo_url \ "https://github.com/GoogleCloudPlatform/alloydb-auth-proxy" \ --dir \ "examples/go" \ --force_new_clone
Crea 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_ID
Sustituye
PROJECT_ID
por el ID de tu proyecto.En el cuadro de diálogo Autorizar Cloud Shell, haz clic en Autorizar. Este mensaje no aparece si ya has completado este paso.
Para compilar un contenedor 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_ID
Sustituye
PROJECT_ID
por el ID de tu proyecto.En la Google Cloud consola, ve a la página Clusters.
Busca la fila de la tabla cuyo Nombre de recurso sea
my-primary
.Anota la dirección IP privada de esa fila. Lo 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 Google Cloud consola, 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 Desplegar una revisión desde una imagen de contenedor que ya existe.
En el campo URL de imagen del contenedor, haz clic en Seleccionar.
En el panel Seleccionar imagen de contenedor, sigue estos pasos:
- Selecciona la pestaña Registro de artefactos.
- Despliega
us-central1-docker.pkg.dev/PROJECT_ID/cloud-run-source-deploy
. - Despliega
run-sql
. - Selecciona la imagen más reciente.
- Haz clic en Seleccionar.
En el campo Nombre del servicio, introduce
quickstart-service
.Comprueba que
us-central1 (Iowa)
esté seleccionada de forma predeterminada en la lista Región.En la sección Autenticación, selecciona Permitir las invocaciones sin autenticar.
Asegúrese de que la opción La CPU solo se asigna durante el procesamiento de solicitudes esté seleccionada en la sección Asignación y precios de la CPU.
Despliega la sección Contenedores, volúmenes, redes y seguridad.
En la pestaña Contenedor(es), selecciona la pestaña Variables y secretos y sigue estos pasos:
En la sección Variables de entorno, haga clic en Añadir variable.
Introduce lo siguiente en los campos
Name
yValue
:DB_NAME
:quickstart_db
DB_USER
:postgres
DB_PASS
: la contraseña que introdujiste al crear el clúster en Crear un clúster y su instancia principal.DB_PORT
:5432
INSTANCE_HOST
: la dirección IP de la instancia principal de tu clúster, que has encontrado en Buscar la dirección IP de la nueva instancia. No incluyas el número de puerto. Por ejemplo, usa172.19.209.2
en lugar de172.19.209.2:5432
.
Cambie de la pestaña Contenedores a la pestaña Redes y siga estos pasos:
Marca la casilla Conectar 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, comprueba que esté seleccionado el valor
default
.
Haz clic en Crear para crear el servicio de Cloud Run.
Una vez que se haya desplegado el servicio de Cloud Run, en la página quickstart-service se mostrará la URL de la aplicación de ejemplo en el campo URL.
La aplicación usa AlloyDB como almacén de datos.
En la Google Cloud consola, 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 has copiado y haz clic en Intro.
La aplicación web de ejemplo para recoger votos que aparece es similar a la siguiente:
En la Google Cloud consola, ve a la página Clusters.
Junto al clúster
my-cluster
que quieras eliminar, haz clic en more_vert Acciones y, a continuación, en delete Eliminar.En el cuadro de diálogo Eliminar clúster que aparece, escribe
my-cluster
en el campo my-cluster para confirmar que quieres eliminarlo.Haz clic en Eliminar.
En la Google Cloud consola, ve a la página Cloud Run.
Selecciona la casilla situada junto al nombre del servicio
quickstart-service
.En la parte superior de la página Cloud Run, haz clic en delete Eliminar.
En el cuadro de diálogo Eliminar quickstart-service que aparece, haz clic en Eliminar para confirmar la acción.
Crear un clúster y su instancia principal
Conectarse a la instancia y crear una base de datos
Buscar el ID de un proyecto
Rellenar Artifact Registry con una imagen de la aplicación de ejemplo
Buscar la dirección IP de la nueva instancia
Crear un servicio para Cloud Run
Ver la aplicación de ejemplo
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.