Instalación de Pybox

Pybox es una solución de infraestructura como servicio (IaaS) que simplifica y automatiza la gestión de aplicaciones web en Google Cloud. Con Pybox, puedes implementar, administrar y escalar tu infraestructura de manera eficiente, aprovechando los recursos de computación y almacenamiento que tú mismo administras.


⚠️ IMPORTANTE:

🚨 La solución Pybox incluye la implementación automática de la infraestructura, pero el costo final dependerá de los recursos que elijas. 🚨

Al iniciar, deberás definir algunas configuraciones de los balanceadores de carga, grupos de instancias (MIG), almacenamiento en Filestore, copias de seguridad, servidores de base de datos y otros recursos, cuyos costos variarán según tu configuración.

Google Cloud cobrará estos recursos por separado, por lo que se recomienda revisar los costos antes de completar la implementación.


Pasos para comenzar con Pybox

Nota: La interfaz de Google Cloud Platform está en constante evolución. Hacemos todo lo posible por brindar instrucciones precisas, pero algunas opciones pueden cambiar con el tiempo.

1. Acceder a Google Cloud Marketplace

Imagen de muestra

2. Configura tu implementación

🚀 ¡Comencemos! 🚀

2.1. Asignar un nombre para la Implementación

Elige un nombre único y representativo para tu implementación y agregalo en Deployment name.

Imagen de muestra

2.2. Configurar una cuenta de servicio

Puedes seleccionar entre una cuenta de servicio existente o crear una nueva.

  • Si elegiste Cuenta Existente, ingresa su nombre después de configurarla con los roles necesarios. Imagen de muestra

    Importante: Si utilizas una cuenta de servicio ya creada, asegúrate de que tenga estos roles para un funcionamiento adecuado:

     - file.editor
     - servicemanagement.admin
     - config.agent
     - Iam.securityAdmin
     - storage.admin
     - cloudscheduler.admin
     - Iam.serviceAccountAdmin
     - compute.admin
     - Iam.serviceAccountUser
     - cloudsql.admin
     - cloudfunctions.admin
     - serviceusage.serviceUsageAdmin

    📌 Consulta la documentación oficial de Google Cloud sobre los roles de cuentas de servicio para más detalles sobre estos permisos.

  • Si optaste por una Cuenta Nueva, ingresa el nombre que tendrá; se creará automáticamente con los roles requeridos para Pybox. Imagen de muestra

2.3. Zona para los recursos y subdominio de Pybox

En este paso, es necesario especificar la zona donde se implementarán los recursos de Pybox. Imagen de muestra

📌 Consulta la documentación oficial de Google Cloud sobre las Regiones y Zonas para obtener más información.

Además de la zona, también deberás asignar un subdominio. Es fundamental que especifiques un subdominio, ya que este será utilizado para acceder al panel de Pybox.

⚠️ Importante: El subdominio que elijas también será usado por la API, que por defecto,se antepondra backend- al subdominio que hayas especificado. Por ejemplo, si eliges pybox.example.com, la API será accesible en backend-pybox.example.com.

❌ Error: No uses un dominio (por ejemplo, example.com), el backend intentará formar la dirección backend-example.com, lo cual provocará una configuración incorrecta haciendo que el API apunte a un dominio inexistente.

2.4. Configuración de Base de Datos

En esta sección, configuraremos la base de datos para Pybox. Imagen de muestra

  • Selección de la versión de MySQL:

Pybox es compatible únicamente con MySQL 5.7 y 8.0, por lo que debes asegurarte de elegir una de estas versiones. Después de seleccionar la versión de MySQL, deberás configurar los recursos de la infraestructura.

📌 Puedes consultar más detalles sobre los tipos de máquinas en la documentación oficial

🔔 Uso de un servidor MySQL existente (Opcional): >Imagen de muestra
Si ya cuentas con un servidor MySQL en una versión compatible, puedes usarlo en tu implementación. Solo debes seleccionar use-existing e ingresar su dirección IP en el campo opcional. Si no, déjalo vacío.

  • Configuración de credenciales:

    Campo: MySQL Username for Pybox

    • Si usas un servidor MySQL existente, asegúrate de crear un usuario en la base de datos y proporcionar su nombre en este campo.
    • Si no tienes un servidor, se generará automáticamente un usuario con el nombre que indiques aquí.

    Campo: Pybox MySQL Database Name

    • Si ya tienes un servidor MySQL, deberás crear previamente una base de datos para Pybox y especificar su nombre en este campo.
    • Si no cuentas con un servidor, se generará automáticamente una base de datos con el nombre que definas.

    Campo opcional: Contraseña del usuario de Pybox

    • Si utilizas un servidor MySQL existente, ingresa la contraseña del usuario previamente creado.
    • Si no tienes un servidor MySQL, se generará una contraseña aleatoria para el usuario (a menos que especifiques una manualmente en este campo).

2.5. Configuración de Filestore

Tendrás dos opciones para configurar Filestore:

Imagen de muestra

  • Usar un Filestore existente: Si ya tienes un Filestore creado o en uso, puedes seleccionar Use existing.

    Configuración del punto de activación Si seleccionaste Use existing, deberás proporcionar el punto de activación de tu Filestore en el campo correspondiente y la carpeta donde se almacenarán los proyectos. El punto de activación es la ruta de montaje que las instancias utilizarán para conectarse al Filestore. Se compone de la dirección IP del Filestore y el directorio compartido.

    🔥 ¿Cómo obtener el punto de activación? 🔥 Si estás utilizando un Filestore existente, puedes encontrar su punto de activación en la consola de Google Cloud, en la sección Filestore > Instancias en la descripción encontraras Punto de activación de NFS. Imagen de muestra

  • Configuración del directorio de proyectos En el campo Folder name for projects on Filestore, debes especificar el nombre de la carpeta donde se almacenarán todos los proyectos dentro de Filestore. Recuerda utilizar una dirección exclusiva para cada implementación de Pybox que use la misma instancia de Filestore.

    En caso de usar un Filestore existente, asegúrate de que el nombre de la carpeta sea exclusivo para esta implementación.

  • Crear un nuevo Filestore: Puedes elegir entre las opciones Basic HDD o Basic SSD en el campo Filestore Tier, y definir la capacidad en GB según tus necesidades.

    🔔 Importante: Para el tier Basic SSD el tamaño mínimo es de 2560 Gb. Imagen de muestra

    📌 Para más detalles sobre los niveles de servicio de Filestore, Consulta la documentación oficial.

2.6. Configuración de copias de seguridad en Filestore

Si en el paso anterior seleccionaste un Filestore existente, no es necesario volver a configurar las copias de seguridad. Sin embargo, si se creará un nuevo Filestore, debes configurarlas.
Imagen de muestra

  • En Automatic backups for Filestore, elige si deseas o no habilitar las copias de seguridad automáticas.
  • En Unix cron backup schedule, define un horario para la frecuencia de las copias de seguridad utilizando el formato cron de Unix. 📌Documentación.
  • En Schedule timezone for backup, selecciona la zona horaria que mejor se adapte a tus necesidades.

2.7. Configuración del grupo de instancias administradas (MIG)

Imagen de muestra

  • Configura el tipo de máquina En esta sección, debes seleccionar el tipo de máquina que mejor se adapte a tu carga de trabajo.

    📌Consulta la documentación oficial de Google Cloud para más detalles sobre los tipos de máquinas disponibles.

  • Uso de máquinas interrumpibles (Preemptible VMs): Al activar la opción “Use Preemptible VMs”, puedes utilizar máquinas interrumpibles, que son instancias de bajo costo, aunque pueden ser terminadas por Google Cloud en cualquier momento si es necesario liberar recursos.

    ✅ Importante: Pybox está diseñado para funcionar con máquinas interrumpibles, y hacer que tus aplicaciones también lo hagan, lo que permite reducir costos significativamente.

    Consulta más información en la documentación oficial sobre máquinas interrumpibles.

  • Configura el escalado automático

    • Máximo de réplicas: Define el número máximo de instancias que se pueden crear en el grupo de instancias administradas.
    • Mínimo de réplicas: Define el número mínimo de instancias que se mantendrán activas en todo momento.
  • Memoria para Apache: En “Mpm VMs NPM Memory Preset”, selecciona una configuración para MPM (Multi-Processing Module) de Apache que se ajuste a tus necesidades, que suele estar relacionada con la cantidad de memoria disponible en las instancias.

    Recuerda que podrás ajustar esta configuración en los metadatos de la plantilla de instancias después, de acuerdo a las necesidades de consumo de memoria de las aplicaciones desplegadas en pybox.

2.8. Configuración del balanceador de carga de aplicaciones

En esta sección, debes elegir entre Certificados SSL Auto-administrados o Certificados Administrados por Google, según tus necesidades.

Estos certificados se utilizarán para cifrar el tráfico entre el balanceador de cargas y tu servicio de DNS o CDN (Ej: Cloudflare) o el tráfico entre el balanceador de cargas y los usuarios finales de acuerdo a la configuración que elijas.

  • Certificados SSL Auto-administrados: Si eliges Yes, Auto Managed SSL, deberás proporcionar la siguiente información:

    • Auto Managed SSL Certificate: Certificado SSL obtenido de un proveedor, como Cloudflare.

    • Auto Managed SSL Certificate Private Key: Clave privada del certificado. Imagen de muestra >📌 Consulta la documentación oficial sobre certificados autoadministrados.

      Ejemplo de Certificados auto administrados de Cloudflare: Imagen de muestra Ingresa a Cloudflare y dirigete a SSL/TLS > Origin Server. Imagen de muestra Selecciona Crear certificado. Imagen de muestra Obtendrás un certificado y su clave privada. Imagen de muestra Copia estos valores y colócalos en los campos correspondientes en la configuración del balanceador.

  • Certificados Administrados por Google:

Si eliges No, Google Managed SSL y prefieres certificados administrados por Google, no necesitas completar los campos Auto Managed SSL Certificate ni Auto Managed SSL Certificate Private Key. los subdominios para pybox seran agregados automaticamente. Pero, en caso de que necesites algun subdominio extra podrás agregarlos en la sección Google Managed SSL Certificate Domains.
Imagen de muestra

📌 Más información en la documentación oficial de certificados SSL administrados por Google.

2.9. Configuración del balanceador de carga SSH

Imagen de muestra

En esta sección, debes decidir si deseas o no crear un balanceador de carga SSH.

⚠️ ¿Para qué sirve?
Permite exponer la conexión SSH a los nodos de Pybox, funcionando como un único punto de acceso.

Una vez completadas todas las configuraciones, haz clic en Implementar para iniciar el proceso.
Imagen de muestra

Podrás ver un resumen detallado de todos los recursos que se están creando o se están poniendo en uso.
Imagen de muestra

Nota:
El tiempo de implementación dependerá de la cantidad de recursos asignados.

Imagen de muestra

3. Finalización de la implementación

Cuando el proceso haya finalizado, deberías ver una lista de todos los recursos con el estado ✅Creado . Imagen de muestra

4. Próximos pasos

4.1 Verificación de la implementación

Una vez finalizado el proceso de implementación, podrás revisar los resultados en la pestaña Detalles dentro de la misma vista.
Imagen de muestra

🔔Acceso alternativo🔔: También puedes acceder desde el panel principal de Google Cloud:
Soluciones > Implementaciones de soluciones, y seleccionar la implementación con el nombre configurado al inicio.
Imagen de muestra

🔥En la pestaña Detalles, encontrarás información importante:🔥
Imagen de muestra

  • LB External: Dirección IP externa del balanceador de cargas de aplicaciones.
  • Pybox Default Username: Nombre del usuario por defecto para acceder a Pybox.
  • Pybox Admin Password: Contraseña generada para este usuario.
  • Pybox API Subdomain: Subdominio de la API.
  • Pybox Main Subdomain: Subdominio del frontend (interfaz gráfica de pybox).

4.2 Configuración de DNS para los subdominios de Pybox

Dependiendo del tipo de certificado SSL que hayas seleccionado en la configuración, deberás ajustar los registros DNS:

Debes configurar registros los DNS de tipo A para los subdominios de Pybox, apuntando a la IP del balanceador de cargas de aplicaciones.

Ejemplo en Cloudflare:

Agrega los subdominios de Pybox en tu servicio de DNS.

Imagen de muestra

Imagen de muestra

🔹 Asegúrate de configurarlos solo como DNS (sin proxy) en Cloudflare cuando uses certificados administrados por Google.

Verifica el estado del certificado:

Cuando usas un certificado administrado por Google, pueder buscarlo en la vista de recursos de la implementación, busca Balanceo de cargas y selecciónalo.

Imagen de muestra

Busca el blanceador de cargas de aplicación e ingresa en sus detalles.

Imagen de muestra

En la sección Detalles, accede al certificado SSL.

Imagen de muestra

Inicialmente, el estado del certificado será PROVISIONING, y los subdominios aparecerán con el estado FAILED_NOT_VISIBLE.

Imagen de muestra

Google validará los subdominios automáticamente en unos minutos, tras lo cual pasarán a ACTIVO.

Imagen de muestra

  • Si usaste certificados Auto-administrados:

    Cuando usas certificados autoadministrados normalmente debes encargarte de su configuración y renovación a través de otro proveedor, como Cloudflare.

4.3 Acceso a Pybox

⚠️ Importante: Inmediatamente después de la implementación, el acceso al panel puede no estar disponible, ya que las instancias del MIG tardan un poco en iniciarse y/o los certificados no fueron validaos aún. ⏳Solo es cuestión de tiempo para que puedas acceder⏳.

Imagen de muestra

Cuando todo esté listo, podrás acceder a Pybox y ver la pantalla de inicio de sesión. Utiliza las credenciales generadas en la implementación (usuario y contraseña) para iniciar sesión.

El usuario y la contraseña están en los resultados de la implementación. Revisa la sección Verificación de la implementación.

Imagen de muestra

Modo ClaroModo oscuro
Imagen de muestraImagen de muestra

🚀 ¡Disfruta de Pybox! 🎉