我们有现行政策的 asg。 示例当前日期时间 UTC:2020 年 5 月 23 日,上午 0600 我有策略在 cron 时间上午 1000 点停止和启动实例 但当我现在申请 terraform plan 时,在 aws,我们可以看到政策开始时间为 5 月 24 日上午 1000 点。
所以问题是为什么它不考虑今天的日期
政策目标:日常拆除和创建新实例
resource "aws_autoscaling_schedule" "scale_down" {
scheduled_action_name = "scale_down"
min_size = 0
max_size = 0
recurrence = "0 10 * * *"
desired_capacity = 1
autoscaling_group_name = "${aws_autoscaling_group.asg.name}"
}
resource "aws_autoscaling_schedule" "scale_up" {
scheduled_action_name = "scale_up"
min_size = 1
max_size = 1
recurrence = "10 10 * * *"
desired_capacity = 1
autoscaling_group_name = "${aws_autoscaling_group.asg.name}"
}
最佳答案
我已经用这种方法解决了这个问题,你看一下并给我你的意见。 重复的想法是一旦创建就不再修改。我把当天的最后一分钟。
locals {
today_date = formatdate("YYYY-MM-DD",timestamp())
min = 0
max = 1
}
resource "aws_autoscaling_schedule" "off" {
scheduled_action_name = "off_instance"
min_size = local.min
max_size = local.max
desired_capacity = 0
start_time = "${local.today_date}T23:59:00Z"
recurrence = "0 ${var.hour_to_switch_off} * * *"
autoscaling_group_name = aws_autoscaling_group.bastion.name
lifecycle {
ignore_changes = [start_time]
}
}
resource "aws_autoscaling_schedule" "on" {
scheduled_action_name = "on_instance"
min_size = local.min
max_size = local.max
desired_capacity = 1
start_time = "${local.today_date}T23:59:00Z"
recurrence = "0 ${var.hour_to_switch_on} * * MON-FRI"
autoscaling_group_name = aws_autoscaling_group.bastion.name
lifecycle {
ignore_changes = [start_time]
}
}
关于amazon-web-services - Terraform aws aws_autoscaling_schedule 具有重复性,开始时间从第二天而不是当前日期开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63068018/