Conéctate a Cloud SQL para MySQL desde el entorno flexible de App Engine

Aprende a implementar una app de ejemplo en el entorno flexible de App Engine conectado a una instancia de MySQL con 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 APIs de Cloud necesarias para ejecutar una aplicación de ejemplo de Cloud SQL en el entorno flexible de App Engine.

    Haz clic en el botón a continuación a fin de habilitar las API necesarias para esta guía de inicio rápido.

    Habilita las API

    Esto habilita las siguientes API:

    • API de Cloud SQL Admin
    • API de Compute Engine
    • API de Cloud Build
    • API de Cloud Logging

    Si haces clic en el botón, también habilitas el entorno flexible de Google App Engine.

    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 appengineflex.googleapis.com sqladmin.googleapis.com \
    compute.googleapis.com cloudbuild.googleapis.com logging.googleapis.com

    Este comando habilita las siguientes APIs:

    • API de Cloud SQL Admin
    • API de Compute Engine
    • API de Cloud Build
    • API de Cloud Logging

    Si ejecutas el comando anterior, también habilitas el entorno flexible de Google App Engine.

Configure 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. Selecciona la instancia de MySQL quickstart-instance que creaste.
  3. En el menú de navegación de SQL, selecciona Usuarios.
  4. Haz clic en Agregar cuenta de usuario.
  5. En la página Agrega una cuenta de usuario a la instancia quickstart-instance, agrega la siguiente información:
    1. En el campo Nombre de usuario, ingresa quickstart-user.
    2. En el campo Contraseña, especifica una contraseña para tu usuario de base de datos. Toma nota de esta contraseña para usarla en un paso posterior de esta guía de inicio rápido.
  6. Haz clic en Agregar.

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

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

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

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

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.

Implementa una app de ejemplo en el entorno flexible de App Engine

Crear una app de App Engine

Crea una app de App Engine en tu Google Cloud proyecto. Esto habilita el servicio de App Engine, crea una aplicación de App Engine predeterminada y crea una cuenta de servicio de App Engine que usas para conectarte a Cloud SQL.
  1. En la consola de Google Cloud, ve a la página App Engine.

    Ir a App Engine

  2. Haz clic en Crear aplicación.
  3. En el menú desplegable Seleccionar una región, selecciona us-central.
  4. Haz clic en Siguiente.
  5. Después de que aparezca la página Comenzar, desplázate hasta la parte inferior de la página.
  6. Haz clic en el vínculo Lo haré más tarde.
  1. Ejecuta el siguiente comando gcloud app create para crear una aplicación de App Engine:
  2. gcloud app create
  3. Cuando se te solicite elegir la región en la que deseas que se ubique tu aplicación de App Engine, ingresa la opción numérica para us-central.

Configura la cuenta de servicio de App Engine

Configura la cuenta de servicio que usa App Engine para que tenga el rol cliente de Cloud SQL. Cuando se asigna el rol a la cuenta de servicio, esta tiene 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 App Engine, haz clic en el ícono de lápiz.
  3. Haz clic en Agregar otro rol.
  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 App Engine.
  3. Ejecuta el siguiente comando para agregar la función de cliente de Cloud SQL a la cuenta de servicio de App Engine:
    gcloud projects add-iam-policy-binding YOUR_PROJECT_ID \
      --member="serviceAccount:SERVICE_ACCOUNT_EMAIL" \
      --role="roles/cloudsql.client"

Configura e implementa una app de ejemplo para Cloud SQL

Ahora que creaste una instancia y una base de datos de Cloud SQL y configuraste la cuenta de servicio de App Engine a fin de que tenga permisos para conectarse a Cloud SQL, puedes configurar e implementar una app de ejemplo a fin de conectarse a tu instancia de Cloud SQL.

IP pública

Para las rutas de IP públicas, el entorno flexible de App Engine proporciona encriptación. Este método usa un socket Unix y el proxy de autenticación de Cloud SQL para conectarse a tu instancia de Cloud SQL.
  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 ejemplo y abrir el directorio de la app de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  6. Navega hasta el archivo cloudshell_open/golang-samples/cloudsql/mysql/database-sql/app.flexible.yaml y ábrelo.
  7. Reemplaza los marcadores de posición para las variables de entorno en el archivo app.flexible.yaml por los siguientes valores:
    • <PROJECT-ID> por el ID del proyecto.
    • <INSTANCE-REGION> con us-central1.
    • <INSTANCE-NAME> por quickstart-instance.
    • <YOUR_DB_USER_NAME> por quickstart-user.
    • <YOUR_DB_PASSWORD> por la contraseña de la quickstart-user que creaste en Crea un usuario.
    • <YOUR_DB_NAME> por quickstart-db.
  8. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/golang-samples/cloudsql/mysql/database-sql, ejecuta el siguiente comando gcloud app deploy para implementar la aplicación de ejemplo en el entorno flexible de App Engine.
  9. gcloud app deploy app.flexible.yaml
  10. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  11. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  12. gcloud app browse
  13. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  14. Ve la app de ejemplo que se implementó.

  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 ejemplo y abrir el directorio de la app de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  6. Navega hasta el archivo cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet/src/main/webapp/WEB-INF/appengine-web.xml y ábrelo.
  7. Reemplaza los marcadores de posición para las variables de entorno en el archivo appengine-web.xml por los siguientes valores:
    • my-project:region:instance por el Nombre de conexión de tu instancia que aparece en la página Instancias de Cloud SQL de la consola Google Cloud .
    • my-db-user con quickstart-user.
    • my-db-password por la contraseña de la quickstart-user que creaste en Crea un usuario.
    • my_db con quickstart-db.
  8. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet, ejecuta el siguiente comando mvn clean package de Apache Maven para implementar la app de ejemplo Entorno flexible de App Engine.
  9. mvn clean package appengine:deploy -DskipTests
  10. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  11. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  12. gcloud app browse
  13. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  14. Ve la app de ejemplo que se implementó.

  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 ejemplo y abrir el directorio de la app de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  6. Navega hasta el archivo cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql/app.flexible.yaml y ábrelo.
  7. Reemplaza los marcadores de posición para las variables de entorno en el archivo app.flexible.yaml por los siguientes valores:
    • <MY-PROJECT> por el ID del proyecto.
    • <INSTANCE-REGION> con us-central1.
    • <INSTANCE-NAME> por quickstart-instance.
    • MY_DB_USER con quickstart-user.
    • MY_DB_PASSWORD por la contraseña de la quickstart-user que creaste en Crear un usuario.
    • MY_DATABASE con quickstart-db.
  8. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql, ejecuta el siguiente comando gcloud app deploy para implementar la aplicación de ejemplo en el entorno flexible de App Engine.
  9. gcloud app deploy app.flexible.yaml
  10. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  11. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  12. gcloud app browse
  13. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  14. Ve la app de ejemplo que se implementó.

  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 ejemplo y abrir el directorio de la app de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  6. Navega hasta el archivo cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy/app.flexible.yaml y ábrelo.
  7. Reemplaza los marcadores de posición para las variables de entorno en el archivo app.flexible.yaml por los siguientes valores:
    • <PROJECT-ID> por el ID del proyecto.
    • <INSTANCE-REGION> con quickstart-instance.
    • <YOUR_DB_USER_NAME> por quickstart-user.
    • <YOUR_DB_PASSWORD> por la contraseña de la quickstart-user que creaste en Crea un usuario.
    • <YOUR_DB_NAME> por quickstart-db.
  8. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy, ejecuta el siguiente comando gcloud app deploy para implementar la aplicación de ejemplo en el entorno flexible de App Engine.
  9. gcloud app deploy app.flexible.yaml
  10. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  11. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  12. gcloud app browse
  13. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  14. Ve la app de ejemplo que se implementó.

Para las rutas de IP privadas, asegúrate de que la VM del entorno flexible de App Engine y la instancia de Cloud SQL estén alojados en la misma red de nube privada virtual (VPC). Cuando se encuentra en la misma red de VPC, tu app del entorno flexible de App Engine puede 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.

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 el código de la aplicación de ejemplo y abrir el directorio de la aplicación de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su proyecto:
    gcloud config set project YOUR-PROJECT-ID
  4. Si aparece un diálogo Autoriza Cloud Shell, haz clic en Autorizar.
  5. Sube los archivos de certificados SSL a la carpeta certs.
    1. En el menú de navegación del Explorador del editor de Cloud Shell, busca la carpeta golang-samples/cloudsql/mysql/database-sql/certs.
    2. Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
    3. Selecciona los siguientes archivos en tu máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    4. 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  7. Navega hasta el archivo cloudshell_open/golang-samples/cloudsql/mysql/database-sql/app.flexible.yaml y ábrelo.
  8. Copia y pega el siguiente código en el archivo y reemplaza el contenido del archivo existente:
  9. runtime: custom
    env: flex
    
    env_variables:
      DB_USER: quickstart-user
      DB_PASS: YOUR_DB_PASSWORD
      DB_NAME: quickstart-db
      DB_PORT: 3306
      INSTANCE_HOST: INSTANCE_HOST
      DB_ROOT_CERT: certs/server-ca.pem
      DB_CERT: certs/client-cert.pem
      DB_KEY: certs/client-key.pem
      PRIVATE_IP: TRUE
    
    vpc_access_connector:
      name: projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector
  10. Realiza los siguientes reemplazos de variables:
    • YOUR_DB_PASSWORD por la contraseña de la quickstart-user que creaste en Crear un usuario.
    • INSTANCE_HOST por la dirección IP privada de la instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud .
    • PROJECT_ID por el ID de tu proyecto.
  11. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/golang-samples/cloudsql/mysql/database-sql, ejecuta el siguiente comando gcloud app deploy para implementar la aplicación de ejemplo en el entorno flexible de App Engine.
  12. gcloud app deploy app.flexible.yaml
  13. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  14. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  15. gcloud app browse
  16. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  17. Ve la app de ejemplo que se implementó.

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.

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 el código de la aplicación de ejemplo y abrir el directorio de la aplicación de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su proyecto:
    gcloud config set project YOUR-PROJECT-ID
  4. Si aparece un diálogo Autoriza Cloud Shell, haz clic en Autorizar.
  5. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  6. Navega hasta el archivo cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet/src/main/webapp/WEB-INF/appengine-web.xml y ábrelo.
  7. Copia y pega el siguiente código en el archivo appengine-web.xml y reemplaza el contenido del archivo existente:
  8. <runtime>java17</runtime>
      <env-variables>
        <env-var name="INSTANCE_CONNECTION_NAME" value="project-name:region-name:instance-name" />
        <env-var name="DB_PORT" value="3306" />
        <env-var name="DB_USER" value="quickstart-user" />
        <env-var name="DB_PASS" value="my-db-password" />
        <env-var name="DB_NAME" value="quickstart-db" />
      </env-variables>
    <vpc-access-connector>
      <name>projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector</name>
      <egress-setting>all-traffic</egress-setting>
    </vpc-access-connector>
  9. Realiza los siguientes reemplazos de variables:
    • project-name:region-name:instance-name por el Nombre de conexión de tu instancia que aparece en la página Instancias de Cloud SQL en la Google Cloud consola.
    • my-db-password por la contraseña de la quickstart-user que creaste en Crea un usuario.
    • PROJECT_ID por el ID de tu proyecto.
  10. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/java-docs-samples/cloud-sql/mysql/servlet, ejecuta el siguiente comando mvn clean package de Apache Maven para implementar la app de ejemplo Entorno flexible de App Engine.
  11. mvn clean package appengine:deploy -DskipTests
  12. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  13. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  14. gcloud app browse
  15. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  16. Ve la app de ejemplo que se implementó.

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.

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 el código de la aplicación de ejemplo y abrir el directorio de la aplicación de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su proyecto:
    gcloud config set project YOUR-PROJECT-ID
  4. Si aparece un diálogo Autoriza Cloud Shell, haz clic en Autorizar.
  5. Sube archivos de certificados SSL a la carpeta certs.
    1. En el menú de navegación del Explorador del editor de Cloud Shell, busca la carpeta nodejs-docs-samples/cloud-sql/mysql/mysql/certs.
    2. Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
    3. Selecciona los siguientes archivos en tu máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    4. 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  7. Navega hasta el archivo cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql/app.flexible.yaml y ábrelo.
  8. Copia y pega el siguiente código en el archivo y reemplaza el contenido del archivo existente:
  9. runtime: nodejs
    env: flex
    
    env_variables:
      DB_USER: quickstart-user
      DB_PASS: MY_DB_PASSWORD
      DB_NAME: quickstart-db
      DB_PORT: 3306
      INSTANCE_HOST: INSTANCE_HOST
      DB_ROOT_CERT: certs/server-ca.pem
      DB_CERT: certs/client-cert.pem
      DB_KEY: certs/client-key.pem
      PRIVATE_IP: TRUE
    
    vpc_access_connector:
      name: projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector
  10. Realiza los siguientes reemplazos de variables:
    • MY_DB_PASSWORD por la contraseña de la quickstart-user que creaste en Crear un usuario.
    • INSTANCE_HOST por la dirección IP privada de la instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud .
    • PROJECT_ID por el ID de tu proyecto.
  11. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/nodejs-docs-samples/cloud-sql/mysql/mysql, ejecuta el siguiente comando gcloud app deploy para implementar la aplicación de ejemplo en el entorno flexible de App Engine.
  12. gcloud app deploy app.flexible.yaml
  13. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  14. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  15. gcloud app browse
  16. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  17. Ve la app de ejemplo que se implementó.

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.

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 el código de la aplicación de ejemplo y abrir el directorio de la aplicación de ejemplo en el editor de Cloud Shell.
  3. En el símbolo del sistema de Cloud Shell, ejecute el siguiente comando para activar su proyecto:
    gcloud config set project YOUR-PROJECT-ID
  4. Si aparece un diálogo Autoriza Cloud Shell, haz clic en Autorizar.
  5. Sube archivos de certificados SSL a la carpeta certs.
    1. En el menú de navegación del Explorador del editor de Cloud Shell, busca la carpeta python-docs-samples/cloud-sql/mysql/sqlalchemy/certs.
    2. Haz clic con el botón derecho en la carpeta certs en el editor de Cloud Shell y selecciona Subir archivos.
    3. Selecciona los siguientes archivos en tu máquina local:
      • client-key.pem
      • client-cert.pem
      • server-ca.pem
    4. 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. En el menú de navegación Explorador del Editor de Cloud Shell, haz clic en el nodo expandible que es el nombre de usuario de tu Google Cloud cuenta.
  7. Navega hasta el archivo cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy/app.flexible.yaml y ábrelo.
  8. Copia y pega el siguiente código en el archivo y reemplaza el contenido del archivo existente:
  9. runtime: custom
    env: flex
    entrypoint: gunicorn -b :$PORT app:app
    
    env_variables:
      DB_USER: quickstart-user
      DB_PASS: YOUR_DB_PASSWORD
      DB_NAME: quickstart-db
      DB_PORT: 3306
      INSTANCE_HOST: INSTANCE_HOST
      DB_ROOT_CERT: certs/server-ca.pem
      DB_CERT: certs/client-cert.pem
      DB_KEY: certs/client-key.pem
      PRIVATE_IP: TRUE
    
    vpc_access_connector:
      name: projects/PROJECT_ID/locations/us-central1/connectors/quickstart-connector
  10. Realiza los siguientes reemplazos de variables:
    • YOUR_DB_PASSWORD por la contraseña de la quickstart-user que creaste en Crear un usuario.
    • INSTANCE_HOST por la dirección IP privada de la instancia que aparece en la página Instancias de Cloud SQL en la consola de Google Cloud .
    • PROJECT_ID por el ID de tu proyecto.
  11. En el símbolo del sistema de Cloud Shell, en el directorio cloudshell_open/python-docs-samples/cloud-sql/mysql/sqlalchemy, ejecuta el siguiente comando gcloud app deploy para implementar la aplicación de ejemplo en el entorno flexible de App Engine.
  12. gcloud app deploy app.flexible.yaml
  13. Cuando se te pregunte ¿Quieres continuar?, ingresa Y.
  14. Una vez que se hayan completado las acciones realizadas mediante la ejecución del comando gcloud app deploy, ejecuta el comando gcloud app browse:
  15. gcloud app browse
  16. Haz clic en el vínculo generado para ver la app de ejemplo que se ejecuta en el entorno flexible de App Engine. Este entorno está conectado a Cloud SQL.
  17. Ve la app de ejemplo 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. Si inhabilitas tu app, dejarás de ejecutar instancias y entregar solicitudes. Si la app está procesando una solicitud, esta completa la solicitud antes de que se inhabilite.

Para inhabilitar una aplicación de App Engine y conservar sus datos, haz lo siguiente:

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

    Ir a la configuración

  2. En la pestaña Configuración de la aplicación, haz clic en Inhabilitar aplicación.

  3. En el campo ID de app, ingresa el ID de la app que deseas inhabilitar y, luego, haz clic en Inhabilitar.

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 otros productos de Google Cloud: