IT Operations · Cloud Architecture · AWS Migration

Migración a AWS Estático

De WordPress en hosting tradicional a S3 + CloudFront + Route 53: rendimiento, seguridad y bajo coste en mantenimiento.

Perfil operativo

Aplicaciones críticas · Monitorización · Troubleshooting · Cloud

$ whoami
jordi.garcia

$ profile --focus
IT Operations | Middleware | AWS | Linux

$ mindset
run · observe · fix · document · improve

De WordPress en Cibernéticos a Web Estática serverless en AWS: Por qué y cómo migré mi CV web

Un análisis paso a paso del proceso de migración de mi web personal: retirando la capa de backend, PHP y base de datos de un hosting compartido tradicional para ganar en rendimiento global, HTTPS nativo y un bajo mantenimiento.

El punto de partida

Durante años, mi web personal y CV digital estuvieron alojados en el proveedor Cibernéticos utilizando un WordPress estándar. Aunque la solución cumplía su cometido, para un sitio web de perfil profesional que actúa principalmente como currículum y blog de actualización periódica, mantener una pila dinámica PHP + MySQL traía consigo ciertas ineficiencias innecesarias:

  • Mantenimiento continuo de plugins, temas y actualizaciones del core de WordPress para evitar vulnerabilidades.
  • Uso innecesario de base de datos para consumir contenidos que apenas cambian en tiempo real.
  • Tiempos de respuesta condicionados por los recursos del hosting compartido.
  • Costes fijos recurrentes de renovación de alojamiento clásico.

La solución propuesta: Arquitectura Serverless

Decidí transformar la web en un conjunto de archivos estáticos (HTML5, CSS y JS optimizado) e integrar la infraestructura dentro de la nube de Amazon Web Services (AWS).

Usuario (Navegador)
  ↓ [HTTPS / DNS en Route 53]
CloudFront (CDN Edge Locations + ACM Certificate)
  ↓ [Origin Access Control (OAC)]
Amazon S3 (Bucket Privado - Storage de Assets Estáticos)

Esta arquitectura elimina completamente el servidor web tradicional y delega la entrega de contenido a la red CDN global de AWS.

Paso 1: Extracción y maquetación estática

El primer paso no fue técnico en la nube, sino de contenido. Reconstruí el diseño dinámico de WordPress a código HTML5 limpio y semántico, unificando las hojas de estilo y optimizando los assets (imágenes y tipografías):

  • Conversión del contenido dinámico a marcado estático estructurado.
  • Optimización de imágenes (compresión y formatos web eficientes).
  • Validación de formularios mediante integraciones Serverless/API en lugar de plugins de WordPress.

Paso 2: Aprovisionamiento en AWS (S3, CloudFront y ACM)

Con el código estático listo, configuré los componentes esenciales en AWS:

  • Amazon S3: Creación de un bucket privado para alojar el código. Deshabilité el acceso público directo del bucket para garantizar la seguridad.
  • AWS Certificate Manager (ACM): Solicitud de un certificado SSL/TLS gratuito para habilitar HTTPS en mi dominio personalizado.
  • Amazon CloudFront: Configuración de la distribución CDN conectada al bucket S3 como origen mediante Origin Access Control (OAC). Esto garantiza que nadie pueda acceder a los archivos del bucket sin pasar por CloudFront.
  • Manejo de páginas de error: Configuración de respuestas de error personalizadas (404/403) para que redirijan a páginas descriptivas diseñadas en la propia web.

Paso 3: Migración DNS con Route 53 y Switch-over

El paso final consistió en delegar la gestión del dominio desde el panel de Cibernéticos hacia AWS:

Creé la zona alojada en Route 53 y apunté los registros DNS (A y AAAA alias) directamente hacia la distribución de CloudFront. Una vez propagados los nuevos servidores de nombres (NS), procedí a dar de baja el hosting dinámico de Cibernéticos.

Beneficios obtenidos

Rendimiento superior

Los archivos se entregan desde el nodo de CloudFront más cercano al usuario, logrando tiempos de carga en milisegundos.

Seguridad robusta

Al eliminar PHP y MySQL, la superficie de ataque se reduce drásticamente. Sin riesgo de inyecciones SQL o exploits de plugins.

Costes optimizados

El coste en S3 y CloudFront para un volumen de tráfico personal cae considerablemente.

Cero mantenimiento de SO

No hay servidores que parchear, ni actualizaciones de WordPress pendientes ni caídas por falta de memoria en el servidor.

Reflexión personal

Aplicar principios de ingeniería y operación cloud a nuestros propios proyectos personales no solo nos ayuda a mantener el Stack actualizado, sino que demuestra que no siempre la solución más compleja (un CMS dinámico) es la adecuada para todos los escenarios.

Migrar a AWS S3 + CloudFront ha devuelto la simplicidad a la gestión de mi CV y blog, garantizando máxima disponibilidad y una base sólida sobre la que seguir iterando.

← Volver al blog