🖥
AWS Terraform - ECS Fargate の Auto Scaling > スケーリングポリシー > ターゲットの追跡
やりたいこと
この左の「ターゲットの追跡」の設定をTerraformで管理したい
<img width="1172" alt="image" src="https://github.com/YumaInaura/YumaInaura/assets/13635059/2e36c747-952a-45ff-9a51-8c7c8cc7e409">
コード例
Auto Scaling のターゲットとポリシーを作れば良いようだ
resource "aws_appautoscaling_target" "xxx" {
service_namespace = "ecs"
scalable_dimension = "ecs:service:DesiredCount"
resource_id = "service/<クラスタ名>/<サービス名>"
min_capacity = 1
max_capacity = 15
}
resource "aws_appautoscaling_policy" "yyy" {
name = "cpu-auto-scaling"
service_namespace = aws_appautoscaling_target.xxx.service_namespace
scalable_dimension = aws_appautoscaling_target.xxx.scalable_dimension
resource_id = aws_appautoscaling_target.xxx.resource_id
policy_type = "TargetTrackingScaling"
target_tracking_scaling_policy_configuration {
predefined_metric_specification {
predefined_metric_type = "ECSServiceAverageCPUUtilization"
}
target_value = 75
scale_in_cooldown = 300
scale_out_cooldown = 300
}
}
predefined_metric_type にはこのCPU/Memory/ALBRequestの3種類のどれかを指定する
Note
このTerraformの例でも自動的にCloudWatchアラームが作成されるようだ
(Alarm-HighとAlarm-Lowの2種類)
公式
チャットメンバー募集
何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。
公開日時
2023-09-25
Discussion