1

我正在为一个 AWS 系统构建一个 Terraform 配置,该系统需要自动缩放组中的一个实例来每天运行一个 cronjob。

是否可以通过 AWS 提供商在 HCL 中表达这一点?社区的“最佳实践”建议是什么?我不希望使用批量计算,因为这需要 ECS。

提前谢谢了。

4

1 回答 1

0

如果要在实例上使用 cron,可以通过将 max_size、min_size 和 desired_capacity 都设置为 1 来创建单实例自动缩放,如下所示:

resource "aws_autoscaling_group" "foo" {
  name             = "foo"
  max_size         = 1
  min_size         = 1
  desired_capacity = 1
# Other params...
}

如果您想替换实例,可以将其状态设置为“不健康”,ASG 将替换它。如果您需要更多保护以防止同时运行多个代码副本,则需要在应用程序级别执行更复杂的操作(例如,获取分布式锁)。

于 2018-07-02T23:57:57.530 回答