AWS Cost Anomaly Detection

Debes tener instalado Terraform en tu máquina virtual, puedes hacerlo con el gestor de paquetes brew si no lo tienes instalado, hazlo con el siguiente comando. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" La salida del comando te indica los pasos que debes ejecutar. echo >> /Users/barbaraguadalupegaspargaona/.zprofile echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/barbaraguadalupegaspargaona/.zprofile eval "$(/opt/homebrew/bin/brew shellenv)" Ya que ejecutes esto, brew está disponible para utilizar e instalamos Terraform, siguiendo la página de instalación oficial mediante brew, con las siguientes líneas de código. brew tap hashicorp/tap brew install hashicorp/tap/terraform brew install hashicorp/tap/terraform #Para instalar la última versión terraform -help #verificamos la instalación Ya con esto, tenemos instalado Terraform y podemos conectar con AWS para lanzar IaC. Conectamos AWS aws configure Crear el directorio cd Documents #Selecciona la carpeta en la que quieres guardar mkdir terraform-cost-anomaly cd terraform-cost-anomaly #navegar en el directorio Ahora creamos el código de Terraform touch nano.tf Editamos el archivo main.tf con el código para configurar Cost Anomaly Detection de la siguiente manera: terraform { required_providers { awscc = { source = "hashicorp/awscc" version = "~> 1.0" } provider "awscc" { region = "us-east-1" } } resource "awscc_ce_anomaly_monitor" "monitor" { monitor_name = "MonitorDeAnomaliasDeCostos" monitor_type = "DIMENSIONAL" monitor_dimension = "SERVICE" # Definimos la dimensión aquí, en lugar de monitor_specification resource "awscc_ce_anomaly_subscription" "subscription" { monitor_arn_list = [awscc_ce_anomaly_monitor monitor.id] # Se usa "id' en lugar de 'arn' subscription_name = "SubscripcionAnomaliasDeCostos" threshold = 50 frequency = "DAILY" subscribers = [ # Se cambió 'subscriber por 'subscribers' { address = "orgbgspr@gmail.com" type = "EMAIL" } ] } Después del código, iniciamos terraform y aplicamos la configuración terraform init terraform apply Confirmamos la configuración y concluimos el ejercicio Debemos tener un resultado como este Y recibiremos un correo como este Consideraciones generales Hay un número específico de monitores para crear Se pueden agregar más monitores por medio de una solicitud

Mar 4, 2025 - 19:58
 0
AWS Cost Anomaly Detection

Debes tener instalado Terraform en tu máquina virtual, puedes hacerlo con el gestor de paquetes brew si no lo tienes instalado, hazlo con el siguiente comando.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

La salida del comando te indica los pasos que debes ejecutar.

echo >> /Users/barbaraguadalupegaspargaona/.zprofile
    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/barbaraguadalupegaspargaona/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

Ya que ejecutes esto, brew está disponible para utilizar e instalamos Terraform, siguiendo la página de instalación oficial mediante brew, con las siguientes líneas de código.

brew tap hashicorp/tap
brew install hashicorp/tap/terraform 
brew install hashicorp/tap/terraform #Para instalar la última versión
terraform -help #verificamos la instalación

Ya con esto, tenemos instalado Terraform y podemos conectar con AWS para lanzar IaC.

Conectamos AWS

aws configure

Image description

Crear el directorio

cd Documents #Selecciona la carpeta en la que quieres guardar 

mkdir terraform-cost-anomaly
cd terraform-cost-anomaly #navegar en el directorio

Ahora creamos el código de Terraform

touch nano.tf

Editamos el archivo main.tf con el código para configurar Cost Anomaly Detection de la siguiente manera:

terraform {
required_providers {
awscc = {
source = "hashicorp/awscc"
version = "~> 1.0"
}
provider "awscc" {
region = "us-east-1"
}
}
resource "awscc_ce_anomaly_monitor" "monitor" {
monitor_name = "MonitorDeAnomaliasDeCostos"
monitor_type = "DIMENSIONAL"
monitor_dimension = "SERVICE" # Definimos la dimensión aquí, en lugar de monitor_specification
resource "awscc_ce_anomaly_subscription" "subscription" {
monitor_arn_list = [awscc_ce_anomaly_monitor monitor.id] # Se usa "id' en lugar de 'arn'
subscription_name = "SubscripcionAnomaliasDeCostos"
threshold
= 50
frequency
= "DAILY"
subscribers = [ # Se cambió 'subscriber por 'subscribers'
{
address = "orgbgspr@gmail.com"
type
= "EMAIL"
 }
]
}

Después del código, iniciamos terraform y aplicamos la configuración

terraform init 
terraform apply 

Confirmamos la configuración y concluimos el ejercicio

Debemos tener un resultado como este

Image description

Image description

Y recibiremos un correo como este

Image description

Consideraciones generales

  • Hay un número específico de monitores para crear
  • Se pueden agregar más monitores por medio de una solicitud