|

C3X: estimá costos Terraform sin API ni cuentas externas

C3X es una herramienta open-source para estimar costos de infraestructura Terraform sin necesidad de conectar API keys a ningún proveedor cloud. Analiza tus archivos de configuración de forma local, soporta AWS, Azure y Google Cloud, y cubre más de 1.100 tipos de recursos para darte un desglose de costos antes de que toques un solo botón de despliegue.

En 30 segundos

  • C3X analiza archivos Terraform, Terragrunt y CloudFormation de forma completamente offline, sin exponer credenciales a ningún servicio externo.
  • Soporta más de 1.100 tipos de recursos en AWS, Azure y Google Cloud con precios locales actualizados.
  • Se integra en pipelines CI/CD (GitHub Actions, GitLab CI) y puede bloquear un PR si el costo estimado supera un límite configurado.
  • La versión 1.0.1 salió en abril de 2026 y el proyecto sigue en desarrollo activo en GitHub.
  • Es una alternativa real a Infracost para equipos que no quieren depender de una cuenta en un servicio de terceros.

¿Qué es C3X y por qué importa la estimación de costos Terraform sin API?

C3X (Cloud Cost Calculator for Terraform and beyond) es una herramienta de línea de comandos open-source que lee tus archivos de infraestructura como código y genera una estimación de costos sin necesitar una sola credencial de proveedor. La instalás, apuntás a tu directorio de Terraform, y obtenés un desglose por recurso en segundos.

El problema que resuelve es concreto: cualquiera que haya trabajado con Terraform en equipo sabe que el costo de una infraestructura suele ser una sorpresa desagradable que aparece en la factura del mes siguiente. Alguien agrega un RDS Multi-AZ “para ver cómo queda”, otro sube el tipo de instancia “provisoriamente”, y nadie calcula el impacto antes del terraform apply. Para cuando llega la factura, ya lleva tres semanas en producción.

La práctica de FinOps viene empujando hace tiempo la idea de correr estimaciones de costo en la misma pipeline donde se valida el código, antes del merge. El freno que tenían muchos equipos era la dependencia de servicios externos con API keys, cuentas creadas, o pricing que no se actualiza tan seguido. C3X ataca ese freno directamente: todo funciona de forma completamente local.

Características principales

Según el repositorio oficial de C3X, las funcionalidades centrales son:

  • Análisis offline: los datos de precios se incluyen localmente, sin llamadas a APIs externas en tiempo de ejecución.
  • Desglose por recurso: muestra el costo estimado de cada recurso individualmente, no solo el total.
  • Soporte multi-IaC: Terraform, Terragrunt y CloudFormation.
  • +1.100 tipos de recursos: cubre EC2, RDS, S3, Lambda, Azure VMs, Blob Storage, Google Cloud Storage, GKE, y mucho más.
  • Cost diffs: compara el costo actual vs. el costo después de los cambios propuestos, ideal para PRs.
  • What-if analysis: podés simular escenarios antes de comprometerte con un tipo de instancia o región.
  • Enforcement de presupuesto: configurás un límite y la herramienta falla si el costo estimado lo supera.
  • Recomendaciones de optimización: detecta, por ejemplo, volúmenes gp2 que se pueden migrar a gp3 con menor costo.

Lo de las recomendaciones de optimización no es menor. Muchos equipos nunca migran de gp2 a gp3 simplemente porque nadie tiene tiempo de auditar los volúmenes existentes. Si la herramienta te lo dice en cada PR, el equipo empieza a incorporarlo como hábito. Profundizamos en esto en nuestro artículo sobre la elección de tu herramienta CI/CD.

Instalación y primeros pasos

C3X se instala de tres formas:

  • Homebrew (Mac/Linux): brew install c3xdev/tap/c3x
  • Docker: docker run --rm -v $(pwd):/workspace c3xdev/c3x:latest estimate /workspace
  • Binarios directos: desde la página de releases del repositorio en GitHub.

Para analizar un directorio Terraform, el comando básico es simplemente:

c3x estimate ./mi-infraestructura

No hay --api-key, no hay --token, no hay login. Eso sí: la precisión de las estimaciones depende de qué tan actualizados estén los datos de precios que vienen incluidos en el binario. No es en tiempo real, aunque las actualizaciones del proyecto van incorporando precios nuevos con cada release.

C3X vs. otras herramientas: Infracost, OpenInfraQuote y Terracost

Antes de comparar, el contexto: Infracost es la referencia del sector, lleva años en producción y tiene una comunidad grande. OpenInfraQuote es la propuesta de LocalStack, más reciente. Terracost es la opción de Cycloid, con foco en self-hosted.

CaracterísticaC3XInfracostOpenInfraQuoteTerracost
Requiere API keyNoSí (servicio propio)NoNo (self-hosted)
Modo offlineSí, nativoParcial
LenguajeGoGoPythonGo
Recursos soportados1.100+1.000+En crecimientoLimitado
CI/CD integradoSí (GitHub Actions)Sí (múltiples)Manual
Recomendaciones de ahorroNoNo
LicenciaApache 2.0Apache 2.0 + planes pagoApache 2.0Apache 2.0
estimación de costos terraform sin api diagrama explicativo

La diferencia concreta con Infracost es la dependencia de servicio. Infracost tiene un tier gratuito con su propia API, lo que implica que tus configuraciones de infraestructura pasan por sus servidores para obtener pricing actualizado. Para equipos con políticas estrictas de seguridad o que trabajan con clientes que no quieren que nada de su arquitectura salga de su red, eso es un freno real.

C3X y OpenInfraQuote cortan ese problema de raíz. La desventaja, obvio, es que el pricing local puede estar un poco desactualizado entre releases.

Integración en pipelines de CI/CD

Acá viene lo bueno: el caso de uso más valioso de C3X no es correrlo manualmente, sino meterlo en el pipeline de CI/CD para que cada PR que toque infraestructura incluya automáticamente una estimación de costo.

Un flujo típico con GitHub Actions:

  • Trigger: push a rama con cambios en archivos .tf.
  • Step 1: terraform plan para generar el plan.
  • Step 2: c3x estimate sobre los archivos del PR.
  • Step 3: C3X comenta en el PR con el desglose de costos y el diff vs. main.
  • Step 4 (opcional): si el costo estimado supera un umbral configurado, el step falla y bloquea el merge.

Ponele que tu equipo tiene un presupuesto de USD 5.000/mes para el ambiente de staging. Configurás el umbral en C3X, y cualquier PR que lleve ese ambiente por encima del límite necesita aprobación explícita de alguien con criterio antes de mergear. No es ciencia de cohetes, pero pocos equipos lo tienen implementado. Para más detalles técnicos, mirá optimización técnica de sitios.

Ejemplos prácticos en AWS, Azure y Google Cloud

Caso 1: Cluster de EC2 en AWS

Tenés un módulo Terraform que define un Auto Scaling Group con instancias m5.xlarge, mínimo 3 instancias, máximo 10, en us-east-1. C3X analiza la configuración y devuelve el costo estimado del mínimo garantizado (3 instancias * ~USD 0.192/hora * 730 horas = ~USD 421/mes), más el costo de los EBS gp2 asociados. Si algún volumen es gp2, te sugiere migrar a gp3 para ahorrar aproximadamente 20% en storage.

Caso 2: VMs en Azure

Un equipo que usa Terraform para gestionar VMs Azure Standard_D4s_v3 en West Europe recibe en cada PR un comentario automático con el costo estimado mensual. Si alguien sube el tier a Standard_D8s_v3 “para una prueba”, el comentario muestra exactamente cuánto más cuesta ese cambio. (Spoiler: suele ser el doble, y la “prueba” termina durando seis meses.)

Caso 3: Google Cloud Storage y GKE

Para proyectos en Google Cloud, C3X puede estimar costos de buckets de Cloud Storage según la clase de almacenamiento (Standard, Nearline, Coldline) y los nodos de un cluster GKE. Útil especialmente cuando tenés múltiples ambientes (dev, staging, prod) con configuraciones similares y querés entender la diferencia de costo entre ellos antes de replicar algo.

Limitaciones y lo que hay que tener en cuenta

C3X v1.0.1 salió en abril de 2026 y el proyecto sigue en desarrollo activo. Eso tiene dos caras.

La buena: están incorporando recursos y mejorando precisión rápidamente. La que hay que tener en cuenta: los precios incluidos localmente no son en tiempo real. Si AWS cambia pricing de una instancia y todavía no salió una nueva versión de C3X, tu estimación puede estar levemente desalineada. Relacionado: plataformas económicas de hosting.

Además:

  • Estima configuración, no uso real: si tenés un Lambda que se ejecuta 10 veces por mes o 10 millones, C3X necesita que le indiques el uso estimado. Sin ese input, usa defaults razonables pero no mágicos.
  • No soporta recursos on-premises: es cloud puro. Si tu arquitectura mixea on-prem con cloud, esa parte queda fuera.
  • Recursos custom o proveedores Terraform no oficiales: si usás providers de terceros con tipos de recursos propios, no van a estar cubiertos todavía.

¿Alguien verifica la precisión de forma independiente contra facturas reales? Todavía no hay benchmarks públicos exhaustivos. El repositorio tiene ejemplos, pero la validación a escala es algo que la comunidad va a ir construyendo.

Qué significa esto para equipos en Latinoamérica

Para equipos que trabajan con infraestructura en proveedores cloud y tienen restricciones presupuestarias reales (que en LATAM es prácticamente todos), tener visibilidad de costos antes del despliegue cambia la conversación con management. No es “creemos que va a costar X”, es “el PR muestra que este cambio agrega USD 340/mes al presupuesto de infraestructura”.

Si tu equipo gestiona la infraestructura desde un proveedor de hosting con servidores dedicados o VPS, como donweb.com, y están empezando a complementar con recursos cloud para cargas variables, C3X les ayuda a no sorprenderse con la factura del primer mes en producción.

Qué está confirmado / Qué todavía no

  • Confirmado: C3X v1.0.1 disponible, modo offline sin API keys, soporte para +1.100 recursos, integración con GitHub Actions.
  • Confirmado: licencia Apache 2.0, repositorio público en GitHub con documentación activa.
  • Todavía no confirmado: precisión comparada contra facturas reales a escala (no hay benchmarks públicos independientes).
  • En desarrollo: soporte para más providers de Terraform y cobertura de recursos adicionales.
  • Sin fecha: versión 2.0 con precios en tiempo real o integración con APIs de pricing de los proveedores como opción opcional.

Errores comunes al implementar estimación de costos en CI/CD

Error 1: Poner el costo como bloqueante desde el día uno. Si configurás el pipeline para que falle automáticamente cuando los costos superan un umbral sin haber calibrado ese umbral antes, vas a generar fricción en el equipo antes de que confíen en la herramienta. Arrancá en modo informativo: que comente el costo en el PR pero no bloquee. Calibrá durante un mes con datos reales, después activá el enforcement.

Error 2: No especificar uso estimado para recursos con costo variable. Lambda, DynamoDB (en modo on-demand), CloudFront: todos tienen costos que dependen del uso. Si no le decís a C3X cuántas invocaciones o cuánto tráfico esperás, la estimación va a ser el mínimo del tier gratuito o un default genérico que no representa tu caso real.

Error 3: Confundir estimación de costo con presupuesto aprobado. C3X da una estimación basada en la configuración declarada. Si después el equipo sube el uso real tres veces más de lo que estimaron, la factura no coincide. La herramienta estima lo que está declarado en el código, no lo que va a pasar en producción. Tema relacionado: despliegues serverless en la nube.

Preguntas Frecuentes

¿Cómo puedo estimar los costos de mi infraestructura Terraform antes de desplegar?

Con C3X instalado, corrés c3x estimate ./tu-directorio-terraform y obtenés un desglose por recurso en segundos. No necesitás conectar credenciales de AWS, Azure ni Google Cloud: los datos de precios están incluidos localmente en la herramienta. Si querés comparar el costo actual vs. los cambios de un PR, usá el comando c3x diff apuntando al plan de Terraform generado.

¿Existen herramientas open-source gratuitas para calcular costos en múltiples clouds?

Sí. C3X, OpenInfraQuote y Terracost son tres opciones completamente gratuitas y open-source bajo licencia Apache 2.0. C3X cubre AWS, Azure y Google Cloud con más de 1.100 tipos de recursos. Infracost también tiene una versión open-source pero requiere una cuenta en su servicio para obtener pricing actualizado en tiempo real.

¿Qué diferencia hay entre C3X e Infracost?

La diferencia principal es que Infracost requiere una API key de su propio servicio para funcionar correctamente, lo que implica que tus configuraciones de infraestructura pasan por servidores externos. C3X corre todo de forma local con precios incluidos en el binario, sin ninguna conexión externa. Infracost tiene más tiempo en producción y una comunidad más grande; C3X es más nuevo (v1.0.1, abril 2026) pero cubre más de 1.100 recursos y es completamente offline.

¿Puedo integrar C3X en GitHub Actions para revisar costos en cada PR?

Sí, C3X tiene soporte nativo para GitHub Actions. Configurás un workflow que corre c3x estimate en cada PR que modifica archivos .tf, y la herramienta comenta automáticamente en el PR con el desglose de costos y el diff vs. la rama base. Podés configurar un umbral para que el pipeline falle si el costo estimado supera un límite definido.

¿C3X funciona con Terragrunt y CloudFormation además de Terraform?

Sí, C3X soporta Terraform, Terragrunt y CloudFormation. Si tu equipo usa Terragrunt para gestionar múltiples módulos con overlays de configuración, C3X puede analizar esa estructura. CloudFormation es para equipos que trabajan directamente con el servicio nativo de AWS sin usar Terraform.

Conclusión

C3X llena un espacio concreto que Infracost no cubre bien: la estimación de costos para equipos que no quieren o no pueden enviar su configuración de infraestructura a un servicio externo. Con v1.0.1 liberada en abril de 2026, el proyecto ya tiene suficiente cobertura de recursos (1.100+) para ser útil en la mayoría de los proyectos cloud estándar.

No es una herramienta mágica ni reemplaza el análisis humano del costo, pero meterla en el pipeline de CI/CD es una decisión que se paga sola la primera vez que alguien en el equipo detecta que un PR iba a agregar USD 800/mes al bill de infraestructura antes de que llegara a producción. Para equipos con presupuestos ajustados, esa visibilidad temprana vale mucho más que el tiempo que tarda la configuración inicial.

Fuentes

Te puede interesar...