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
Top comments (1)
A great overview!