AWS Schedule AutoScaling via terraform(时区问题)

AWS Schedule AutoScaling via terraform (timezone issue)

我在我的 AWS 中有一个用于不同区域的通用 TF 代码,同样在我所有区域的 TF 中有一个通用的自动缩放块。

现在我想为我的ASG做基于时间的调度,但是因为不同地区的时区不同。我无法对 TF 执行相同的操作,因为我在 TF 的 aws_autoscaling_schedule 资源中看不到任何指定时区的选项。

以下是我的代码:

resource "aws_autoscaling_schedule" "schedule1" {
  scheduled_action_name  = "scale_down"
  min_size               = var.min_size
  max_size               = var.max_size
  recurrence             = "0 18 * * 5"
  desired_capacity       = var.min_size
  autoscaling_group_name = aws_autoscaling_group.example_asg.name
}

现在,如果您看到重复出现,我想根据各自区域的时间在下午 6 点缩小规模,但我无法实现相同的目标,因为默认时区是 UTC。

PS:我为每个地区准备了不同的 vars 文件。并分别为每个区域获取 max_size 和 min_size。

我尝试通过在每个区域的 var 文件中传递一个 var 来操纵循环块。但似乎无法解决错误,因为我们无法在循环块中传递变量:

resource "aws_autoscaling_schedule" "schedule1" {
  scheduled_action_name  = "scale_down"
  min_size               = var.min_size
  max_size               = var.max_size
  recurrence             = "0 var.temp_var * * 5"
  desired_capacity       = var.min_size
  autoscaling_group_name = aws_autoscaling_group.example_asg.name
}

知道我怎样才能达到同样的效果。感谢任何帮助。

谢谢!

要克服错误并正确地将 var.temp_var 传递给 recurrence,您应该这样做:

recurrence             = "0 ${var.temp_var} * * 5"