mirror of
https://github.com/farcasclaudiu/terraform-course.git
synced 2026-06-22 07:01:56 +03:00
5d9eeb6c4c
* Terraform 0.12
60 lines
1.9 KiB
Terraform
60 lines
1.9 KiB
Terraform
# scale up alarm
|
|
|
|
resource "aws_autoscaling_policy" "example-cpu-policy" {
|
|
name = "example-cpu-policy"
|
|
autoscaling_group_name = aws_autoscaling_group.example-autoscaling.name
|
|
adjustment_type = "ChangeInCapacity"
|
|
scaling_adjustment = "1"
|
|
cooldown = "300"
|
|
policy_type = "SimpleScaling"
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "example-cpu-alarm" {
|
|
alarm_name = "example-cpu-alarm"
|
|
alarm_description = "example-cpu-alarm"
|
|
comparison_operator = "GreaterThanOrEqualToThreshold"
|
|
evaluation_periods = "2"
|
|
metric_name = "CPUUtilization"
|
|
namespace = "AWS/EC2"
|
|
period = "120"
|
|
statistic = "Average"
|
|
threshold = "30"
|
|
|
|
dimensions = {
|
|
"AutoScalingGroupName" = aws_autoscaling_group.example-autoscaling.name
|
|
}
|
|
|
|
actions_enabled = true
|
|
alarm_actions = [aws_autoscaling_policy.example-cpu-policy.arn]
|
|
}
|
|
|
|
# scale down alarm
|
|
resource "aws_autoscaling_policy" "example-cpu-policy-scaledown" {
|
|
name = "example-cpu-policy-scaledown"
|
|
autoscaling_group_name = aws_autoscaling_group.example-autoscaling.name
|
|
adjustment_type = "ChangeInCapacity"
|
|
scaling_adjustment = "-1"
|
|
cooldown = "300"
|
|
policy_type = "SimpleScaling"
|
|
}
|
|
|
|
resource "aws_cloudwatch_metric_alarm" "example-cpu-alarm-scaledown" {
|
|
alarm_name = "example-cpu-alarm-scaledown"
|
|
alarm_description = "example-cpu-alarm-scaledown"
|
|
comparison_operator = "LessThanOrEqualToThreshold"
|
|
evaluation_periods = "2"
|
|
metric_name = "CPUUtilization"
|
|
namespace = "AWS/EC2"
|
|
period = "120"
|
|
statistic = "Average"
|
|
threshold = "5"
|
|
|
|
dimensions = {
|
|
"AutoScalingGroupName" = aws_autoscaling_group.example-autoscaling.name
|
|
}
|
|
|
|
actions_enabled = true
|
|
alarm_actions = [aws_autoscaling_policy.example-cpu-policy-scaledown.arn]
|
|
}
|
|
|