El Costo Real de AWS Amplify — Lo que la Página de Precios No Te Dice
El Costo Real de AWS Amplify — Lo que la Página de Precios No Te Dice
TL;DR: Amplify cobra un markup de 67% en transferencia de datos ($0.15/GB vs $0.09/GB directo) y 5x en minutos de build ($0.01/min vs $0.002/min vía CodePipeline). Los costos reales se esconden detrás de los servicios que provisiona: Cognito redujo su free tier 80% en diciembre 2024 (de 50K a 10K MAU), AppSync cobra $4/millón de queries (20x más que Lambda), y no hay límite de gasto. Historias reales: $1,124 por seguir el tutorial oficial, $2,300/mes por un deployment atascado. Cognito no puede exportar hashes de contraseñas — si te vas, tus usuarios resetean sus passwords. Evalúa cuidadosamente antes de adoptar.
AWS Amplify es seductor. Ejecuta unos comandos, despliega una app full-stack con autenticación, un API GraphQL, una base de datos y hosting — todo sin tocar la consola de AWS. Para prototipos y hackathons, es magia.
Pero la magia tiene un precio. Y ese precio no está en la página de precios.
Después de investigar documentación oficial, issues de GitHub, post-mortems de desarrolladores y discusiones de la comunidad, emerge un patrón: el costo de Amplify no es lo que pagas — es lo que no sabes que vas a pagar. La página de precios te muestra las tarifas de hosting. La factura real viene de los servicios que Amplify provisiona detrás de escena, los markups sobre los equivalentes directos de AWS, y los costos de migración cuando eventualmente lo superas.
Lo que la Página de Precios Te Muestra
Empecemos con lo que AWS te dice de frente. Según la página oficial de precios de Amplify:
Hosting
| Componente | Free Tier | Tarifa Pagada |
|---|---|---|
| Almacenamiento de datos (CDN) | 5 GB/mes | $0.023 por GB/mes |
| Transferencia de datos | 15 GB/mes | $0.15 por GB servido |
Build & Deploy
| Tipo de Instancia | Specs | Free Tier | Tarifa Pagada |
|---|---|---|---|
| Standard | 8 GB RAM, 4 vCPUs | 1,000 min/mes | $0.01/min |
| Large | 16 GB RAM, 8 vCPUs | Ninguno | $0.025/min |
| XLarge | 72 GB RAM, 36 vCPUs | Ninguno | $0.10/min |
Server-Side Rendering (SSR)
| Componente | Free Tier | Tarifa Pagada |
|---|---|---|
| Cantidad de requests | 500,000 requests/mes | $0.30 por 1 millón de requests |
| Duración del request | 100 GB-horas/mes | $0.20 por GB-hora |
Seguridad
Web Application Firewall (WAF): $15/mes por app de Amplify (prorrateado por hora), más cargos separados de AWS WAF ($5/mes por web ACL + $1/regla + cargos por request). Total mínimo: ~$22/mes por app.
Esto se ve razonable. Un equipo pequeño de 5 desarrolladores haciendo 2 commits/día pagaría aproximadamente $8/mes por hosting. Pero esto es solo la punta del iceberg.
El Impuesto a la Conveniencia
Amplify no es un servicio independiente — es una capa de abstracción sobre otros servicios de AWS. Y esa abstracción viene con un markup.
Un análisis en Medium por Kavindu Vindika desglosó los números:
| Dimensión | Precio Amplify | Precio AWS Directo | Markup |
|---|---|---|---|
| Transferencia de datos | $0.15/GB | $0.09/GB (EC2/S3) | ~67% |
| Minutos de build | $0.01/min | $0.002/min (CodePipeline) | ~400% |
| Entrega CDN | $0.15/GB servido | $0.085-$0.12/GB (CloudFront) | 25-76% |
Transferencia de Datos: El Multiplicador Silencioso
El free tier de 15 GB/mes suena generoso hasta que te das cuenta de que Vercel ofrece 100 GB gratis y Cloudflare Pages ofrece ancho de banda ilimitado gratis. Y cuando lo excedes, los $0.15/GB de Amplify son la opción más cara del ecosistema.
Una comparación detallada en DEV.to calculó la diferencia concreta para la región de Tokio:
| Transferencia Mensual | Costo CloudFront | Costo Amplify | Extra que Pagas |
|---|---|---|---|
| 100 GB | $0.00 (free tier) | $12.75 | +$12.75 |
| 500 GB | $0.00 (free tier) | $72.75 | +$72.75 |
| 1 TB | $0.00 (free tier) | $151.35 | +$151.35 |
| 10 TB | $1,025.02 | $1,507.50 | +$482.48 |
Aquí está el detalle crítico: Amplify no se beneficia del free tier de 1 TB/mes de CloudFront. Aunque Amplify usa CloudFront internamente, su facturación es separada. Estás pagando un premium por un servicio que usa un servicio más barato internamente.
Minutos de Build: Lentos y Caros
Los builds de Amplify son notoriamente lentos. Múltiples issues en GitHub documentan el problema:
- Una app pequeña de Next.js con solo 2 páginas estáticas toma ~10 minutos en Amplify, comparado con 2-3 minutos en Netlify o Vercel.
- Deployments de backend con CloudFormation pueden tomar 20+ minutos por build.
- Los usuarios han pedido deployments más rápidos durante años.
Un desarrollador encontró una optimización contraintuitiva. En un writeup detallado en HackMD, logró una reducción de ~50% en tiempos de build al desactivar completamente el caché por defecto de Amplify — la plataforma gastaba más tiempo comprimiendo y descomprimiendo un artefacto de caché de 2,873 MB que simplemente reinstalando las dependencias desde cero.
A $0.01/minuto, los builds lentos no solo desperdician tiempo — desperdician dinero. Y a 5x el costo de CodePipeline, cada minuto desperdiciado cuesta más de lo que debería.
Los Costos Detrás de la Abstracción
Cuando agregas autenticación, un API o una base de datos a través de Amplify, provisiona servicios reales de AWS. Cada uno tiene su propio pricing — y algunos se han vuelto más caros recientemente.
Amazon Cognito: La Reducción del 80% en el Free Tier
Cognito maneja la autenticación para apps de Amplify. En diciembre de 2024, AWS reestructuró los precios de Cognito significativamente:
Antes (pre-diciembre 2024):
- 50,000 MAU gratis
Después (diciembre 2024):
- 10,000 MAU gratis (tiers Lite y Essentials)
- Tres tiers: Lite ($0.0055/MAU), Essentials ($0.015/MAU, el default), Plus ($0.02/MAU)
El costo a escala, usando el tier Lite según los precios oficiales de Cognito:
| MAU | Costo Mensual (Lite) | Costo Mensual (Essentials) |
|---|---|---|
| 10,000 | $0 | $0 |
| 50,000 | ~$220 | ~$600 |
| 100,000 | ~$495 | ~$1,350 |
| 500,000 | ~$2,475 | ~$7,350 |
Para usuarios existentes, hay una trampa: los user pools creados antes del 22 de noviembre de 2024 tenían el free tier de 50K. Cambiar de tier te baja al free tier de 10K. Para una app con 40K MAU, eso significa pasar de $0/mes a $220-$600/mes.
Un desarrollador en Hacker News reaccionó:
“What the actual fuck AWS? Please don’t let this be a trend on AWS where we artificially gimp services just to create pricing tiers.”
Pero se pone peor. Rhythmic Technologies documentó un nuevo cargo M2M (machine-to-machine): $6/mes por app client + $0.00225 por 1,000 token requests. Para una arquitectura de microservicios con 19 servicios, eso suma $242.25/mes ($3,000/año) en cargos que no existían antes.
Y hay un gotcha sutil enterrado en la documentación de costos de Cognito: la operación de API AdminGetUser marca a los usuarios como activos. Un job batch que consulte tu user pool puede inflar tu conteo de MAU — y tu factura.
AWS AppSync: El Markup de 20x sobre Lambda
Amplify usa AppSync para su capa de API GraphQL. Según los precios de AppSync:
- $4.00 por millón de operaciones query/mutation
- $2.00 por millón de actualizaciones en tiempo real
- $0.08 por millón de minutos de conexión
Compara eso con Lambda a $0.20 por millón de requests — AppSync es 20x más caro por request. Para una aplicación con lecturas intensivas haciendo 10 millones de llamadas API al mes, eso es $40/mes en AppSync vs $2/mes en Lambda con API Gateway.
La guía de AppSync en Serverless.com nota limitaciones adicionales:
“No tienes acceso a configuraciones de rendimiento para tu capa de API GraphQL. AppSync puede agregar overhead significativo a los tiempos de respuesta de tu API, y en ciertos casos podrías no tener datos para debuggear la latencia aumentada.”
AppSync también tiene un timeout de 30 segundos y límite de respuesta de 1 MB — restricciones que no existen con un Apollo Server o Hasura auto-hosteado.
DynamoDB: Cuando el Patrón de Acceso Cambia
Amplify usa DynamoDB por defecto, una base de datos NoSQL que requiere que conozcas tus patrones de acceso de antemano. En una discusión en Hacker News, un desarrollador descubrió que su app de Amplify usaba solo operaciones scan en lugar de queries, costando $15,000 anuales y causando cargas de página 10x más lentas. Cambiar a índices secundarios lo arregló — pero Amplify le había ocultado esto.
Como comentó un usuario:
“DynamoDB es increíble cuando conoces todos los patrones de acceso… Pero si tus patrones de acceso cambian… DynamoDB no es para ti.”
Sam Thorogood escribió una crítica detallada explicando el problema fundamental: cuando la directiva @auth de Amplify filtra datos, puede requerir traer todos los registros y filtrar del lado del cliente. Para 100,000 usuarios cada uno con una fila, eso son potencialmente 1,000 round trips del navegador a la base de datos para encontrar un solo registro.
Cuando la Conveniencia se Convierte en Trampa
Las abstracciones de pricing generan daño financiero real. Aquí están los casos documentados.
Caso 1: $1,124 por Seguir el Tutorial Oficial
El desarrollador Elliott King publicó un post-mortem detallado después de seguir la guía oficial de Amplify para integración con OpenSearch. Su factura: $1,124.88 en un solo mes.
Las causas raíz:
- El setup de Amplify/CDK usó por defecto instancias OpenSearch
r5.large.searcha $0.186/hora (~$134/mes cada una). La alternativa más baratat3.small.searchcuesta $0.036/hora. - Ejecutar
npx ampx sandbox deleteno eliminó los dominios de OpenSearch. - Reiniciar el sandbox creó dominios de OpenSearch adicionales en lugar de reusar los existentes.
El hilo en Hacker News (200+ comentarios) reveló que no era un caso aislado:
“Las alertas de facturación son una broma, dennos límites de gasto duros. Y ofrezcan una forma de establecer esos límites durante el onboarding.”
“Construir un negocio sobre cheques en blanco y gastos accidentales es turbio y una gran barrera para la adopción.”
AWS emitió un crédito de cortesía único. Pero el desarrollador notó que su uso normal de Amplify era ~$50/mes — la sorpresa vino de servicios que Amplify provisionó sin advertencias claras de costo.
Caso 2: $2,300/Mes por un Deployment Atascado
Un desarrollador reportó en GitHub que su proyecto personal había funcionado en Amplify a ~$40/mes durante años. Después de que un deployment se atascó, la factura saltó a $900 el mes anterior y se proyectaba a $2,300 para el mes actual ($889 ya acumulados al momento del reporte).
Dos ingenieros de AWS pasaron dos horas y no pudieron resolver el deployment atascado. El desarrollador eventualmente tuvo que tomar un enfoque “nuclear” y eliminar manualmente los recursos de AWS — un proceso que la propia documentación de Amplify desaconseja.
Caso 3: Sin Límite de Gasto
AWS no ofrece un límite de gasto duro. AWS Budgets solo envía alertas — no detiene servicios. Sin WAF ($22+/mes), un pico de tráfico o ataque DDoS genera cargos de transferencia de datos sin techo.
Como notó Be A Better Dev:
“Lo más aterrador de usar Amplify es que, dado que los servicios se provisionan detrás de escena, existe la posibilidad de agregar funcionalidad que depende de un servicio con implicaciones de costo.”
Vendor Lock-in: El Costo Más Caro
El vendor lock-in no aparece en ninguna factura, pero puede ser el costo más alto de Amplify.
Cognito No Puede Exportar las Contraseñas de tus Usuarios
Si decides dejar Cognito, la guía de migración de FusionAuth lo dice claramente:
“La primera decisión que tendrás que tomar es ‘¿Estoy bien con forzar a todos mis usuarios a resetear sus contraseñas?’”
Cognito no puede exportar hashes de contraseñas ni seeds de MFA. Tus opciones son forzar un reset de contraseña a todos los usuarios o mantener sistemas duales indefinidamente usando migración just-in-time basada en Lambda triggers. Para una aplicación con 100K usuarios, cualquier opción es costosa en tiempo de ingeniería y fricción de usuario.
El Límite Duro de 500 Recursos en CloudFormation
Amplify genera templates de CloudFormation a partir de tu schema GraphQL. A medida que tu app crece, los resolvers, roles IAM y recursos de DynamoDB se acumulan. Un post en DEV.to sobre migrar Amplify a CDK explica:
“Al acercarse a este umbral, agregar nuevos modelos o resolvers puede fallar” y “la evolución del backend efectivamente se estanca.”
La documentación oficial de troubleshooting de Amplify advierte:
“Una vez que una aplicación se despliega en la nube usando Amplify CLI, los recursos en la nube como tablas DynamoDB, Roles de Cognito o políticas IAM nunca deben actualizarse fuera de Amplify CLI o Amplify Studio.”
Cualquier cambio manual es un “cambio no administrado” que puede romper deployments. Estás atado al tooling de Amplify.
Gen 1 a Gen 2: Ni AWS Puede Migrar su Propia Versión
Amplify Gen 2 fue una reescritura completa — definiciones TypeScript-first con CDK en lugar de configuración por CLI. La guía oficial de migración dice:
AWS está “desarrollando activamente herramientas de migración” llamadas “Stack Refactor” pero no están listas. El consejo actual: “continúa trabajando con tu proyecto Amplify Gen 1.”
Un comentarista en Hacker News resumió:
“Los docs de migración de gen 1 a gen 2 son literalmente: quédate en gen 1.”
Gen 2 también eliminó features: Gen 1 ofrecía Auth, Analytics, API, DataStore, Geo y Predictions. Gen 2 solo tiene Auth, Data, Storage y Functions integrados según el FAQ oficial. Las apps que dependen de las capacidades offline-first de DataStore no tienen ruta de migración.
Un desarrollador que pasó por una migración de Gen 1 a Gen 2 lo documentó en The Cloud Times, concluyendo que la migración requirió “tiempo y esfuerzo sustancial” — unas semanas de tiempo libre para un backend de complejidad media.
Historias Reales de Migración
Los costos de migración se miden en semanas, no en horas:
Startup de salud (5+ ingenieros) — Un equipo construyendo un sistema EHR adoptó Amplify a principios de 2020 y lo abandonó a principios de 2021. Paul Foryt documentó la experiencia:
“Una vez que tuvieron más de un ingeniero trabajando en el código del backend, el desarrollo simultáneo se volvió frustrantemente difícil.”
Cada ingeniero necesitaba un environment separado de Amplify, lo que “rápidamente incrementó los costos de AWS ya que cada environment necesitaba sus propios recursos, incluyendo AppSync, ElasticSearch, DynamoDB, API Gateway, colas SQS y varios Lambdas.” El cumplimiento de HIPAA era imposible porque “ciertos cambios de configuración requeridos para cumplimiento HIPAA no estaban expuestos por Amplify.”
Equipo de Peter Sereda — Un equipo de ingeniería adoptó Amplify para un portal de automatización interno. Documentaron una “pérdida de docenas y docenas de días-hombre de desarrollo solo por luchar con Amplify: sus bugs, inestabilidad, verbosidad y código boilerplate.” Incluso 10 funciones Lambda generaron más de 200 archivos y 40+ directorios.
Proyecto Reamplify — El equipo de Reamplify construyó una herramienta open-source completa para reimplementar Amplify CLI en CDK puro, después de que “una semana frustrante luchando con un bug de librería” los hizo darse cuenta de que “el costo de reimplementar los componentes del Amplify CLI con CDK puro era menor que el costo de seguir batallando con el AWS Amplify CLI.”
Amplify vs. Las Alternativas
¿Cómo se compara el costo total de Amplify con la competencia?
Comparación de Free Tier
| Plataforma | Ancho de Banda Gratis | Build Minutes Gratis | Serverless | Storage |
|---|---|---|---|---|
| Cloudflare Pages | Ilimitado | 500 builds/mes | 100K Workers req/día | R2 10 GB |
| Vercel | 100 GB/mes | Incluidos | 100K invocaciones | KV, Postgres (limitado) |
| Netlify | 100 GB/mes | 300 min/mes | 125K llamadas a funciones | Limitado |
| AWS Amplify | 15 GB/mes | 1,000 min/mes | Pay-as-you-go | 5 GB |
El ancho de banda gratis de Amplify (15 GB) es 6-7x menos que Vercel y Netlify, e infinitamente menos que Cloudflare.
Comparación de Tiers Pagados
Basado en datos de Monetizely y Better Stack:
| Escala | AWS Amplify | Vercel Pro | Netlify Pro | Cloudflare |
|---|---|---|---|---|
| Personal/Hobby | Gratis-$5 | Gratis | Gratis | Gratis |
| Pequeña Empresa | $30-70/mes | $60-100/mes | $57-95/mes | Gratis-$25/mes |
| Empresa | $300-600+/mes | $500+/mes | $450+/mes | Custom |
Amplify parece más barato a escala media, pero esta comparación solo cubre hosting. Agrega Cognito, AppSync y DynamoDB, y el costo total cambia dramáticamente.
El Factor Cloudflare
Un desarrollador que migró de Amplify a Cloudflare Pages reportó:
- Costo esperado: $0/mes (completamente dentro del free tier)
- Tiempo de carga mejoró de ~0.7s a 0.29s
- Motivación principal: eliminar la “responsabilidad de costo ilimitada” y el “potencial de costos desbocados”
El caso de estudio de Baselime es aún más dramático. Migraron toda su infraestructura de AWS a Cloudflare:
- Antes: $708,100/año en AWS ($1,940/día)
- Después: $118,625/año en Cloudflare ($325/día)
- Ahorro anual: $589,475 (83% de reducción)
- Lambda $650/día → Workers $25/día (95% de reducción)
- CloudFront $140/día → $0
- La migración tomó a 3 ingenieros menos de 3 meses
Cuando Amplify Realmente Gana
No todo es malo. Un desarrollador enterprise documentó la migración DESDE Vercel HACIA Amplify porque los costos de Vercel “escalarían exponencialmente con el crecimiento” y los costos de infraestructura estaban “ya en los cientos de miles.” Para equipos que ya están profundamente en el ecosistema AWS manejando millones de transacciones, el modelo pay-as-you-go de Amplify puede ser más predecible que el pricing por asiento de Vercel.
Veredicto: Cuándo Amplify Tiene Sentido (y Cuándo No)
Usa Amplify si…
- ✅ Ya estás profundamente en el ecosistema AWS y tu equipo conoce IAM, CloudFormation y la consola de billing
- ✅ Estás construyendo un prototipo o MVP donde la velocidad al mercado justifica el impuesto de conveniencia
- ✅ Tu proyecto necesita integración estrecha con servicios AWS (S3, Lambda, DynamoDB) que usarías de todas formas
- ✅ Tu tráfico es bajo y predecible (dentro o cerca del free tier)
- ✅ Tienes créditos de AWS por gastar (programas de startups, etc.)
No uses Amplify si…
- ❌ Necesitas facturación predecible — no hay límite de gasto
- ❌ Estás construyendo algo que podría superar las opiniones de Amplify (flujos de auth custom, queries complejos, patrones de acceso no-DynamoDB)
- ❌ Tu app tiene alto consumo de ancho de banda — el markup de 67% en transferencia de datos se acumula rápido
- ❌ Necesitas HIPAA, SOC2, o cumplimiento estricto donde necesitas control total sobre configuraciones de infraestructura
- ❌ Podrías dejar AWS algún día — Cognito no puede exportar contraseñas, AppSync es propietario, los patrones de acceso de DynamoDB no se transfieren
Evalúa cuidadosamente si…
- ⚠️ Estás desplegando SSR/Next.js — SSR agrega costos de cómputo Lambda@Edge con un límite de respuesta de 1 MB y una cuota de 25 distribuciones
- ⚠️ Tienes más de 10K usuarios activos mensuales — los costos de Cognito saltan de $0 a $220+/mes
- ⚠️ Estás usando Amplify Gen 1 — Gen 2 es el futuro, pero aún no hay ruta de migración
Checklist de Auditoría Pre-Adopción
Antes de elegir Amplify, responde estas preguntas:
1. ¿Qué provisionará Amplify?
Para cada feature que habilites (auth, API, storage, etc.), identifica el servicio AWS subyacente y su pricing. Usa la Calculadora de Precios de AWS con tu uso proyectado.
2. ¿Cuál es tu proyección de MAU?
A 10K MAU, Cognito es gratis. A 50K MAU, son $220-$600/mes. A 100K, son $495-$1,350/mes. Sabe dónde estarás en 12 meses.
3. ¿Cuánto ancho de banda usarás?
Calcula: usuarios × tamaño_promedio_página × visitas_por_mes. Cada GB sobre 15 cuesta $0.15. A 1 TB/mes, estás pagando $151 que serían gratis en CloudFront directamente.
4. ¿Puedes configurar alertas de billing inmediatamente?
Como recomienda Be A Better Dev:
“Configura una alerta de billing en un umbral bajo ($5 o menos).”
Haz esto antes de desplegar cualquier cosa. AWS Budgets no detendrá el gasto, pero al menos lo sabrás.
5. ¿Cuál es tu plan de salida?
Si usas Cognito, entiende que las contraseñas de usuarios no se pueden exportar. Si usas AppSync, sabe que tus resolvers GraphQL son propietarios de AWS. Si usas DynamoDB, reconoce que tus modelos de datos son específicos a patrones de acceso. Documenta tu estrategia de salida antes de necesitarla.
6. ¿Has comparado el costo total?
No compares el hosting de Amplify con el hosting de Vercel. Compara hosting de Amplify + Cognito + AppSync + DynamoDB + Lambda con el stack completo equivalente en alternativas. El hosting es la parte barata.
Conclusiones Clave
-
La página de precios muestra costos de hosting. La factura real viene de Cognito, AppSync, DynamoDB y Lambda — servicios provisionados detrás de escena con su propio pricing.
-
Amplify cobra un impuesto de conveniencia. 67% de markup en transferencia de datos, 5x en minutos de build, y no se beneficia del free tier de CloudFront.
-
La reestructuración de Cognito en diciembre 2024 pegó fuerte. 80% de reducción en el free tier, nuevos cargos M2M, y un tier por defecto (Essentials) que es 3x más caro que Lite.
-
No hay límite de gasto. AWS Budgets envía alertas pero no puede detener servicios. Los deployments atascados y recursos huérfanos generan facturas silenciosamente.
-
El vendor lock-in es el costo oculto. Cognito no puede exportar contraseñas, AppSync es propietario, los patrones de acceso de DynamoDB no se transfieren, y ni AWS puede migrar de Gen 1 a Gen 2 aún.
-
Amplify tiene sentido para algunos proyectos. Si ya estás en AWS, construyendo un MVP, o tienes créditos por gastar, la conveniencia puede valer el premium. Pero entra con los ojos abiertos.
La conveniencia es real. Los costos también. Conoce ambos antes de desplegar.