✅Primera Parte: Preparación Previa
Lista de Verificación de Preparación
- Cuenta de AWS (con método de pago activado)
- Nombre de dominio propio (por ejemplo: example.com)
- Archivos del sitio web preparados (HTML/CSS/JS)
- Navegador abierto en la consola de AWS (console.aws.amazon.com)
Comprensión de Conceptos Clave
- Bucket de S3: Contenedor para almacenar archivos del sitio web
- CloudFront: CDN global, acelera la distribución de contenido
- Route53: Servicio de resolución DNS, asocia dominios
- ACM: Servicio de certificado SSL/TLS gratuito
- OAC: Origin Access Control, garantiza que solo CloudFront acceda a S3
💾Segunda Parte: Creación y Configuración del Bucket de S3
1Crear un Bucket de S3
Ruta: Página de inicio de la consola de AWS → S3 → Buckets → Crear bucket
Pasos Detallados
- Inicia sesión en la consola de AWS
- En el cuadro de búsqueda superior, ingresa
S3→ Haz clic para entrar al servicio S3 - En la barra lateral izquierda, haz clic en "Buckets"
- Haz clic en el botón "Crear bucket" (azul)
Rellenar el Formulario
2Habilitar Alojamiento de Sitio Web Estático
Ruta: Bucket de S3 → Propiedades → Editar alojamiento de sitio web estático
Pasos Detallados
- Haz clic en el nombre del bucket que acabas de crear (example-com-website)
- Haz clic en la pestaña "Propiedades" (quinta desde la derecha)
- Desplázate hacia abajo para encontrar el área de "Alojamiento de sitio web estático"
- Haz clic en el botón "Editar"
Elementos de Configuración
- La página muestra "✓ Actualización completada"
- Bajo "Alojamiento de sitio web estático" se muestra "Habilitado"
- Verás una URL de punto de acceso del sitio web
3Subir Archivos del Sitio Web
Ruta: Bucket de S3 → Objetos → Subir
Ejemplo de Estructura de Archivos
Método de Subida
Arrastra la carpeta del sitio web al área de subida, soporta subida recursiva de subcarpetas
Método B: Seleccionar Haciendo Clic
Haz clic en "Agregar archivo" o "Agregar carpeta" y selecciona archivos uno a uno
- Observa que el progreso de subida llega al 100%
- Después de regresar al bucket, ves la lista de todos los archivos
🔐Tercera Parte: Crear Origin Access Control (OAC)
4Crear OAC
Ruta: CloudFront → Seguridad → Origin Access
Pasos Detallados
- En el cuadro de búsqueda superior, ingresa
CloudFront→ Entra al servicio CloudFront - En la barra lateral izquierda, expande el menú "Seguridad"
- Haz clic en "Origin Access"
- Haz clic en el botón "Crear Origin Access Control"
Rellenar el Formulario
- El OAC recién creado aparece en la página
- Copia el ID de OAC mostrado (por ejemplo: E127EXAMPLE51Z)
⚡Cuarta Parte: Crear Distribución de CloudFront
5Crear Distribución de CloudFront
Ruta: CloudFront → Distribuciones → Crear distribución
Configuración de Origen - Parte de Origin
Configuración de Comportamiento de Caché Predeterminado
Configuración de Distribución
6Copiar Nombre de Dominio de CloudFront
Ruta: CloudFront → Distribuciones → Detalles de Distribución
- Después de crear la distribución, haz clic en el ID de distribución
- En la pestaña "Detalles de Distribución" visualiza la siguiente información
- Copia el nombre de dominio de la distribución (d111111abcd.cloudfront.net)
7Aplicar Política del Bucket de S3
Ruta: S3 → Bucket → Permisos → Política del Bucket
Pasos de Operación
- Vuelve al servicio S3
- Selecciona el bucket del sitio web (example-com-website)
- Haz clic en la pestaña "Permisos"
- Desplázate hacia abajo para encontrar "Política del Bucket" y haz clic en "Editar"
- Pega el siguiente JSON en el cuadro de edición
JSON de Política del Bucket (requiere modificación)
example-com-website→ Reemplaza con el nombre de tu bucket123456789012→ Reemplaza con tu ID de cuenta de AWSE1234ABCD→ Reemplaza con tu ID de distribución de CloudFront
🔒Quinta Parte: Solicitar Certificado ACM
8Solicitar Certificado SSL/TLS
Ruta: ACM (AWS Certificate Manager) → Certificados → Solicitar certificado
Nota Importante
Pasos Detallados
- En el cuadro de búsqueda superior, ingresa
Certificate Manager→ Entra al servicio ACM - Asegúrate de que la región sea US East (N. Virginia)
- Haz clic en el botón "Solicitar certificado"
Rellenar el Formulario
Validación DNS Posterior
Después de solicitar, la página te pedirá validar el dominio:
- En el área de "Validación de dominio" verás los registros de validación
- Haz clic en el botón "Crear registro de Route53"
- AWS agregará automáticamente un registro CNAME en Route53
- Espera 5-30 minutos, el estado cambiará a "Emitido"
🌐Sexta Parte: Configuración de DNS de Route53
9Crear Zona Alojada de Route53
Ruta: Route53 → Zonas Alojadas → Crear Zona Alojada
Pasos Detallados
- En el cuadro de búsqueda superior, ingresa
Route53→ Entra al servicio Route53 - En la barra lateral izquierda, haz clic en "Zonas Alojadas"
- Haz clic en el botón "Crear Zona Alojada"
Rellenar el Formulario
Registrar Información Importante
10Actualizar Configuración de DNS del Registrador de Dominios
Operación en el Registrador de Dominios (como GoDaddy, Namecheap, Aliyun, etc.)
Pasos
- Inicia sesión en tu cuenta del registrador de dominios
- Encuentra "Gestión de DNS" o "Gestión de Dominios"
- Modifica los Servidores de Nombres (registros NS) a los 4 que copiaste arriba
- Guarda los cambios
11Crear Registros de Alias en Route53
Ruta: Route53 → Zonas Alojadas → Crear Registro
Crear Primer Registro (Dominio Raíz)
Crear Segundo Registro (Subdominio www)
Repite los pasos anteriores, pero cambia "Nombre del registro" a www, el resto de la configuración es igual.
12Configurar CNAME de CloudFront y Certificado
Ruta: CloudFront → Distribuciones → Editar
Pasos
- Vuelve al servicio CloudFront
- Selecciona tu distribución (haz clic en ID de distribución)
- Haz clic en el botón "Editar"
- Encuentra el campo "Nombres de dominio alternativos (CNAME)"
- Haz clic en el cuadro de entrada y agrega dos nombres de dominio
Seleccionar Certificado SSL
⚙️Séptima Parte: Configurar Política de Caché
13Establecer Caché para Diferentes Tipos de Archivo
Ruta: CloudFront → Distribuciones → Comportamientos → Editar
Este paso se utiliza para optimizar costos y rendimiento. Establece diferentes tiempos de caché para diferentes tipos de archivo.
Configuración de Comportamiento Predeterminado
Opcional: Crear Comportamiento Separado para HTML
Si necesitas un control más granular, puedes crear reglas de comportamiento diferentes para diferentes tipos de archivo:
✔️Octava Parte: Prueba y Verificación
14Probar Acceso al Sitio Web
URL de Prueba
Indicadores de Éxito
- ✅ La página se carga normalmente
- ✅ HTTPS es válido (la barra de direcciones muestra un icono de candado)
- ✅ La información del certificado es correcta (haz clic en el icono de candado para ver)
Tabla de Solución de Problemas
| Problema | Causa | Solución |
|---|---|---|
| Muestra página de error de AWS S3 | Política del bucket de S3 no configurada correctamente | Verifica el ID de distribución en la política del bucket |
| Muestra "Access Denied" | OAC no aplicado correctamente | Confirma que hay OAC en la política del bucket de S3 |
| El nombre de dominio personalizado no funciona | DNS de Route53 no ha entrado en vigor | Espera propagación de DNS (máximo 48 horas) |
| Certificado SSL inválido | Certificado ACM no implementado en CloudFront | Selecciona el certificado correcto en CloudFront |
| El acceso es lento | El caché no está funcionando | Verifica la configuración del encabezado Cache-Control |
🚀Novena Parte: Optimización de Rendimiento
15Configurar Optimización de Encabezado de Caché
Establecer encabezados Cache-Control apropiados para archivos en S3 puede reducir significativamente los costos y mejorar el rendimiento.
Método A: A través de la Consola de AWS
- S3 → Bucket → Objetos
- Selecciona archivo → "Acciones de Objeto" → "Editar Metadatos"
- Agrega metadatos personalizados (Clave: Cache-Control)
Recomendación de Tiempo de Caché
| Tipo de Archivo | Valor de Cache-Control | Descripción |
|---|---|---|
| Archivo HTML | public, max-age=300, must-revalidate |
5 minutos, debe revalidar |
| CSS/JS/Imagen | public, max-age=31536000, immutable |
1 año, requiere nombres de archivo con versión |
| Respuesta de API | public, max-age=0 |
Sin caché, obtener lo más reciente cada vez |
Método B: A través de AWS CLI
16Habilitar Compresión Gzip
Habilitar compresión automática en CloudFront puede reducir el tráfico en 60-70%.
Pasos
- CloudFront → Distribuciones → Editar
- Encuentra "Comportamiento de Caché Predeterminado"
- Marca "Habilitar Compresión" ✓
📊Décima Parte: Monitoreo y Control de Costos
17Configurar Alertas de Monitoreo
Monitoreo del Costo de CloudFront
- Entra en CloudWatch o Gestión de Costos
- Configura alertas presupuestarias
Monitoreo de Indicadores Clave de Rendimiento
Visualiza los siguientes indicadores en la distribución de CloudFront:
- Número de solicitudes: Total de solicitudes por día
- Volumen de transferencia de datos: Tamaño del tráfico de salida
- Tasa de acierto de caché: Debería ser > 90%
- Tasa de errores: Debería estar cerca de 0%
Tabla de Estimación de Costos (Mensual)
| Servicio | Costo | Descripción |
|---|---|---|
| Almacenamiento de S3 | $0.23 | 10GB × $0.023 |
| Solicitudes GET de S3 | $0.04 | 1M ÷ 1000 × $0.0004 |
| Salida de CloudFront | Gratis | Asignación gratuita de 1TB (100GB usado) |
| Solicitudes de CloudFront | Gratis | Asignación gratuita de 10M (1M usado) |
| Route53 | $0.50 | Tarifa mensual de zona alojada |
| Certificado ACM | Gratis | Gratis para uso interno de AWS |
| Total | $0.77/mes |
Preguntas Frecuentes
P1: ¿Cómo actualizar archivos del sitio web?
P2: ¿Cómo limpiar el caché de CloudFront?
- CloudFront → Distribuciones → Invalidaciones
- Crear invalidación → Ingresa ruta
/*→ Crear
P3: ¿Cuál es el flujo de transferencia de datos de S3 + CloudFront?
P4: ¿Cómo implementar redirección HTTPS?
Ya está configurado en CloudFront:
- Política de protocolo del espectador: Redirigir HTTP a HTTPS
Todas las solicitudes HTTP se redirigirán automáticamente a HTTPS.
✅Lista de Verificación Resumida
Después de la Implementación, Verifica los Siguientes Elementos
- Bucket de S3 creado y archivos subidos
- Alojamiento de sitio web estático habilitado (index.html, error.html)
- OAC creado
- Distribución de CloudFront creada e implementada
- Certificado ACM solicitado y verificado
- Zona alojada de Route53 creada
- DNS del registrador de dominios actualizado a NS de Route53
- Registros de alias (registros A) creados
- CNAME de CloudFront configurado
- Certificado ACM aplicado a CloudFront
- https://example.com accesible normalmente
- Política de caché optimizada
- Compresión habilitada
- Monitoreo de costos configurado
Mantenimiento Posterior
Operación Diaria
- Verifica regularmente la tasa de acierto de caché de CloudFront (debería ser > 90%)
- Monitorea el costo mensual
- Usa el comando
aws s3 syncal actualizar contenido del sitio web
Mantenimiento Regular
- Verifica la fecha de vencimiento del certificado ACM (renovación automática)
- Verifica si la configuración de DNS de Route53 es correcta
- Limpia versiones antiguas de objetos S3 (si se habilita el control de versiones)
Optimización de Rendimiento
- Usa registros en tiempo real de CloudFront para analizar la tasa de acierto de caché
- Ajusta regularmente la configuración del encabezado Cache-Control
- Considera usar Lambda@Edge para computación en el borde
🎉 Implementación Completada
Ahora tienes una solución de alojamiento de sitio web estático de nivel de producción y bajo costo
📊 Costo: $0.50 - $5 en promedio mensual
⚡ Rendimiento: Carga global < 500ms
🔒 Seguridad: HTTPS + Protección DDoS
📈 Escalabilidad: Maneja automáticamente el crecimiento del tráfico