Skip to content
← Volver a proyectos

FortiAIGate sobre AWS EKS

Laboratorio personal de FortiAIGate 8.0 desplegado sobre AWS EKS con nodos GPU (L4/A10/A100), almacenamiento compartido en EFS y un panel de control propio para encender el entorno bajo demanda y minimizar costos.

Año
2026
Stack
FortiAIGate AWS EKS GPU (L4/A10/A100) EFS Helm CloudFront Lambda
Diagrama de arquitectura de FortiAIGate sobre AWS EKS con nodegroup GPU y panel de control
Diagrama de arquitectura de FortiAIGate sobre AWS EKS con nodegroup GPU y panel de control

Contexto

FortiAIGate 8.0 es la plataforma de Fortinet para la protección de tráfico de inteligencia artificial: control de prompt injection, prevención de fuga de datos y análisis de respuestas de modelos LLM. Su despliegue oficial se realiza mediante un Helm chart sobre Kubernetes con soporte de GPU, lo cual implica orquestar un clúster EKS, nodegroups con instancias de alto costo (familias g6, g5 o p4) y almacenamiento compartido entre pods.

Construí este laboratorio con tres objetivos: dominar el producto a fondo, contar con un entorno controlado para demostraciones técnicas y disponer de un terreno propio para investigaciones de seguridad ofensiva sobre cargas de IA.

Diseño de la arquitectura

El entorno está diseñado para encenderse únicamente cuando se requiere y apagarse de forma automática al concluir la sesión:

El resultado: la GPU genera costo únicamente durante las horas de uso efectivo, mientras el resto del laboratorio permanece persistente y económico.

Decisiones técnicas relevantes

Bloqueo de licencia por hostname

La licencia de FortiAIGate se vincula al hostname del pod. En la configuración por defecto, cada vez que el nodegroup escala de cero a uno, Kubernetes asigna un hostname distinto y la licencia se invalida. La solución consistió en inyectar la variable NODE_NAME como override estable, permitiendo que la licencia sobreviva los ciclos de Stop/Start sin necesidad de reactivación manual ante FortiCare.

Afinidad sobre etiquetas estables

El Helm chart utiliza por defecto kubernetes.io/hostname para algunas reglas de afinidad. Tras el primer ciclo de apagado y reencendido, esa etiqueta cambia y los pods quedan en estado pendiente de forma permanente. La sustitución por una etiqueta propia del nodegroup, que persiste entre escalados, eliminó completamente el problema.

Patrón reutilizable de panel de control

El panel desarrollado para arrancar el nodo GPU se consolidó como un patrón aplicable más allá de este laboratorio. La misma arquitectura se puede reutilizar para FortiEDR, sandboxes de análisis y, en general, cualquier carga sobre EKS que consuma recursos costosos por sesión.

Aprendizajes

Próximos pasos

Estoy consolidando esta arquitectura en un kit reutilizable bajo el nombre “FortiAIGate-on-AWS in a box”, combinando Terraform, valores de Helm y funciones Lambda, con el objetivo de que partners y clientes puedan replicar el laboratorio en sus propias cuentas reduciendo el proceso a un solo comando de aprovisionamiento.