Poner en marcha tu primera máquina virtual en Google Cloud Platform y desplegar una aplicación web funcional es más accesible de lo que parece. En pocos minutos puedes elegir hardware, sistema operativo, configurar reglas de red y tener un servidor respondiendo solicitudes desde cualquier lugar del mundo.
¿Cómo se crea una instancia en Compute Engine?
Desde la consola de Google Cloud Platform, el punto de partida es el menú de navegación. Al hacer clic en Compute Engine, se accede directamente a la sección de VM Instances [0:24]. Ahí se encuentra el botón para crear una nueva máquina virtual, aunque también existe la posibilidad de importar máquinas desde entornos on premises u otros proveedores de nube.
Al crear una instancia, lo primero es asignarle un nombre y definir la región y zona donde estará ubicada [0:52]. Estos valores determinan la latencia y disponibilidad del servicio.
¿Qué tipos de máquinas están disponibles?
Google Cloud ofrece una variedad amplia de configuraciones bajo la categoría de propósito general [1:08]:
- Máquinas con core compartido como la F1 Micro y la G1 Small.
- Máquinas estándar con balance entre CPU y memoria.
- Máquinas con alta memoria RAM, llegando hasta 375 terabytes en la opción Ultra Memory con 160 vCPUs.
Una característica interesante es la personalización de hardware. Puedes definir manualmente la cantidad de vCPUs y memoria RAM. Sin embargo, existen límites: si seleccionas una combinación no válida, la consola lo marca en rojo [1:38]. Para superar esas restricciones existe la memoria extendida, que permite, por ejemplo, asignar hasta 624 GB de RAM con solo dos vCPUs [1:55].
¿Qué sistema operativo elegir para la máquina virtual?
En la sección de boot disk puedes seleccionar entre múltiples imágenes de sistema operativo [2:15]:
- Debian, Ubuntu, SUSE.
- Windows Server 2016 y 2019.
- Imágenes preconfiguradas con bibliotecas como TensorFlow o PyTorch.
- Versiones de Windows con SQL Server preinstalado en ediciones Enterprise, Standard o Web.
Para la demostración se utiliza la imagen predeterminada: un Debian 9. También se configuran los permisos de la cuenta de servicio y se habilita el tráfico HTTP [2:53].
Entre las opciones avanzadas se encuentran configuraciones de administración, seguridad, discos adicionales, redes y la opción de sole tenancy, que garantiza que tu máquina virtual corra en un host físico asignado exclusivamente a ti [3:15].
¿Cómo desplegar una aplicación web en la máquina virtual?
La creación de la instancia toma apenas unos segundos. Las máquinas con Windows y SQL Server pueden tardar alrededor de treinta segundos, pero un Debian arranca mucho más rápido [3:40]. Una vez lista, la consola muestra una IP externa y una IP interna, además de un botón para conectarse vía SSH directamente desde el navegador [3:55].
Dentro de la máquina, los pasos para desplegar la aplicación son:
- Actualizar repositorios con
sudo apt update [4:20].
- Instalar herramientas: PIP, virtualenv y GIT [4:35].
- Clonar el código desde Google Cloud Source Repository, un servicio de gestión de código fuente integrado en la plataforma [4:55].
- Crear y activar un entorno virtual con
virtualenv [5:35].
- Instalar dependencias con
pip install, incluyendo Flask y bibliotecas de Google Cloud [5:50].
- Configurar variables de entorno y ejecutar la aplicación [6:10].
La aplicación queda escuchando en el puerto 8080 [6:20].
¿Por qué la aplicación no responde y cómo configurar el firewall?
Al intentar acceder a la IP externa, la conexión falla. El motivo es que la regla de tráfico HTTP habilitada durante la creación solo permite el puerto 80, no el 8080 [6:40].
Para solucionarlo es necesario ir a VPC Network y acceder a las reglas de firewall [6:55]. Se crea una nueva regla que:
- Aplica a todas las instancias de la red.
- Autoriza solicitudes desde cualquier origen.
- Especifica protocolo TCP y puerto 8080 [7:10].
Una vez creada la regla, la aplicación comienza a responder automáticamente. La IP externa de la máquina virtual ahora muestra la aplicación web funcionando correctamente [7:30].
Si ya lograste desplegar tu primera aplicación, comparte tu experiencia y cuéntanos qué tipo de máquina virtual elegiste para tu proyecto.