Saltar al contenido
Todos los artículos

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.

Camilo Rincón

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.
FugaDónde mirarPrecio de referencia
Discos gp2EC2 → Volúmenes, filtro por tipo0,10 vs. 0,08 USD/GB-mes
IPs públicasVPC → Public IP Insights0,005 USD/hora cada una
NAT GatewayVPC → NAT Gateways, métrica de bytes0,045 USD/hora + 0,045 USD/GB
HuérfanosEC2 → Volúmenes «available»Precio completo del volumen
LogsCloudWatch → Grupos de logs, columna de retenciónAlmacenamiento sin tope
DemandaCost Explorer → RecomendacionesHasta 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:

  1. 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.
  2. 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
Escrito porCamilo Rincón