Как настроить конфигурацию группы / запуска AWS с помощью Terraform для запуска задания cron только на одном экземпляре EC2? - PullRequest
0 голосов
/ 03 июля 2018

Я строю конфигурацию Terraform для системы AWS, которой требуется ровно один экземпляр в группе автоматического масштабирования для выполнения cronjob с ежедневной каденцией.

Можно ли выразить это в HCL у провайдера AWS? Что такое совет «лучшей практики» от сообщества? Я бы предпочел не использовать пакетные вычисления, так как для этого требуется ECS.

Большое спасибо заранее.

1 Ответ

0 голосов
/ 03 июля 2018

Если вы хотите использовать cron для экземпляра, вы можете создать автоматическое масштабирование для одного экземпляра, установив max_size, min_size и требуемый_capacity равными 1 следующим образом:

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

Если вы когда-нибудь захотите заменить экземпляр, вы можете установить его статус на «Нездоровый», и ASG заменит его. Если вам нужна дополнительная защита от одновременного запуска нескольких копий кода, вам потребуется сделать что-то более сложное на уровне приложения (например, получить распределенную блокировку).

...