Conéctate a Cloud SQL para PostgreSQL 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 PostgreSQL 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. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

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

  6. Habilita las APIs de Cloud necesarias para ejecutar una aplicación de ejemplo de Cloud SQL en el entorno flexible de App Engine.

    Console

    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.

    gcloud

    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

Crea una base de datos

Console

  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 Base de datos nueva, ingresa quickstart-db.
    2. Haz clic en Crear.

gcloud

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

Console

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

gcloud

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 extensión del nombre de usuario son los mismos en Cloud SQL y en PostgreSQL local.

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

Crear una app de App Engine

Crea una aplicación de App Engine en tu proyecto de Google Cloud. 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.

Console

  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.

gcloud

  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.

Console

  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.

gcloud

  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.

Libera espacio

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

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: