如何使用 Terraform 配置 AWS 自动扩展组/启动配置,以便仅在一个 EC2 实例上运行 cron 作业?



我正在为 AWS 系统构建一个 Terraform 配置,该系统只需要自动扩展组中的一个实例才能每天运行 cronjob。

是否可以在 HCL 中与 AWS 提供商表达这一点? 社区的"最佳实践"建议是什么? 我宁愿不使用批处理计算,因为这需要 ECS。

提前非常感谢。

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

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

如果要替换实例,可以将其状态设置为"运行状况不佳",ASG 将替换它。如果您需要更多保护来避免一次运行代码的多个副本,则需要在应用程序级别执行更复杂的操作(例如,获取分布式锁(。

相关内容

  • 没有找到相关文章

最新更新