🖥

AWS Terraform - ECS Fargate の Auto Scaling > スケーリングポリシー > ターゲットの追跡

2023/10/07に公開

やりたいこと

この左の「ターゲットの追跡」の設定を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種類のどれかを指定する

image.png

Note

このTerraformの例でも自動的にCloudWatchアラームが作成されるようだ
(Alarm-HighとAlarm-Lowの2種類)

公式

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/appautoscaling_policy

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

https://line.me/ti/g2/eEPltQ6Tzh3pYAZV8JXKZqc7PJ6L0rpm573dcQ

Twitter

https://twitter.com/YumaInaura

公開日時

2023-09-25

Discussion