Conéctate a Cloud SQL para MySQL desde funciones de Cloud Run

Obtén información sobre cómo implementar una app de muestra en funciones de Cloud Run que esté conectada a una instancia de MySQL 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).

Antes de comenzar

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Habilita las API de Cloud necesarias para ejecutar una app de muestra de Cloud SQL en funciones de Cloud Run.

    Haz clic en Habilitar las API para habilitar las API necesarias en esta guía de inicio rápido.

    Habilita las API

    Esto habilita las siguientes API:

    • API de funciones de Cloud Run
    • API de Cloud SQL Admin
    • API de Cloud Run Admin
    • API de Cloud Build
    • API de Artifact Registry
    • API de Eventarc
    • API de Compute Engine
    • API de Service Networking
    • API de Cloud Logging

    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.

    Abre Cloud Shell

    Ejecuta el siguiente comando de gcloud con Cloud Shell:

    gcloud services enable cloudfunctions.googleapis.com sqladmin.googleapis.com run.googleapis.com cloudbuild.googleapis.com artifactregistry.googleapis.com eventarc.googleapis.com compute.googleapis.com servicenetworking.googleapis.com pubsub.googleapis.com logging.googleapis.com

    Este comando habilita las siguientes API:

    • API de funciones de Cloud Run
    • API de Cloud SQL Admin
    • API de Cloud Run
    • API de Cloud Build
    • API de Artifact Registry
    • API de Eventarc
    • API de Compute Engine
    • API de Service Networking
    • API de Cloud Logging
  5. Agrega el rol de IAM Invocador de funciones de Cloud Run a tu usuario.

    Agrega la función

Configura Cloud SQL

Crea una instancia de Cloud SQL

IP pública

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en Crear instancia.
  3. Haz clic en Elegir MySQL.
  4. Asegúrate de que Enterprise Plus esté seleccionada como la edición de Cloud SQL de tu instancia.
  5. En el campo ID de instancia, ingresa quickstart-instance.
  6. En el campo Contraseña, ingresa una contraseña para el usuario raíz. Guarda esta contraseña para usarla más adelante.
  7. En la sección Elige una región y una disponibilidad zonal, selecciona Zona única.
  8. Haz clic en el menú Mostrar opciones de configuración.
  9. Expande el nodo Configuración de la máquina.
  10. En la región Formas de máquinas, selecciona la forma 4 vCPU, 32 GB.
  11. Haz clic en Crear instancia y espera hasta que la instancia se inicialice y comience.

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.

Ejecuta el comando gcloud sql instances create para crear una instancia de Cloud SQL.

 gcloud sql instances create quickstart-instance \
--database-version=MYSQL_8_0 \
--cpu=1 \
--memory=4GB \
--region=us-central1 \
--root-password=DB_ROOT_PASSWORD

Asigna un rango de direcciones IP y crea una conexión privada a fin de configurar el acceso privado a servicios para Cloud SQL.

  1. En la consola de Google Cloud, ve a la página Redes de VPC.

    Ir a las redes de VPC

  2. Selecciona la red de VPC default.
  3. Selecciona la pestaña Conexión privada a servicios.
  4. Selecciona la pestaña Rangos de IP asignados para los servicios.
  5. Haz clic en Asigna rangos de IP.
  6. Para el Nombre del rango asignado, especifica google-managed-services-default.
  7. Selecciona la opción Automático para el rango de IP y especifica la longitud del prefijo como 16.
  8. Haz clic en Asignar para crear un rango asignado.
  9. Selecciona la pestaña Conexiones privadas a servicios para la red de VPC default.
  10. Haz clic en Crear una conexión para crear una conexión privada entre tu red y un productor de servicios.
  11. En Asignación designada, selecciona google-managed-services-default.
  12. Haz clic en Conectar para crear la conexión.

Crea una instancia con una dirección IP privada y SSL habilitado

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en Crear instancia.
  3. Haz clic en Elegir MySQL.
  4. Asegúrate de que Enterprise Plus esté seleccionada como la edición de Cloud SQL de tu instancia.
  5. En el campo ID de instancia, ingresa quickstart-instance.
  6. En el campo Contraseña, ingresa una contraseña para el usuario raíz. Guarda esta contraseña para usarla más adelante.
  7. En la sección Elige una región y una disponibilidad zonal, selecciona Zona única.
  8. Haz clic en el menú Mostrar opciones de configuración.
  9. Expande el nodo Configuración de la máquina.
  10. En la región Formas de máquinas, selecciona la forma 4 vCPU, 32 GB.
  11. Expande el nodo Conexiones.
  12. Desmarca la casilla de verificación IP pública para crear una instancia solo con una dirección IP privada.
  13. Selecciona la casilla de verificación IP privada.
  14. En el menú Red, selecciona configuración predeterminada.
  15. Haz clic en Crear instancia y espera a que la instancia se inicialice y se inicie.
  16. Haz clic en Conexiones.
  17. En la sección Seguridad, selecciona Solo permitir conexiones SSL para habilitar las conexiones SSL.
  18. En el cuadro de diálogo Habilitar SSL, haz clic en Habilitar y reiniciar y, luego, espera a que la instancia se reinicie.

Asigna un rango de direcciones IP y crea una conexión privada a fin de configurar el acceso privado a servicios para Cloud SQL.

  1. Ejecuta el comando gcloud compute addresses create para asignar un rango de direcciones IP.

    gcloud compute addresses create google-managed-services-default \
    --global --purpose=VPC_PEERING --prefix-length=16 \
    --description="peering range for Google" --network=default
  2. 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.

    gcloud services vpc-peerings connect --service=servicenetworking.googleapis.com \
    --ranges=google-managed-services-default --network=default \
    --project=YOUR_PROJECT_ID

Crea una instancia con una dirección IP privada y SSL habilitado

  1. Antes de ejecutar el comando de la siguiente manera, reemplaza DB_ROOT_PASSWORD por la contraseña del usuario de la base de datos.

  2. 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.

     gcloud sql instances create quickstart-instance \
    --database-version=MYSQL_8_0 \
    --cpu=1 \
    --memory=4GB \
    --region=us-central1 \
    --root-password=DB_ROOT_PASSWORD \
    --no-assign-ip \
    --network=default
  3. Ejecuta el comando gcloud sql instances patch a fin de habilitar solo permitir conexiones SSL para la instancia.

  4. gcloud sql instances patch quickstart-instance --require-ssl

Crea una base de datos

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Selecciona quickstart-instance.
  3. En el menú de navegación de SQL, selecciona Bases de datos.
  4. Haga clic en Crear base de datos.
    1. En el campo Nombre de la base de datos del cuadro de diálogo Crear una base de datos, ingresa quickstart-db. Deja los valores para el grupo de caracteres y la intercalación.
    2. Haz clic en Crear.

Ejecuta el comando gcloud sql databases create para crear una base de datos.

gcloud sql databases create quickstart-db --instance=quickstart-instance

Crea un usuario

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Para abrir la página de Descripción general de una instancia, haz clic en su nombre.
  3. En el menú de navegación de SQL, selecciona Usuarios.
  4. Haz clic en Agregar cuenta de usuario.
    • En la página Agrega una cuenta de usuario para quickstart-instance, 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.
  5. Haz clic en Agregar.

Antes de ejecutar el siguiente comando, realiza los siguientes reemplazos:

  1. DB_PASS 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.

Ejecuta el comando gcloud sql users create para crear el usuario.

gcloud sql users create quickstart-user \
--instance=quickstart-instance \
--password=DB_PASS

Los límites de longitud de los nombres de usuario son los mismos para Cloud SQL que para MySQL local: 32 caracteres en MySQL 8.0 y posteriores, y 16 caracteres en las versiones anteriores.

Configura una cuenta de servicio de Cloud Run Functions

Configura la cuenta de servicio que usa funciones de Cloud Run para que tenga la función de cliente de Cloud SQL con permisos para conectarse a Cloud SQL.
  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. En la cuenta de servicio llamada Cuenta de servicio predeterminada de Compute Engine, haz clic en el ícono de lápiz.
  3. Haz clic en AGREGAR OTRA FUNCIÓN.
  4. Agrega la Función llamada Cliente de Cloud SQL.
  5. Haz clic en Guardar.
  1. Ejecuta el siguiente comando de gcloud para obtener una lista de las cuentas de servicio del proyecto:
    gcloud iam service-accounts list
  2. Copia el CORREO ELECTRÓNICO de la cuenta de servicio de Compute Engine.
  3. Ejecuta el siguiente comando para agregar la función de cliente de Cloud SQL a la cuenta de servicio de Compute Engine:
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

Crea una función

  1. En la consola de Google Cloud, ve a la página Funciones de Cloud Run.

    Ve a las funciones de Cloud Run

  2. Haz clic en Crear función.
  3. En Entorno, selecciona 2ª gen..
  4. En el campo Nombre de la función, ingresa quickstart-function.
  5. En la sección Autenticación, selecciona Permitir invocaciones no autenticadas.
  6. Haz clic en Siguiente.
  7. En el menú Entorno de ejecución, selecciona uno de los siguientes idiomas:
  8. Idioma Número de versión
    Go 1.20
    Java 17
    Node.js 18
    Python 3.10
  9. En el menú Código fuente, verifica que esté seleccionado el Editor directo. En este paso, usarás la función predeterminada proporcionada en el editor.

Implementa la función

  1. En la parte inferior de la página de funciones de Cloud Run, haz clic en Implementar. La consola de Google Cloud te redirecciona a la página de detalles de la función.
  2. Cuando se complete la implementación de la función, haz clic en el vínculo URL para ver un navegador web que muestra el mensaje Hello, World!.

Implementa la app de muestra de Cloud SQL como una función

Configuras y, luego, implementas la app de muestra de Cloud SQL como una función de Cloud Run. Primero, usa Cloud Shell para configurar y compilar la app de muestra. Luego, usa funciones de Cloud Run para implementar la app de muestra.

Existen dos formas de configurar, compilar y, luego, implementar la aplicación según si creaste una instancia de Cloud SQL para MySQL con una IP pública o una IP privada.

Configura una app de ejemplo de Cloud SQL

IP pública

Para las rutas de IP públicas, las funciones de Cloud Run proporcionan encriptación y se conectan mediante el proxy de autenticación de Cloud SQL a través de sockets Unix.
  1. En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.

    Abrir Cloud Shell Editor
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Si aparece un cuadro de diálogo Autorizar a Cloud Shell, haz clic en Autorizar.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando gcloud builds submit como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  1. En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.

    Abrir Cloud Shell Editor
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Si aparece un cuadro de diálogo Autorizar a Cloud Shell, haz clic en Autorizar.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando mvn como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
      -Dimage=YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql \
      -DskipTests -Djib.to.credHelper=gcloud
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  1. En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.

    Abrir Cloud Shell Editor
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Si aparece un cuadro de diálogo Autorizar a Cloud Shell, haz clic en Autorizar.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando gcloud builds submit como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
  1. En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
    Abrir el Editor de Cloud Shell
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Si aparece un cuadro de diálogo Autorizar a Cloud Shell, haz clic en Autorizar.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando gcloud builds submit como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME
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.

Crea y descarga certificados de cliente y servidor SSL

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en quickstart-instance para ver la página Descripción general.
  3. Haz clic en la pestaña Conexiones.
  4. En la sección Seguridad, haz clic en Crear certificado de cliente.
  5. En el cuadro de diálogo Crear un certificado de cliente, ingresa quickstart-key como nombre y haz clic en Crear.
  6. En el cuadro de diálogo Se creó un nuevo certificado SSL, haz clic en cada vínculo de descarga para descargar los certificados. Haz clic en Cerrar.

Crea una conexión de VPC sin servidores para conexiones a la instancia a través de IP privada

  1. En la consola de Google Cloud, ve a la página Acceso a VPC sin servidores - Crear conector.

    Crear un conector de VPC sin servidores

  2. Ingresa quickstart-connector en el campo Nombre.
  3. Selecciona configuración predeterminada en el menú desplegable Red.
  4. Selecciona Rango de IP personalizado en el menú desplegable Subred.
  5. Ingresa 10.8.0.0 en la casilla de entrada Rango de IP.
  6. Haz clic en Crear para crear el conector.

Compila una app de muestra con certificados SSL

  1. En el editor de Cloud Shell, abre el código fuente de la app de muestra.

    Abrir Cloud Shell Editor
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Si aparece un cuadro de diálogo Autorizar a Cloud Shell, haz clic en Autorizar.
  5. Sube los archivos de certificados SSL a la carpeta certs.
    1. Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
    2. Selecciona los siguientes archivos en tu máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Con los tres archivos del certificado SSL seleccionados, haz clic en Abrir para completar el proceso de carga de archivos a Cloud Shell Editor.
  6. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  7. Ejecuta el comando gcloud builds submit como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  8. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

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

  1. En la consola de Google Cloud, ve a la página Acceso a VPC sin servidores - Crear conector.

    Crear un conector de VPC sin servidores

  2. Ingresa quickstart-connector en el campo Nombre.
  3. Selecciona configuración predeterminada en el menú desplegable Red.
  4. Selecciona Rango de IP personalizado en el menú desplegable Subred.
  5. Ingresa 10.8.0.0 en la casilla de entrada Rango de IP.
  6. Haz clic en Crear para crear el conector.

App de ejemplo de compilación

  1. En el editor de Cloud Shell, abre el código fuente de la app de muestra.
    Abrir el Editor de Cloud Shell
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Si aparece un cuadro de diálogo Autorizar a Cloud Shell, haz clic en Autorizar.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando mvn como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    mvn clean package com.google.cloud.tools:jib-maven-plugin:2.8.0:build \
      -Dimage=YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql \
      -DskipTests -Djib.to.credHelper=gcloud
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Crea y descarga certificados de cliente y servidor SSL

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en quickstart-instance para ver la página Descripción general.
  3. Haz clic en la pestaña Conexiones.
  4. En la sección Seguridad, haz clic en Crear certificado de cliente.
  5. En el cuadro de diálogo Crear un certificado de cliente, ingresa quickstart-key como nombre y haz clic en Crear.
  6. En el cuadro de diálogo Se creó un nuevo certificado SSL, haz clic en cada vínculo de descarga para descargar los certificados. Haz clic en Cerrar.

Crea una conexión de VPC sin servidores para conexiones a la instancia a través de IP privada

  1. En la consola de Google Cloud, ve a la página Acceso a VPC sin servidores - Crear conector.

    Crear un conector de VPC sin servidores

  2. Ingresa quickstart-connector en el campo Nombre.
  3. Selecciona configuración predeterminada en el menú desplegable Red.
  4. Selecciona Rango de IP personalizado en el menú desplegable Subred.
  5. Ingresa 10.8.0.0 en la casilla de entrada Rango de IP.
  6. Haz clic en Crear para crear el conector.

Compila una app de ejemplo con certificados SSL

  1. En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
    Abrir el Editor de Cloud Shell
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Sube archivos de certificados SSL a la carpeta certs.
    1. Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
    2. Selecciona los siguientes archivos en tu máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Con los tres archivos del certificado SSL seleccionados, haz clic en Abrir para completar el proceso de carga de archivos a Cloud Shell Editor.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando gcloud builds submit como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Crea y descarga certificados de cliente y servidor SSL

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Haz clic en quickstart-instance para ver la página Descripción general.
  3. Haz clic en la pestaña Conexiones.
  4. En la sección Seguridad, haz clic en Crear certificado de cliente.
  5. En el cuadro de diálogo Crear un certificado de cliente, ingresa quickstart-key como nombre y haz clic en Crear.
  6. En el cuadro de diálogo Se creó un nuevo certificado SSL, haz clic en cada vínculo de descarga para descargar los certificados. Haz clic en Cerrar.

Crea una conexión de VPC sin servidores para conexiones a la instancia a través de IP privada

  1. En la consola de Google Cloud, ve a la página Acceso a VPC sin servidores - Crear conector.

    Crear un conector de VPC sin servidores

  2. Ingresa quickstart-connector en el campo Nombre.
  3. Selecciona configuración predeterminada en el menú desplegable Red.
  4. Selecciona Rango de IP personalizado en el menú desplegable Subred.
  5. Ingresa 10.8.0.0 en la casilla de entrada Rango de IP.
  6. Haz clic en Crear para crear el conector.

Compila una app de ejemplo con certificados SSL

  1. En el editor de Cloud Shell, abre el código fuente de la app de ejemplo.
    Abrir el Editor de Cloud Shell
  2. En el cuadro de diálogo Abrir en Cloud Shell, haz clic en Confirmar para descargar la app de muestra y abrir el directorio de la app de muestra en el editor de Cloud Shell.
  3. En la ventana de comandos de Cloud Shell, en la mitad inferior de la pantalla, debajo del editor de Cloud Shell, ejecuta el siguiente comando para activar el proyecto. Reemplaza YOUR_PROJECT_ID con el ID del proyecto.
    gcloud config set project YOUR_PROJECT_ID
  4. Sube archivos de certificados SSL a la carpeta certs.
    1. Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
    2. Selecciona los siguientes archivos en tu máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    3. Con los tres archivos del certificado SSL seleccionados, haz clic en Abrir para completar el proceso de carga de archivos a Cloud Shell Editor.
  5. Ejecuta el siguiente comando gcloud artifacts repositories create en Cloud Shell para crear un repositorio en Artifact Registry llamado quickstart-repo en la misma región que tu instancia de Cloud SQL. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud artifacts repositories create quickstart-repo \
      --project=YOUR_PROJECT_ID \
      --repository-format=docker \
      --location=YOUR_REGION_NAME \
      --description="Cloud Function Quickstart Cloud SQL sample app"
  6. Ejecuta el comando gcloud builds submit como se indica en Cloud Shell para compilar un contenedor de Docker y publicarlo en Artifact Registry. Reemplaza YOUR_PROJECT_ID por tu ID del proyecto y YOUR_REGION_NAME por tu nombre de región.
    gcloud builds submit \
      --tag YOUR_REGION_NAME-docker.pkg.dev/YOUR_PROJECT_ID/quickstart-repo/function-sql .
  7. En gen2 de funciones de Cloud Run, no se admite la configuración y ejecución automática del proxy de Cloud SQL Auth. Esta funcionalidad es compatible con Cloud Run. Debes revisar el servicio subyacente de Cloud Run de forma manual para configurar y ejecutar el proxy de Cloud SQL Auth con el servicio mediante la marca --add-cloudsql-instances. Reemplaza INSTANCE_CONNECTION_NAME por el nombre de conexión de tu instancia.
    gcloud run deploy quickstart-function --source . \
      --region YOUR_REGION_NAME \
      --add-cloudsql-instances INSTANCE_CONNECTION_NAME

Implementa la app de ejemplo

Los pasos para implementar la muestra en funciones de Cloud Run dependen del tipo de dirección IP que asignaste a tu instancia de Cloud SQL.

IP pública

  1. En la consola de Google Cloud, ve a la página Funciones de Cloud Run.

    Ve a las funciones de Cloud Run

  2. Selecciona el quickstart-function que creaste en un paso anterior de esta guía de inicio rápido.
  3. En la página Detalles de la función, haz clic en el vínculo del panel Con la tecnología de Cloud Run para acceder al servicio subyacente de funciones de Cloud Run.
  4. Haz clic en Editar e implementar nueva revisión.
  5. En el campo URL de la imagen del contenedor, haz clic en Seleccionar.
    1. Selecciona la pestaña Artifact Registry y, luego, expande el nodo quickstart-repo.
    2. Expande el contenedor function-sql y selecciona la imagen de contenedor que creaste en el paso anterior.
    3. Haz clic en Seleccionar.
  6. Para crear las siguientes variables de entorno, haz clic en Agregar variable en la sección Variables de entorno:
    • INSTANCE_UNIX_SOCKET: configurado como /cloudsql/YOUR_PROJECT_ID:YOUR_REGION_NAME:quickstart-instance.
    • DB_NAME: Se configura como quickstart-db.
    • DB_USER: Se configura como quickstart-user.
    • DB_PASS: se configura como la contraseña del quickstart-user que especificaste en el paso anterior de la guía de inicio rápido Crea un usuario.
  7. Habilita la conexión a Cloud SQL:

    1. En la sección Conexiones de Cloud SQL, haz clic en Agregar conexión.
    2. Selecciona el nombre de la conexión de tu instancia.
  8. En la parte inferior de la página, haz clic en Implementar.
  9. Después de implementar la quickstart-function, la página quickstart-function mostrará una URL del servicio en ejecución. Haz clic en el vínculo URL para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL. La app debería ser similar al siguiente ejemplo:

    Ve la app de ejemplo que se implementó.

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • 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 functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime go120 \ --trigger-http \ --allow-unauthenticated \ --entry-point Votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Ve la app de ejemplo que se implementó.

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • 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 functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime java11 \ --trigger-http \ --allow-unauthenticated \ --entry-point com.example.cloudsql.functions.Main \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Ve la app de ejemplo que se implementó.

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • 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 functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime nodejs18 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Ve la app de ejemplo que se implementó.

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • 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 functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    -
    -gen2 \ --runtime python310 \ --trigger-http \ --allow-unauthenticated \ --entry-point votes \ --region YOUR_REGION_NAME \ --set-env-vars INSTANCE_UNIX_SOCKET=/cloudsql/INSTANCE_CONNECTION_NAME \ --set-env-vars DB_USER=quickstart-user \ --set-env-vars DB_PASS=DB_PASS \ --set-env-vars DB_NAME=quickstart-db
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Ve la app de ejemplo que se implementó.

  1. En la consola de Google Cloud, ve a la página Funciones de Cloud Run.

    Ve a las funciones de Cloud Run

  2. Selecciona el quickstart-function que creaste en un paso anterior de esta guía de inicio rápido.
  3. En la página Detalles de la función, haz clic en el vínculo del panel Con la tecnología de Cloud Run para acceder al servicio subyacente de funciones de Cloud Run.
  4. Haz clic en Editar e implementar nueva revisión.
  5. En el campo URL de la imagen del contenedor, haz clic en Seleccionar.
    1. Selecciona la pestaña Artifact Registry y, luego, expande el nodo quickstart-repo.
    2. Expande el contenedor function-sql y selecciona la imagen de contenedor que creaste en el paso anterior.
    3. Haz clic en Seleccionar.
  6. Para crear las siguientes variables de entorno, haz clic en Agregar variable en la sección Variables de entorno:
    • 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 3306.
    • INSTANCE_HOST: configura la dirección IP privada de tu instancia que se muestra en la página Instancias de Cloud SQL en la consola de Google Cloud.
    • 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
  7. Habilita la conexión a Cloud SQL:

    1. En la sección Conexiones de Cloud SQL, haz clic en Agregar conexión.
    2. Selecciona el nombre de la conexión de tu instancia.
    3. Selecciona default: Serverless VPC Access Connector "quickstart-connector" del menú desplegable Red de VPC.
    4. Selecciona la opción Enrutar todo el tráfico por medio del conector de VPC.
  8. En la parte inferior de la página, haz clic en Implementar.
  9. Después de implementar la quickstart-function, la página quickstart-function mostrará una URL del servicio en ejecución. Haz clic en el vínculo URL para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL. La app debería ser similar al siguiente ejemplo:

    Visualiza la app de muestra que se implementó

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • PRIVATE_IP_ADDRESS por la dirección IP privada de tu instancia que se muestra 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_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.

    Ejecuta el comando gcloud functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime go120 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point Votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Los usuarios de Java deben ejecutar el comando gcloud functions deploy sin INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY ni PRIVATE_IP de la siguiente manera, para crear funciones de Cloud Run porque el conector de Java ya proporciona una conexión segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime go120 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point Votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Visualiza la app de muestra que se implementó

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • PRIVATE_IP_ADDRESS por la dirección IP privada de tu instancia que se muestra 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_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.

    Ejecuta el comando gcloud functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime java11 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point com.example.cloudsql.functions.Main \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Los usuarios de Java deben ejecutar el comando gcloud functions deploy sin INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY ni PRIVATE_IP de la siguiente manera, para crear funciones de Cloud Run porque el conector de Java ya proporciona una conexión segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime java11 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point com.example.cloudsql.functions.Main \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Visualiza la app de muestra que se implementó

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • PRIVATE_IP_ADDRESS por la dirección IP privada de tu instancia que se muestra 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_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.

    Ejecuta el comando gcloud functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime nodejs18 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Los usuarios de Java deben ejecutar el comando gcloud functions deploy sin INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY ni PRIVATE_IP de la siguiente manera, para crear funciones de Cloud Run porque el conector de Java ya proporciona una conexión segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime nodejs18 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Visualiza la app de muestra que se implementó

  1. Para implementar una función gen2 en funciones de Cloud Run, ejecuta el siguiente comando de gcloud functions deploy. Antes de ejecutar el comando, actualiza las siguientes variables:
    • YOUR_REGION_NAME por el nombre de la región
    • PRIVATE_IP_ADDRESS por la dirección IP privada de tu instancia que se muestra 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_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.

    Ejecuta el comando gcloud functions deploy de la siguiente manera para crear funciones de Cloud Run:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime python310 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars INSTANCE_HOST=PRIVATE_IP_ADDRESS \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_PORT=3306 \
    --set-env-vars DB_ROOT_CERT=certs/server-ca.pem \
    --set-env-vars DB_CERT=certs/client-cert.pem \
    --set-env-vars DB_KEY=certs/client-key.pem \
    --set-env-vars PRIVATE_IP=TRUE

    Los usuarios de Java deben ejecutar el comando gcloud functions deploy sin INSTANCE_HOST, DB_PORT, DB_ROOT_CERT, DB_CERT, DB_KEY ni PRIVATE_IP de la siguiente manera, para crear funciones de Cloud Run porque el conector de Java ya proporciona una conexión segura:

    gcloud functions deploy quickstart-function \
    --gen2 \
    --runtime python310 \
    --trigger-http \
    --allow-unauthenticated \
    --entry-point votes \
    --region YOUR_REGION_NAME \
    --vpc-connector=quickstart-connector \
    --vpc-egress=all-traffic \
    --set-env-vars DB_NAME=quickstart-db \
    --set-env-vars DB_USER=quickstart-user \
    --set-env-vars DB_PASS=DB_PASS \
    --set-env-vars INSTANCE_CONNECTION_NAME=INSTANCE_CONNECTION_NAME \
    --set-env-vars PRIVATE_IP=TRUE
  2. Cuando aparezca un mensaje de confirmación que indique que las funciones de Cloud Run se implementaron, haz clic en el vínculo URL de servicio en el mensaje para ver la app de muestra de funciones de Cloud Run implementada conectada a Cloud SQL.

    Visualiza la app de muestra que se implementó

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.

  1. En la consola de Google Cloud, ve a la página Instancias de Cloud SQL.

    Ir a Instancias de Cloud SQL

  2. Selecciona la instancia quickstart-instance para abrir la página de detalles de la instancia.
  3. En la barra de íconos en la parte superior de la página, haz clic en Borrar.
  4. En el cuadro de diálogo Borrar instancia, escribe quickstart-instance y, luego, haz clic en Borrar.
  5. En la consola de Google Cloud, ve a la página Funciones de Cloud Run.

    Ve a las funciones de Cloud Run

  6. Selecciona la casilla de verificación junto al nombre del servicio quickstart-function.
  7. Haz clic en Borrar en la parte superior de la página de funciones de Cloud Run.

Pasos opcionales de limpieza

Si no usas la función de cliente de Cloud SQL que asignaste a la cuenta de servicio de Compute Engine, puedes quitarla.

  1. En la consola de Google Cloud, ve a la página IAM.

    Ir a IAM

  2. Haz clic en el ícono de edición (que tiene forma de lápiz) en la cuenta de IAM llamada Cuenta de servicio predeterminada de Compute Engine.
  3. Borra la función cliente de Cloud SQL.
  4. Haz clic en Guardar.

Si no usas las API que se habilitaron como parte de esta guía de inicio rápido, puedes inhabilitarlas.

  • API que se habilitaron en esta guía de inicio rápido:
    • API de Compute Engine
    • API de Cloud SQL Admin
    • API de Cloud Run
    • API de Container Registry
    • API de Cloud Build
  1. En la consola de Google Cloud, ve a la página API.

    Ir a las API

  2. Selecciona la API que quieras inhabilitar y, luego, haz clic en el botón Inhabilitar API.

¿Qué sigue?

En función de tus necesidades, puedes obtener más información para crear instancias de Cloud SQL.

También puedes obtener información sobre cómo crear usuarios de MySQL y bases de datos para tu instancia de Cloud SQL.

Si deseas obtener más información sobre los precios, consulta Precios de Cloud SQL para MySQL.

Conoce más sobre:

  • La configuración de la instancia de Cloud SQL con una dirección IP pública
  • La configuración de la instancia de Cloud SQL con una dirección IP privada

Además, puedes obtener información sobre la conexión a una instancia de Cloud SQL desde otras aplicaciones de Google Cloud: