DEV Community

Barbara Gaspar
Barbara Gaspar

Posted on

Estimación de costos desde Terraform con Infracost

Usando Infracost podemos estimar los costos de la infraestructura previo a su despliegue desde Terraform.
Los pasos para ejecutarlo son los siguientes:

Instalamos Infracost

brew install infracost

infracost --version # Should show 0.10.40
Enter fullscreen mode Exit fullscreen mode

Infracost installation

Si ya lo tenemos instalado, podemos actualizar a la versión más reciente

brew update
Enter fullscreen mode Exit fullscreen mode

Obtener clave API

Para obtener una API gratuita que usa CLI para recuperar precios de precios en la nube, es necesario hacer un registro, que nos dirige a una página web para registrar nuestro correo.

infracost auth login
Enter fullscreen mode Exit fullscreen mode

Una vez que estés registrado, verás este mensaje

Image description

Image description

Creamos el directorio y el archivo

#Creación del directorio 
mkdir my-terraform-project
cd my-terraform-project

#Creación del archivo main 
touch main.tf 
nano main.tf #abrimos el archivo para editarlo
Enter fullscreen mode Exit fullscreen mode

Editamos el archivo con el siguiente código

provider "aws" {
  region                      = "us-east-1"
  skip_credentials_validation = true
  skip_requesting_account_id  = true
  access_key                  = "mock_access_key"
  secret_key                  = "mock_secret_key"
}

resource "aws_instance" "my_web_app" {
  ami           = "ami-005e54dee72cc1d00"

  instance_type = "m3.xlarge" # <<<<<<<<<< Try changing this to m5.xlarge to compare the costs

  tags = {
    Environment = "production"
    Service     = "web-app"
  }

  root_block_device {
    volume_size = 1000 # <<<<<<<<<< Try adding volume_type="gp3" to compare costs
  }
}

resource "aws_lambda_function" "my_hello_world" {
  runtime       = "nodejs12.x"
  handler       = "exports.test"
  image_uri     = "test"
  function_name = "test"
  role          = "arn:aws:ec2:us-east-1:123123123123:instance/i-1231231231"

  memory_size = 512
  tags = {
    Environment = "Prod"
  }
}
Enter fullscreen mode Exit fullscreen mode

Aplicamos la configuración

Image description

El resultado de esta estimación tenemos $294 de consumo por la infraestructura que definimos en el archivo main.tf. Si editamos algunas configuraciones, podemos comparar los costos de la infraestructura por desplegar. Sin duda de gran utilidad, para estimar costos.

Referencias

Infracost (2025). Get Started, https://www.infracost.io

Top comments (0)