POLITICA DE COOKIES

Q2BSTUDIO.COM utiliza cookies técnicas, analíticas, de sesión y de publicidad con la finalidad de prestar un mejor servicio. No obstante, necesitamos su consentimiento explícito para poder utilizarlas. Así mismo puede cambiar la configuración de las cookies u obtener más información aquí .

Almacenamiento en Kubernetes Parte 4: S3 con EKS, Terraform y Manifiestos

Integración de Amazon S3 con EKS mediante Terraform y Mountpoint for S3 CSI para desplegar Nginx en Kubernetes

Publicado el 09/09/2025

En este artículo explicamos cómo integrar Amazon S3 como solución de almacenamiento con Amazon EKS utilizando Terraform y manifiestos Kubernetes YAML, y cómo ejecutar un contenedor Nginx que sirva archivos de un bucket S3 mediante Mountpoint for S3 CSI driver.

Qué es Amazon S3 y por qué usarlo con Kubernetes: Amazon Simple Storage Service S3 es un servicio de almacenamiento de objetos diseñado para escalabilidad, alta disponibilidad y durabilidad. A diferencia de EBS o EFS, S3 guarda objetos en buckets lo que lo hace ideal para contenido estático, logs y backups. Con Kubernetes se accede a S3 mediante el driver CSI Mountpoint for S3 que expone objetos con interfaces tipo POSIX para que los pods monten el bucket como si fuera un filesystem.

Arquitectura resumida: un bucket S3 actúa como backend, en Kubernetes se define una StorageClass para el driver S3 CSI y se realiza aprovisionamiento estatico mediante PersistentVolume y PersistentVolumeClaim que se enlazan manualmente al bucket. El driver se despliega en el cluster EKS y los pods montan el PVC. La identidad y permisos se gestionan con IAM Roles for Service Accounts IRSA para otorgar al pod solo los permisos necesarios.

Beneficios clave: escalabilidad virtualmente ilimitada, durabilidad elevada, pago por uso y fácil integración con servicios AWS como CloudFront, Athena o Glue. También permite integraciones en soluciones empresariales que requieren aplicaciones a medida o software a medida con necesidades de almacenamiento escalable.

Consideraciones importantes: el driver Mountpoint for S3 debe instalarse en el cluster, actualmente el aprovisionamiento es estatico y la identidad de pod requiere IRSA. Hay que vigilar cuotas como descriptores de archivos y throughput de red cuando se escala la carga.

Paso 1 Provisionar EKS con Terraform y VPC: utilice módulos comunitarios de Terraform para crear la VPC y el cluster EKS de forma reproducible. Cree roles IAM y asocie el provider OIDC del cluster para permitir IRSA. En Q2BSTUDIO ofrecemos servicios cloud y migraciones que incluyen diseño de infraestructura y despliegue con Terraform, ideales para proyectos que requieren servicios cloud aws y azure ver más sobre servicios cloud.

Paso 2 Crear el bucket S3: configure versionado, cifrado en el lado servidor, bloqueo de acceso público y políticas de bucket según el modelo de seguridad de la organización. Cree un rol IAM dedicado para el driver S3 CSI y una policy que permita acciones como s3 ListBucket y operaciones sobre objetos del bucket concreto. Adjunte la policy al rol y utilice IRSA para que el addon Mountpoint for S3 use ese role.

Paso 3 Instalar el Mountpoint for S3 CSI driver: despliegue el addon aws-mountpoint-s3-csi-driver en EKS o instálelo mediante los manifiestos recomendados por AWS. Asocie el role IRSA al service account del driver para que tenga los permisos necesarios para acceder al bucket.

Paso 4 Aprovisionamiento estatico en Kubernetes: cree una StorageClass que apunte al provisioner s3.csi.aws.com con parámetros bucketName y prefix. A continuación defina un PersistentVolume que referencia el bucket y un PersistentVolumeClaim que solicita la capacidad. Como el aprovisionamiento es estatico el administrador debe crear el PV manualmente y asegurarse de que el PVC se enlace al PV.

Ejemplo de uso con Nginx: despliegue un pod o un Deployment con imagen nginx y monte el PVC en la ruta usr share nginx html. Puede inicializar index html dentro del contenedor la primera vez para validar lectura y escritura. Exponga la aplicación con un Service ClusterIP o Ingress para pruebas. Verifique que los archivos persisten en S3 listando el contenido desde la consola o la CLI aws s3 ls.

Verificación y limpieza: compruebe que el pod del driver en kube system está activo, que el PV y el PVC están Bound y que el pod Nginx sirve el index desde el montaje S3. Para limpieza elimine los manifiestos Kubernetes y luego destruya la infraestructura Terraform si ya no se usa para ahorrar costes.

Límites y roadmap: hoy solo se soporta aprovisionamiento estatico, la provisión dinamica está planificada. Monitorice límites de red y de descriptors abiertos en nodos cuando escale acceso concurrente al bucket desde múltiples pods.

Casos de uso y recomendaciones: S3 con EKS es ideal para servir contenido estático, almacenar artefactos y logs o como backend para aplicaciones a medida que requieren un almacenamiento de objetos barato y durable. Para soluciones empresariales que combinan desarrollo customizado y capacidades de inteligencia artificial y agentes IA, esta arquitectura permite separar almacenamiento de objetos del ciclo de vida de las aplicaciones y facilita integraciones con pipelines de datos y herramientas de análisis como Power BI y servicios de inteligencia de negocio.

Sobre Q2BSTUDIO: somos una empresa de desarrollo de software y aplicaciones a medida especializada en software a medida, inteligencia artificial, ciberseguridad y servicios cloud. Ofrecemos desde desarrollo de aplicaciones multiplataforma hasta proyectos de automatización y soluciones de inteligencia de negocio. Si busca potenciar su estrategia de IA para empresas o desplegar agentes IA conversacionales podemos ayudarle con consultoría y desarrollo a medida, además de integrar almacenamiento y despliegue en AWS y Azure. Conozca nuestros servicios de desarrollo a medida y aplicaciones multiplataforma en desarrollo de aplicaciones y software a medida o solicite soluciones de inteligencia artificial en servicios de inteligencia artificial.

Conclusión: Amazon S3 combinado con EKS y el Mountpoint for S3 CSI driver ofrece una forma potente y coste efectiva de exponer almacenamiento de objetos a workloads Kubernetes. Aunque la integración actualmente requiere aprovisionamiento estatico y configuración previa, proporciona una solución escalable y segura para servir contenido estático y almacenar datos de forma durable. Para proyectos que necesiten acompañamiento en arquitectura, seguridad o integración con pipelines de datos y BI como Power BI y servicios de inteligencia de negocio, Q2BSTUDIO puede acompañarle desde la definición hasta la entrega.

Palabras clave integradas naturalmente: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi.

Fin del artículo, inicio de la diversión
Construyendo software juntos

Dando vida a tus ideas desde 2008

Diseñamos aplicaciones móviles y de escritorio innovadoras que cumplen con tus requisitos específicos y mejoran la eficiencia operativa.
Más info
Cuéntanos tu visión
Sea cual sea el alcance, podemos convertir tu idea en realidad. Envíanosla y charlemos sobre tu proyecto o una colaboración futura.
Contáctanos
artículos destacados
Live Chat
Enviado correctamente.

Gracias por confiar en Q2BStudio