AWS Certified Cloud Practitioner
Post 11 of 25
44%
Complete
AWS Cloud Practitioner #11: CloudFront - CDN Global de AWS
Aprende CloudFront CDN: edge locations, caching, distribution types, y cómo reducir latencia para usuarios globales.
Recommended Prerequisites
For the best learning experience, we recommend reading these posts first:
AWS Cloud Practitioner #2: Infraestructura Global AWS - Regions, AZs y Edge Locations
Descubre cómo AWS distribuye su infraestructura globalmente y aprende a elegir la región correcta para tus aplicaciones usando metodología bottom-up.
Cloud Architecture9 min read→AWS Cloud Practitioner #7: Amazon S3 - Almacenamiento Ilimitado en la Nube
Domina S3: storage classes (Standard, IA, Glacier), versioning, lifecycle policies, security, y aprende a optimizar costos de almacenamiento.
Cloud Architecture13 min read→
🎯 Lo que Aprenderás Hoy
Al finalizar este post, podrás:
- Explicar qué es CloudFront y cómo funciona un CDN
- Diferenciar entre Edge Locations y Regions
- Configurar distributions para web y streaming
- Optimizar performance con caching
- Comprender casos de uso de CloudFront
El Problema Real
Tu sitio web está en us-east-1 (Virginia). Usuarios en Sydney, Australia reportan:
Problema:
- Página tarda 3 segundos en cargar
- Imágenes tardan 5 segundos
- Videos buffering constante
Causa:
- Distancia: Virginia → Sydney = 16,000 km
- Latency: ~250ms por request
- 20 requests por página = 5 segundos solo en latency
Usuarios frustrados → abandonan sitioSolución: CloudFront CDN
Con CloudFront:
- Content cached en Edge Location de Sydney
- Latency: ~10ms (local)
- Página carga en 500ms
- Usuarios felices ✅¿Qué es Amazon CloudFront?
CloudFront es un Content Delivery Network (CDN) que distribuye content globalmente con baja latency.
Analogía: CloudFront es como tener un almacén local en cada ciudad.
Sin CDN: Todos los productos están en warehouse central (Virginia). Cliente en Australia pide producto → envío desde Virginia (2 semanas).
Con CDN: Productos populares se almacenan en warehouse local de cada ciudad. Cliente en Australia pide → entrega desde warehouse local (1 día).
Conceptos Clave
1. Origin
Fuente original del content.
Origins soportados:
- S3 bucket
- EC2 instance
- ELB (Load Balancer)
- Custom HTTP server (on-premise)
Ejemplo:
Origin: mi-sitio.s3.amazonaws.com
Content: HTML, CSS, JS, imágenes2. Edge Location
Puntos de presencia (PoPs) donde content es cached.
AWS tiene 450+ Edge Locations globalmente
(Más que Regions: 30+ Regions vs. 450+ Edge Locations)
Distribuidos en ciudades principales:
- Americas: NYC, LA, Miami, São Paulo, etc.
- Europe: London, Frankfurt, Paris, etc.
- Asia: Tokyo, Singapore, Sydney, Mumbai, etc.3. Distribution
Configuración de CloudFront que define cómo distribuir content.
Tipos:
- Web Distribution: Websites (HTTP/HTTPS)
- RTMP Distribution: Media streaming (deprecated, usa Web)¿Cómo Funciona CloudFront?
Flujo:
1. User en Sydney requests image.jpg
↓
2. Request va a Edge Location más cercana (Sydney)
↓
3. Edge Location check: ¿Tengo image.jpg cached?
├─ SÍ → Return cached copy (CACHE HIT) ✅
│ Latency: ~10ms
│
└─ NO → (CACHE MISS)
Request a Origin (S3 en us-east-1)
Latency: ~250ms (primera vez)
Cache image.jpg en Edge Location
Futuras requests: CACHE HIT
↓
4. User recibe image.jpgBeneficios:
Primera request (cache miss):
- Latency: 250ms (desde origin)
Requests subsecuentes (cache hit):
- Latency: 10ms (desde edge)
- Mejora: 25x más rápido
- Less load en origin
- Mejor experience globalTipos de Content
1. Static Content
Content que NO cambia frecuentemente:
- Imágenes (logos, product photos)
- CSS, JavaScript files
- Videos
- PDFs
TTL (Time To Live) recomendado: Largo (24 horas - 1 año)
Ejemplo:
logo.png → TTL: 365 días
(Logo raramente cambia)2. Dynamic Content
Content que cambia frecuentemente:
- API responses
- User-specific data
- Real-time data
TTL recomendado: Corto (0 segundos - 5 minutos)
Ejemplo:
/api/user/profile → TTL: 0 (no cache)
/api/products → TTL: 5 minutos3. Streaming Media
Content de video/audio:
- Live streaming
- VOD (Video On Demand)
CloudFront optimizado para:
- HLS, DASH protocols
- Smooth streaming
- Progressive downloadConfiguración de Distribution
# Crear CloudFront distribution (CLI example)
aws cloudfront create-distribution \
--origin-domain-name mi-sitio.s3.amazonaws.com \
--default-root-object index.html \
--enabled
# Resultado:
# Distribution ID: E1234567890ABC
# Domain: d111111abcdef8.cloudfront.netComponentes key:
1. Origin Settings:
- Domain: S3 bucket, ALB, custom
- Protocol: HTTP/HTTPS
- Origin Path: Prefix para objects
2. Cache Behavior:
- Path Pattern: /images/*
- TTL: Min/Max/Default
- Allowed HTTP Methods: GET, POST, etc.
- Compress: Gzip automático
3. Distribution Settings:
- Price Class: Edge Locations a usar
- SSL Certificate: Default o custom
- Alternate Domain Names (CNAMEs)Cache Behavior y TTL
Time To Live (TTL)
TTL define cuánto tiempo content permanece cached.
Configuración:
- Minimum TTL: 0 segundos
- Maximum TTL: 365 días
- Default TTL: 24 horas
Ejemplo:
File: product-image.jpg
TTL: 86400 segundos (24 horas)
Flujo:
Day 1, 10:00 AM → Cache miss → fetch from origin → cache
Day 1, 11:00 AM → Cache hit (fast)
Day 1, 11:00 PM → Cache hit (fast)
Day 2, 10:01 AM → Cache expired → fetch from origin → cache againHeaders control:
Origin puede controlar caching via HTTP headers:
Cache-Control: max-age=3600
→ Cache por 1 hora
Cache-Control: no-cache
→ No cache (siempre fetch origin)
Cache-Control: public, max-age=31536000
→ Cache por 1 año (static assets)Invalidation
¿Qué es? Forzar removal de objects del cache antes de TTL expire.
Problema:
Subes nueva versión de logo.png
TTL: 24 horas
Users siguen viendo versión vieja hasta que expire
Solución:
Invalidate logo.png en CloudFront
→ Próximo request fetch nueva versión# Invalidate specific file
aws cloudfront create-invalidation \
--distribution-id E1234567890ABC \
--paths /logo.png
# Invalidate all files
aws cloudfront create-invalidation \
--distribution-id E1234567890ABC \
--paths "/*"
# Pricing:
# Primeros 1,000 paths/mes: GRATIS
# Después: $0.005 per pathBest Practice:
❌ NO invalidate frecuentemente (costo)
✅ Usa versioning:
logo.png → logo-v2.png
style.css → style.css?v=2
No need invalidation, nuevo filename = nuevo cacheCasos de Uso
1. Website Acceleration
Problema:
Website en us-east-1, usuarios globales
Solución:
CloudFront distribution con S3/ALB origin
Beneficio:
- 80% requests served from edge (cache hit)
- Latency reducida de 250ms → 10ms
- Less load en origin servers
Setup:
Origin: ALB con EC2 instances
CloudFront: Cache static assets (images, CSS, JS)
TTL: 24 horas para static, 0 para dynamic2. Video Streaming
Video platform con 1M usuarios
Sin CloudFront:
Origin bandwidth: 100 Gbps (caro)
Latency: Alta para usuarios lejanos
Con CloudFront:
Origin bandwidth: 10 Gbps (90% cache hit)
Latency: Baja (edge locations)
Ahorro: 90% en bandwidth costs
Optimizaciones:
- Adaptive bitrate streaming
- Progressive download
- Range requests support3. S3 Static Website
Static website hosted en S3
Setup:
1. S3 bucket: mi-sitio.s3.amazonaws.com
2. CloudFront distribution → origin: S3 bucket
3. Custom domain: www.miempresa.com
Beneficios:
- Users acceden via CloudFront domain
- Faster loading globalmente
- HTTPS support (certificado gratis)
- DDoS protection (AWS Shield)
Costo:
S3: $0.023/GB storage + $0.09/GB transfer
CloudFront: $0.085/GB transfer (first 10 TB)
(CloudFront a veces más barato que S3 transfer directo)4. API Acceleration
API con responses cacheable
Ejemplo:
GET /api/products → Lista de productos
Sin CloudFront:
Cada request → backend database query
1000 requests/sec → 1000 DB queries/sec
Con CloudFront:
TTL: 5 minutos
Cache hit: 95%
1000 requests/sec → 50 DB queries/sec (95% cached)
Beneficio:
- Reduced backend load
- Faster responses
- Lower DB costsSecurity Features
1. HTTPS Support
CloudFront provee:
✅ Default domain: HTTPS incluido
✅ Custom domain: Use ACM (AWS Certificate Manager) gratis
Ejemplo:
Distribution domain: d111111abcdef8.cloudfront.net
→ HTTPS gratis automáticamente
Custom domain: www.miempresa.com
→ Request certificado en ACM (gratis)
→ Asocia a CloudFront distribution
→ HTTPS funcionando2. Geo-Restriction
Bloquea/permite content basado en geografía del user.
Whitelist:
Solo permite users de US, CA, MX
Blacklist:
Bloquea users de países específicos
Ejemplo:
Content licensing solo válido en US
→ Geo-restriction: Whitelist US only3. Signed URLs / Signed Cookies
Acceso privado a content.
Use case:
Curso online pagado, solo subscribers pueden ver videos
Setup:
1. User login → backend verifies subscription
2. Backend genera signed URL (expira en 1 hora)
3. User accede video via signed URL
4. CloudFront verifica signature → allows access
Signed URL:
https://d111111abcdef8.cloudfront.net/video.mp4?
Expires=1731859200&
Signature=abc123...&
Key-Pair-Id=APKA...
Después de expirar → 403 Forbidden4. AWS Shield & WAF
AWS Shield Standard:
✅ Incluido gratis con CloudFront
✅ DDoS protection
✅ Layer 3/4 attacks
AWS WAF (Web Application Firewall):
💲 Costo adicional
✅ Block SQL injection, XSS
✅ Rate limiting
✅ IP filteringPricing
CloudFront pricing por región:
North America/Europe:
$0.085/GB (first 10 TB/mes)
$0.080/GB (next 40 TB)
$0.060/GB (next 100 TB)
...
Asia/Pacific:
$0.140/GB (first 10 TB)
(Más caro que NA/EU)
HTTP/HTTPS Requests:
$0.0075 per 10,000 requests (HTTP)
$0.0100 per 10,000 requests (HTTPS)
Invalidation:
Primeros 1,000 paths/mes: GRATIS
$0.005 per path después
Free Tier:
50 GB transfer out/mes
2,000,000 HTTP/HTTPS requests/mes
(12 meses)Optimización de costos:
1. Use Price Class:
Price Class All: Todas las edge locations (más caro)
Price Class 200: NA, EU, Asia, Middle East
Price Class 100: NA, EU only (más barato)
2. Aumenta TTL:
Mayor TTL = más cache hits = menos origin requests = menos costo
3. Compress:
Habilita automatic compression (gzip)
Reduce transfer size (menos costo)📝 Preparación para el Examen
Puntos Clave para Memorizar
CloudFront Basics:
- 📌 CDN: Content Delivery Network global
- 📌 Edge Locations: 450+ puntos de presencia
- 📌 Origin: S3, EC2, ELB, custom HTTP
- 📌 Distribution: Configuración de cómo distribuir content
Caching:
- 📌 TTL: Tiempo que content permanece cached
- 📌 Cache Hit: Content servido desde edge (rápido)
- 📌 Cache Miss: Content fetched desde origin (lento primera vez)
- 📌 Invalidation: Forzar removal (primeros 1,000 paths gratis)
Security:
- 📌 HTTPS: Incluido para default domain, ACM para custom
- 📌 Signed URLs: Acceso privado a content
- 📌 Geo-Restriction: Bloquear/permitir por país
- 📌 AWS Shield: DDoS protection incluido
Use Cases:
- 📌 Static websites: S3 + CloudFront
- 📌 Video streaming: Low latency globalmente
- 📌 API caching: Reduce backend load
- 📌 Global acceleration: Mejora performance
Preguntas de Práctica
Pregunta 1:
Una empresa tiene website en S3. Usuarios en Asia reportan tiempos de carga lentos. ¿Qué solución mejora performance?
A) Mover S3 bucket a región de Asia B) Usar CloudFront distribution C) Aumentar instance type de EC2 D) Usar RDS Multi-AZ
Respuesta: B) Usar CloudFront distribution
CloudFront caches content en edge locations cerca de usuarios en Asia, reduciendo latency dramáticamente.
A es menos optimal: Requiere migración y solo ayuda usuarios en esa región.
Pregunta 2:
¿Qué es un beneficio de CloudFront además de performance?
A) Automatic scaling de EC2 B) Database replication C) DDoS protection via AWS Shield D) Automated backups
Respuesta: C) DDoS protection via AWS Shield
CloudFront incluye AWS Shield Standard gratis, provee DDoS protection. Además mejora performance via caching global.
🎓 Resumen
Lo que aprendimos:
- CloudFront: CDN global con 450+ edge locations
- Caching: TTL controla cuánto tiempo content permanece cached
- Origins: S3, EC2, ELB, custom HTTP servers
- Security: HTTPS, signed URLs, geo-restriction, AWS Shield
- Use Cases: Static websites, streaming, API acceleration
Decisión de uso:
¿Usuarios globales?
└─ SÍ → CloudFront (reduce latency)
¿Static content?
└─ SÍ → CloudFront con TTL largo (cache hit alto)
¿Necesitas HTTPS?
└─ SÍ → CloudFront + ACM (gratis)
¿Video streaming?
└─ SÍ → CloudFront (optimizado para media)⏭️ Próximo Post
En el Post #12 comenzaremos Módulo 4: Security & Compliance con AWS IAM:
- Identity and Access Management
- Users, Groups, Roles, Policies
- Principio de least privilege
- MFA y best practices
📚 Recursos
Tags: #AWS #CloudPractitioner #CloudFront #CDN #EdgeLocations #Performance #Caching #Certification
Related Articles
AWS Cloud Practitioner #1: De Servidores Físicos a la Nube
Aprende qué es cloud computing y las diferencias entre IaaS, PaaS y SaaS con una metodología bottom-up que construye tu conocimiento paso a paso.
AWS Cloud Practitioner #2: Infraestructura Global AWS - Regions, AZs y Edge Locations
Descubre cómo AWS distribuye su infraestructura globalmente y aprende a elegir la región correcta para tus aplicaciones usando metodología bottom-up.
AWS Cloud Practitioner #3: Superpoderes de la Nube - Elasticity, Scalability y HA
Comprende las ventajas clave de cloud computing: elasticity, scalability, high availability y agility. Aprende cómo AWS implementa estos conceptos.
AWS Cloud Practitioner #4: Well-Architected Framework - Los 6 Pilares
Aprende los 6 pilares del AWS Well-Architected Framework: Operational Excellence, Security, Reliability, Performance Efficiency, Cost Optimization y Sustainability.