Obtén información sobre cómo implementar una app de ejemplo en Cloud Run que esté conectada a una instancia de PostgreSQL mediante la consola de Google Cloud y una aplicación cliente.
Si suponemos que completas todos los pasos de manera oportuna, los recursos creados en esta guía de inicio rápido suelen costar menos de un dólar (USD).
Para seguir la guía paso a paso en esta tarea directamente en la consola de Google Cloud, haz clic en Guía:
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.
Haz clic en el siguiente botón para abrir Cloud Shell, que proporciona acceso de línea de comandos a tus recursos de Google Cloud directamente desde el navegador.
Cloud Shell se puede usar para ejecutar los comandos de gcloud que se presentan en esta guía de inicio rápido.
En el campo ID de instancia, ingresa quickstart-instance.
En el campo Contraseña, ingresa una contraseña para el usuario de postgres. Guarda esta contraseña para usarla más adelante.
En la sección Elige una región y una disponibilidad zonal, selecciona Zona única.
Haz clic en el menú Mostrar opciones de configuración.
En la lista desplegable Tipo de máquina, selecciona Mantenimiento ligero.
Haz clic en Crear instancia y espera hasta que la instancia se inicialice y comience.
gcloud
Antes de ejecutar el comando de la siguiente manera, reemplaza DB_ROOT_PASSWORD por la contraseña del usuario de la base de datos.
De manera opcional, modifica los valores para los siguientes parámetros:
--database-version: El tipo de motor de la base de datos y la versión.
Si no se especifica, se usa la configuración predeterminada de API.
Consulta la documentación de las versiones de la base de datos de gcloud para ver las versiones disponibles actuales.
--cpu: Es la cantidad de núcleos deseados en la máquina.
--memory: valor de número entero que indica la cantidad de memoria que se desea en la máquina. Se debe proporcionar una unidad de tamaño (por ejemplo, 3,072 MB o 9 GB). Si no se especifican unidades, se supone que es GB.
--region: ubicación regional de la instancia (por ejemplo, asia-east1, us-east1). Si no se especifica, el valor predeterminado es us-central.
gcloudcomputeaddressescreategoogle-managed-services-default\
--global--purpose=VPC_PEERING--prefix-length=16\
--description="peering range for Google"--network=default
Ejecuta el comando gcloud services vpc-peerings connect para crear una conexión privada al rango de direcciones IP asignado. Reemplaza YOUR_PROJECT_ID por el ID de tu proyecto.
Crea una instancia con una dirección IP privada y SSL habilitado
Antes de ejecutar el comando de la siguiente manera, reemplaza DB_ROOT_PASSWORD por la contraseña del usuario de la base de datos.
De manera opcional, modifica los valores para los siguientes parámetros:
--database-version: El tipo de motor de la base de datos y la versión.
Si no se especifica, se usa la configuración predeterminada de API.
Consulta la documentación de las versiones de la base de datos de gcloud para ver las versiones disponibles actuales.
--cpu: Es la cantidad de núcleos en la máquina.
--memory: Es un número de número entero que indica cuánta memoria se debe incluir en la máquina. Se puede proporcionar una unidad de tamaño (por ejemplo, 3,072 MB o 9 GB). Si no se especifican unidades, se supone que es GB.
--region: Es la ubicación regional de la instancia (por ejemplo, asia-east1, us-east1). Si no se especifica, el valor predeterminado es us-central1.
Consulta la lista completa de regiones.
Ejecuta el comando gcloud
sql instances create para crear una instancia de Cloud SQL con una dirección IP privada.
Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
Selecciona Usuarios en el menú de navegación de SQL.
Haz clic en Agregar cuenta de usuario.
En la página Agrega una cuenta de usuario a la instancia instance_name, agrega la siguiente información:
En el campo Nombre de usuario, ingresa quickstart-user.
En el campo Contraseña, especifica una contraseña para tu usuario de base de datos.
Toma nota de esto para usarlo en un paso posterior de esta guía de inicio rápido.
Haz clic en Agregar.
gcloud
Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:
PASSWORD por una contraseña para el usuario de tu base de datos.
Toma nota de esto para usarlo en un paso posterior de esta guía de inicio rápido.
Con una instancia de Cloud SQL, una base de datos y una cuenta de servicio con permisos de cliente, ahora puedes configurar una aplicación de muestra para conectarte a tu instancia de Cloud SQL.
IP pública
Para las rutas de IP públicas, Cloud Run proporciona encriptación y se conecta mediante el proxy de autenticación de Cloud SQL a través de sockets Unix.
Go
En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
En el caso de las rutas de IP privadas, tu aplicación se conecta directamente a tu instancia a través del Acceso a VPC sin servidores. Este método usa un socket TCP para conectarse directamente a la instancia de Cloud SQL sin usar el proxy de Cloud SQL Auth.
Go
Crea y descarga certificados de cliente y servidor SSL
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Sube archivos de certificados SSL a la carpeta certs.
Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
Selecciona los siguientes archivos en tu máquina local:
client-key.pem
client-cert.pem
server-ca.pem
Con los tres archivos del certificado SSL seleccionados, haz clic en Abrir para completar el proceso de carga de archivos a Cloud Shell Editor.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
Crea y descarga certificados de cliente y servidor SSL
Para los usuarios de Java, el conector ya proporciona una conexión segura, por lo que no es necesario crear y descargar certificados de cliente ni servidores SSL.
Crea una conexión de VPC sin servidores para conexiones a la instancia a través de IP privada
En la consola de Google Cloud, ve a la página Acceso a VPC sin servidores - Crear conector.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Sube archivos de certificados SSL a la carpeta certs.
Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
Selecciona los siguientes archivos en tu máquina local:
client-key.pem
client-cert.pem
server-ca.pem
Con los tres archivos del certificado SSL seleccionados, haz clic en Abrir para completar el proceso de carga de archivos a Cloud Shell Editor.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar el código de la aplicación de muestra y abrir el directorio de la aplicación de muestra en el editor de Cloud Shell.
Sube archivos de certificados SSL a la carpeta certs.
Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
Selecciona los siguientes archivos en tu máquina local:
client-key.pem
client-cert.pem
server-ca.pem
Con los tres archivos del certificado SSL seleccionados, haz clic en Abrir para completar el proceso de carga de archivos a Cloud Shell Editor.
Ejecuta el siguiente comando en Cloud Shell para compilar un contenedor de Docker y publicarlo en Container Registry.
Reemplaza YOUR_PROJECT_ID por el ID del proyecto.
Haz clic en Crear contenedor y selecciona Servicio para mostrar el formulario Crear servicio.
Haz clic en el botón Seleccionar en el cuadro de texto URL de la imagen del contenedor.
Selecciona la imagen de contenedor gcr.io/YOUR_PROJECT_ID/run-sql que creaste en el paso anterior.
En el campo Nombre del servicio, ingresa quickstart-service.
En la sección Autenticación, selecciona la opción Allow unauthenticated invocations.
Expande la sección Contenedor, variables y secretos, Conexiones, Seguridad.
Para crear el siguiente Environment variables, haz clic en Agregar variable en Variables de entorno. Establece los valores para las variables de entorno de la siguiente manera:
INSTANCE_UNIX_SOCKET: configurado como /cloudsql/YOUR_PROJECT_ID:us-central1:quickstart-instance.
INSTANCE_CONNECTION_NAME: configurado como el INSTANCE_CONNECTION_NAME de tu instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud.
DB_NAME: Se configura como quickstart-db
DB_USER: Se configura como quickstart-user
DB_PASS: Configura la contraseña del quickstart-user que creaste en el paso de inicio rápido DB_PASS anterior.
Habilita la conexión a Cloud SQL:
Haz clic en la pestaña Conexiones.
Haz clic en el botón Agregar conexión en la sección Conexiones de Cloud SQL.
Selecciona el quickstart-instance que creaste antes en el menú desplegable.
Haz clic en Crear para crear el servicio de Cloud Run.
Después de implementar el servicio de Cloud Run, la página Detalles del servicio muestra la URL del servicio en ejecución en la parte superior de la página.
Haz clic en el vínculo URL para ver la aplicación de muestra implementada en Cloud Run conectada a Cloud SQL.
gcloud
Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:
YOUR_PROJECT_ID por el ID del proyecto
INSTANCE_CONNECTION_NAME por el Nombre de conexión de tu instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud.
DB_PASS por la contraseña de la quickstart-user que creaste en el paso anterior de la guía de inicio rápido Crea un usuario.
Ejecuta el comando gcloud run deploy de la siguiente manera para crear el servicio de Cloud Run:
Ingresa la opción numérica proporcionada para us-central1 cuando se te solicite especificar una región.
Cuando aparezca un mensaje de confirmación que indique que el servicio de Cloud Run se implementó, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra en Cloud Run conectada a Cloud SQL.
IP privada
Console
En la consola de Google Cloud, ve a la página Cloud Run.
Haz clic en Crear contenedor y selecciona Servicio para mostrar el formulario Crear servicio.
Conserva la opción de implementar desde una imagen de contenedor existente y haz clic en Seleccionar para especificar la imagen de contenedor gcr.io/YOUR_PROJECT_ID/run-sql que creaste en el paso anterior.
Ingresa quickstart-service en Nombre del servicio.
En la sección Autenticación, selecciona la opción Allow unauthenticated invocations.
Expande la sección Contenedor, variables y secretos, Conexiones, Seguridad.
Para crear las siguientes variables de entorno, haz clic en Agregar variable
en Variables de entorno. Establece los valores para las variables de entorno de la siguiente manera:
DB_NAME: Configurado como quickstart-db.
DB_USER: configurado como quickstart-user
DB_PASS: configurado como la contraseña del quickstart-user que especificaste en el paso anterior de la guía de inicio rápido Crea un usuario.
INSTANCE_CONNECTION_NAME: configurado como el Nombre de conexión de tu instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud.
DB_PORT: Configurado como 5432.
INSTANCE_HOST: configurado como la dirección IP privada de tu instancia como se menciona en la página Descripción general de la instancia de Cloud SQL.
DB_ROOT_CERT: Configurado como certs/server-ca.pem.
DB_CERT: configurado como certs/client-cert.pem
DB_KEY: configurado como certs/client-key.pem
PRIVATE_IP: configurado como TRUE
Habilita la conexión a Cloud SQL:
Haz clic en Conexiones.
Haz clic en Agregar conexión en la sección Conexiones de Cloud SQL.
Selecciona la instancia de Cloud SQL quickstart-instance que creaste antes.
Selecciona default: Serverless VPC Access Connector "quickstart-connector"
del menú desplegable Red de VPC.
Selecciona la opción Enrutar todo el tráfico por medio del conector de VPC.
Haz clic en Crear para crear el servicio de Cloud Run.
Después de implementar el servicio de Cloud Run, la página Detalles del servicio muestra la URL del servicio en ejecución en la parte superior de la página.
Haz clic en el vínculo URL para ver la aplicación de muestra implementada en Cloud Run conectada a Cloud SQL.
gcloud
Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:
YOUR_PROJECT_ID por el ID del proyecto
INSTANCE_CONNECTION_NAME por el Nombre de conexión de tu instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud.
DB_PASS por la contraseña de la quickstart-user que creaste en el paso anterior de la guía de inicio rápido Crea un usuario.
INSTANCE_HOST por la dirección IP privada de la instancia Ve a la página Descripción general de la instancia de Cloud SQL en la que aparece la dirección IP privada de la instancia.
Ejecuta el comando gcloud run deploy de la siguiente manera para crear el servicio de Cloud Run:
Los usuarios de Java deben ejecutar el comando gcloud run deploy sin las marcas INSTANCE_HOST, DB_ROOT_CERT, DB_CERT, DB_KEY y PRIVATE_IP --set-env-vars, de la siguiente manera, para crear el servicio de Cloud Run debido a que el conector de Java ya proporciona una conexión segura:
Ingresa la opción numérica proporcionada para us-central1 cuando se te solicite especificar una región.
Cuando aparezca un mensaje de confirmación que indique que el servicio de Cloud Run se implementó, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra en Cloud Run conectada a Cloud SQL.
Limpia
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.
En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","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 de traducción","translationIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2024-11-22 (UTC)"],[],[]]