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

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