【问题标题】:AWS Schedule AutoScaling via terraform (timezone issue)AWS Schedule AutoScaling via terraform(时区问题)
【发布时间】:2021-10-05 16:56:22
【问题描述】:

我的 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 来操作重复块。但似乎无法正常工作,因为我们无法在重复块中传递 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
}

知道我怎样才能达到同样的效果。任何帮助表示赞赏。

谢谢!

【问题讨论】:

  • "getting error" - 究竟是什么错误?
  • @Marcin,这是确切的错误:错误:创建自动缩放计划操作时出错:ValidationError:给定重复字符串:0 var.max_size * * 5 是无效状态代码:400,请求 ID:** **********

标签: amazon-web-services terraform terraform-provider-aws aws-auto-scaling


【解决方案1】:

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

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

【讨论】:

  • @Legitimate_Figure_4430 没问题。很高兴它成功了。
猜你喜欢
  • 2018-11-15
  • 2018-12-10
  • 2021-08-17
  • 2021-03-16
  • 2016-02-13
  • 1970-01-01
  • 2019-11-27
  • 2021-09-15
  • 2018-04-25
相关资源
最近更新 更多