Terraform: ConcurrentUpdateException: у вас уже есть ожидающее обновление ресурса автоматического масштабирования - PullRequest
2 голосов
/ 07 января 2020

Я пытаюсь настроить автоматическое масштабирование приложения для управления предоставленным параллелизмом в лямбда-функции через Terraform. Иногда я получаю следующее исключение при запуске apply :

Error creating application autoscaling target: ConcurrentUpdateException: You already have a pending update to an Auto Scaling resource.
    status code: 400, request id: dd93d5d3-314c-11ea-aeb2-d9246c0fa0b9

  on autoscaling.tf line 1, in resource "aws_appautoscaling_target" "autoscaling-lambda-target":
   1: resource "aws_appautoscaling_target" "autoscaling-lambda-target" {

Я знаю, эта ошибка возникает , если вы запрашиваете обновление ресурса Application Auto Scaling, который уже имеет ожидающее обновление . Как я уже сказал, это случается иногда . Как я могу избежать этого на 100%?

my autoscaling.tf (так как существует много лямбд, он работает для каждого)

resource "aws_appautoscaling_target" "lambda-target" {

  depends_on = [
    aws_lambda_alias.alias-qa
  ]
  for_each = aws_lambda_function.lambda-function

  max_capacity = local.lambda_functions[each.key].max 
  min_capacity = local.lambda_functions[each.key].min 
  resource_id = "function:${each.value.function_name}:${var.stage}"
  scalable_dimension = "lambda:function:ProvisionedConcurrency"
  service_namespace = "lambda"
}
...