En entornos empresariales la seguridad y las políticas de red son prioritarias. Es habitual que servidores, incluidos los nodos worker de Kubernetes en Amazon EKS, residan en subredes privadas sin acceso directo a Internet y que todo el tráfico saliente tenga que pasar por un proxy HTTP/HTTPS centralizado y monitorizado. Esto mejora la seguridad pero plantea un reto de configuración para componentes que necesitan descargar imágenes de contenedor, comunicarse con las APIs de AWS y ejecutar tareas de arranque.
El módulo terraform-aws-modules/eks/aws ofrece un hook llamado cloudinit_pre_nodeadm que permite inyectar una configuración previa al agente de bootstrap nodeadm. La idea es asegurar que desde el primer arranque el sistema operativo, el runtime de contenedores containerd y los componentes de Kubernetes sean conscientes del proxy.
El reto principal es lograr una conciencia de proxy completa. No basta con exportar variables HTTP_PROXY y HTTPS_PROXY en el shell. Un nodo EKS moderno basado en la AMI optimizada de Amazon Linux necesita configuración independiente para varios elementos: el sistema operativo para sesiones y utilidades generales, containerd para poder tirar imágenes desde Docker Hub o Amazon ECR, el proceso de bootstrap nodeadm que debe comunicarse con el plano de control y en muchos casos debe evitar el proxy, y el gestor de paquetes yum si se instalan paquetes adicionales en user data.
cloudinit_pre_nodeadm actúa en el momento justo: después de la inicialización básica del SO pero antes de que nodeadm arranque. Al ejecutar un script cloud-init en este punto se garantiza que cuando nodeadm, containerd y kubelet se inicien heredarán la configuración de red correcta y podrán funcionar en una red restringida.
Resumen del enfoque recomendado sin incluir bloques de código literales: desde Terraform se pasa la variable de cluster service CIDR al módulo y se define cloudinit_pre_nodeadm con un script shell que realiza estos pasos principales. Primero obtiene un token de IMDSv2 para consultar de forma segura el metadata service y extraer la dirección MAC y los bloques CIDR de la VPC. Con esos datos se construye la lista NO_PROXY incluyendo el CIDR de la VPC, el CIDR de servicios de Kubernetes, localhost, 169.254.169.254 y sufijos como .amazonaws.com y .svc.cluster.local para asegurar acceso directo a APIs y servicios internos.
El script escribe las variables HTTP_PROXY HTTPS_PROXY NO_PROXY en /etc/environment en formas tanto en mayúsculas como en minúsculas para cubrir distintas convenciones. Para containerd y nodeadm se crean overrides de systemd que incluyen EnvironmentFile=/etc/environment, de forma que esos servicios carguen las variables al arrancar. Se añade además la línea proxy al archivo /etc/yum.conf para que yum use el proxy. Finalmente se recarga systemd y se reinicia containerd; nodeadm arranca posteriormente heredando la configuración.
Algunas buenas prácticas incluidas en el flujo: usar set -e y set -x en el script para detectar errores y facilitar el diagnóstico, construir dinámicamente NO_PROXY evitando valores hardcodeados, y aprovechar una solución declarativa en Terraform para mantener la reproducibilidad y el versionado de la infraestructura.
Este patrón permite que los nodos gestionados se unan al cluster, obtengan certificados, configuren kubelet y tiren imágenes de contenedores aun cuando estén detrás de un proxy corporativo, simplificando el despliegue en entornos restrictivos y cumpliendo requisitos de seguridad y auditoría.
En Q2BSTUDIO ayudamos a implementar soluciones cloud seguras y automatizadas que incluyen despliegue de Kubernetes y configuración con Terraform. Somos una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y agentes IA. Si buscas apoyo en migraciones o en diseñar pipelines de infraestructura como código puedes conocer nuestros servicios de servicios cloud aws y azure y explorar cómo aplicamos inteligencia artificial para empresas y soluciones a medida.
Palabras clave integradas para mejorar posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA y power bi. Si quieres que adaptemos este patrón a tu arquitectura y políticas de seguridad contacta con Q2BSTUDIO para una propuesta personalizada.