Resumen
En este laboratorio se trabajan de forma combinada los modelos de Infraestructura como servicio y Plataforma como servicio. Se creará una base de datos MySQL en Google Cloud usando el modelo IaaS y se usará el modelo PaaS para desplegar en Vercel y Google App Engine una aplicación que interactúe con la base de datos MySQL.
-
Crear una base de datos MySQL usando el modelo IaaS.
-
Configurar variables de entorno en Vercel y Google App Engine.
-
Usar el modelo PaaS para desplegar aplicaciones en Vercel y Google App Engine a partir de un repositorio en GitHub.
1. Recursos
2. Actividades
La aplicación SG tiene un repositorio disponible en GitHub. Se trata de una aplicación que muestra un catálogo de artículos deportivos. Los artículos están almacenados en una base de datos MySQL denominada SG.
Como se muestra a continuación, la aplicación usa variables de entorno para almacenar los valores de dirección IP del host de la base de datos, usuario y contraseña.
$conexion = mysqli_connect(getenv('MYSQL_HOST'), getenv('MYSQL_USER'), getenv('MYSQL_PASSWORD'), "SG");
Note
|
Si aún no se dispone de la base de datos SG, seguir el tutorial Creación de una instancia MySQL en Google Cloud para crear la base de datos SG. |
2.1. Desplegar la aplicación SG en Vercel
Partiendo de que la base de datos SG está creada y disponible en Google Cloud, seguir los pasos siguientes:
-
Hacer un fork en GitHub del repositorio de la aplicación SG.
-
Seguir el apartado Despliegue Vercel del tutorial Despliegue en Vercel y Google App Engine y crear una aplicación nueva en Vercel para SG (puede ser necesario borrar alguna existente en función de la cuota disponible).
-
Consultar la Guía de Vercel para la creación y configuración de variables de entorno.
-
Definir en el proyecto Vercel las variables de entorno
MYSQL_HOST
,MYSQL_USER
yMYSQL_PASSWORD
con los valores correspondientes de la dirección IP pública de la base de datos MySQL de Google Cloud y sus credenciales de acceso. -
Desplegar la aplicación SG.
Important
|
Para la instancia MySQL en Google Cloud al finalizar la práctica para no malgastar el crédito del cupón de la asignatura en Google Cloud. Se trata de detener la instancia MySQL, no de eliminarla. En otras actividades la volveremos a iniciar. Mientras tanto, debe quedar detenida. |
2.2. Desplegar la aplicación SG en Google App Engine
Partiendo de que la base de datos SG está creada y disponible en Google Cloud, seguir los pasos siguientes:
-
Seguir el apartado Despliegue en Google App Engine del tutorial Despliegue en Vercel y Google App Engine
-
Clonar en Cloud Shell el repositorio de la aplicación SG.
-
Dentro del directorio de la aplicación SG en Cloud Shell crear el descriptor
app.yaml
siguiendo este ejemplo de descriptorapp.yaml
. -
Consultar el apartado Defining environment variables de la Guía de configuración del archivo
app.yaml
para ver cómo configurar variables de entorno en el descriptorapp.yaml
. -
Añadir al descriptor
app.yaml
las variables de entornoMYSQL_HOST
,MYSQL_USER
yMYSQL_PASSWORD
con los valores correspondientes de la dirección IP pública de la base de datos MySQL de Google Cloud y sus credenciales de acceso.NoteUsa el editor de Cloud Shell (botón
Abrir editor
) para editar de forma cómoda el archivoapp.yaml
. Respeta los espacios en el archivo y ten en cuenta que los valores de las variables de entorno se consideran cadenas en este caso y deben ir encerrados entre comillas simples.Para volver a la consola de Cloud Shell desde el editor pulsa el botón
Abrir terminal
. -
Desplegar la aplicación SG.
3. Detener los recursos iniciados
La instancia MySQL y la aplicación en App Engine consumen crédito del cupón de la asignatura mientras estén activas. Haz una parada de los recursos no necesarios para no malgastar el crédito del cupón de la asignatura en Google Cloud. Se trata de detenerlos, no de eliminarlos. En otras actividades los volveremos a iniciar. Mientras tanto, deben quedar detenidos.