Costos de nube5 min de lectura
Seis fugas de dinero en AWS que se arreglan en una tarde
Las facturas de nube no se disparan por una decisión grande, sino por seis pequeñas que nadie revisa. Dónde mirar y qué cuesta cada una.
Cuando una empresa nos llama porque «la nube se volvió cara», casi nunca hay una decisión grande detrás. Hay seis pequeñas, tomadas hace dos o tres años, que nadie volvió a mirar.
Esta es la lista que revisamos primero en una auditoría. Ninguna exige reescribir código ni migrar nada: son cambios de configuración que un equipo puede hacer en una tarde y que se notan en la siguiente factura.
Los precios son los de lista de AWS en us-east-1 a septiembre de 2026. Cámbialos por los de tu
región antes de hacer cuentas: en São Paulo, por ejemplo, casi todo cuesta más.
1. Discos gp2 que deberían ser gp3
Los volúmenes EBS de tipo gp2 cuestan USD 0,10 por GB-mes. Los gp3, USD 0,08. Mismo disco, misma
durabilidad, 20 % menos.
La diferencia real suele ser mayor. Con gp2, las IOPS van atadas al tamaño: 3 IOPS por GB. Para
llegar a las IOPS que pedía la base de datos, muchos equipos pidieron un volumen de 1 TB cuando les
bastaban 200 GB. En gp3 las IOPS se contratan aparte y vienen 3.000 de base, así que además de
pagar menos por GB puedes reducir el tamaño.
El cambio es en caliente, sin reiniciar la instancia. Empieza por los volúmenes de más de 100 GB.
2. Direcciones IPv4 públicas que nadie usa
Desde febrero de 2024 AWS cobra USD 0,005 por hora por cada dirección IPv4 pública, esté asociada o no. Son unos USD 3,65 al mes por IP.
Suena a nada hasta que cuentas. Cada instancia con IP pública, cada NAT Gateway, cada balanceador, cada Elastic IP olvidada de un proyecto que se apagó en 2023. Hemos visto cuentas con más de cincuenta IPs vivas de las que se usaban doce.
Public IP Insights, en la consola de VPC, te da la lista en dos clics.
3. NAT Gateway procesando tráfico que no debería
Un NAT Gateway cuesta USD 0,045 por hora más USD 0,045 por cada GB procesado. El GB procesado se suma al de salida a internet, así que el tráfico que sale de una subred privada hacia internet termina costando alrededor de USD 0,135 por GB.
El problema no es el NAT: es lo que pasa por él. Si tus instancias privadas hablan con S3 o con DynamoDB, ese tráfico no tiene por qué salir a internet. Los gateway endpoints de VPC para esos dos servicios no cuestan nada y sacan ese tráfico del NAT.
En cargas que mueven mucho a S3 (backups, ETL, imágenes) esto solo ya cambia el orden de magnitud de la factura de red.
4. Volúmenes y snapshots huérfanos
Un volumen EBS sin instancia asociada sigue cobrándose igual. Un snapshot de hace cuatro años, también.
La causa casi siempre es la misma: alguien terminó una instancia sin marcar «eliminar al terminar», o un script de respaldo que nunca tuvo política de retención. Es dinero puro, sin contrapartida.
Antes de borrar nada: etiqueta, avisa y espera una semana. Un snapshot huérfano cuesta poco; borrar el que alguien necesitaba cuesta mucho.
5. Logs guardados para siempre
Por defecto, los grupos de logs de CloudWatch tienen retención infinita. Nadie lo decide; viene así.
La consecuencia es que estás pagando almacenamiento por los logs de depuración de un servicio que se
apagó, y por cada línea que tu aplicación escribió en modo debug durante el mes que a alguien se
le olvidó bajarlo.
Define retención por grupo: 7 días para depuración, 30 para aplicación, lo que exija tu normativa para auditoría. Si necesitas guardar más, exporta a S3 con reglas de ciclo de vida: ahí el almacenamiento cuesta una fracción.
6. Todo a precio de demanda
El precio bajo demanda es el precio de no comprometerse. Está bien para lo que no sabes si seguirá existiendo el mes que viene; es caro para lo que lleva dos años encendido sin parar.
Dos palancas, de menor a mayor esfuerzo:
- Savings Plans. Te comprometes a un gasto por hora durante uno o tres años. El plan Compute llega a 66 % de descuento y deja cambiar de familia, tamaño y región. El de EC2 Instances llega a 72 %, pero te ata a una familia y una región.
- Graviton. Los procesadores ARM de AWS ofrecen hasta 40 % mejor relación precio-rendimiento. Si tu carga es Python, Node, Java o Go y corre en contenedores, el cambio suele ser recompilar y desplegar.
| Fuga | Dónde mirar | Precio de referencia |
|---|---|---|
| Discos gp2 | EC2 → Volúmenes, filtro por tipo | 0,10 vs. 0,08 USD/GB-mes |
| IPs públicas | VPC → Public IP Insights | 0,005 USD/hora cada una |
| NAT Gateway | VPC → NAT Gateways, métrica de bytes | 0,045 USD/hora + 0,045 USD/GB |
| Huérfanos | EC2 → Volúmenes «available» | Precio completo del volumen |
| Logs | CloudWatch → Grupos de logs, columna de retención | Almacenamiento sin tope |
| Demanda | Cost Explorer → Recomendaciones | Hasta 72 % de descuento |
Cómo medirlo sin discutir
Antes de tocar nada, saca una foto. En Cost Explorer, agrupa por tipo de uso y mira los últimos tres meses. Esa tabla es la que vas a comparar después, y es la que convierte «creo que bajó» en un número.
Dos reglas que nos ahorran problemas:
- La primera semana no se apaga nada. Se etiqueta, se mide y se avisa. Apagar rápido es como se tumba producción y como se pierde la confianza del equipo para la segunda ronda.
- Un cambio por despliegue. Si mueves gp3, retención y Savings Plans el mismo día, no sabrás cuál de los tres explicó la diferencia.
Ninguna de estas seis fugas es un error de arquitectura. Son ajustes que nadie tuvo tiempo de revisar porque el equipo estaba entregando funcionalidad, que es su trabajo. Por eso funcionan tan bien como primer paso: se arreglan solas en una tarde y compran el tiempo para las decisiones grandes.
- aws
- costos
- infraestructura