Terraform не может уничтожить метрики для aws asg

Взял на себя устаревший стек, который создает кучу ресурсов с Terraform, одним из которых является следующий asg:

resource "aws_autoscaling_group" "logstashcluster_asg" {
  lifecycle { create_before_destroy = true }

  name                      = "${var.stack_id}-asg"

  vpc_zone_identifier       = ["${data.terraform_remote_state.global.vpc_server_subnet_ids_az}"]
  max_size                  = "${lookup(var.max_count, var.aws_account_id)}"
  min_size                  = "${lookup(var.min_count, var.aws_account_id)}"
  health_check_grace_period = 600
  health_check_type         = "ELB"
  force_delete              = true
  launch_configuration      = "${aws_launch_configuration.cloud_logstashcluster.name}"
  target_group_arns         = ["${aws_lb_target_group.logstashcluster8080.arn}", "${aws_lb_target_group.logstashcluster8081.arn}", "${aws_lb_target_group.logstashcluster.arn}","${aws_lb_target_group.logstashcluster5445.arn}","${aws_lb_target_group.logstashcluster8090.arn}"]

  tags = [
    {
      key = "StackId"
      value = "${var.stack_id}"
      propagate_at_launch = true
    },
    {
      key = "Name"
      value = "${var.stack_id}"
      propagate_at_launch = true
    }
  ]

}

Обратите внимание, что в нем нет enabled_metrics, но когда я его запустил, у меня появился следующий журнал:

aws_autoscaling_group.logstashcluster_asg: Modifying... (ID: cloud-logstashcluster-asg)

  enabled_metrics.#:          "21" => "0"

  enabled_metrics.119681000:  "GroupStandbyInstances" => ""

  enabled_metrics.1196937530: "WarmPoolWarmedCapacity" => ""

  enabled_metrics.1460020489: "GroupAndWarmPoolTotalCapacity" => ""

  enabled_metrics.1940933563: "GroupTotalInstances" => ""

  enabled_metrics.2498709624: "GroupTotalCapacity" => ""

  enabled_metrics.2591500440: "GroupInServiceCapacity" => ""

  enabled_metrics.3061563798: "WarmPoolTerminatingCapacity" => ""

  enabled_metrics.3076096507: "GroupStandbyCapacity" => ""

  enabled_metrics.308948767:  "GroupPendingInstances" => ""

  enabled_metrics.3113454766: "WarmPoolMinSize" => ""

  enabled_metrics.3267518000: "GroupTerminatingInstances" => ""

  enabled_metrics.3360752227: "WarmPoolPendingCapacity" => ""

  enabled_metrics.3394537085: "GroupDesiredCapacity" => ""

  enabled_metrics.3480424646: "GroupAndWarmPoolDesiredCapacity" => ""

  enabled_metrics.3551801763: "GroupInServiceInstances" => ""

  enabled_metrics.3977504579: "GroupTerminatingCapacity" => ""

  enabled_metrics.4118539418: "GroupMinSize" => ""

  enabled_metrics.4136111317: "GroupMaxSize" => ""

  enabled_metrics.4168968189: "WarmPoolTotalCapacity" => ""

  enabled_metrics.628375462:  "GroupPendingCapacity" => ""

  enabled_metrics.661765048:  "WarmPoolDesiredCapacity" => ""



Error: Error applying plan:



1 error occurred:

    * aws_autoscaling_group.logstashcluster_asg: 1 error occurred:

    * aws_autoscaling_group.logstashcluster_asg: Error updating AutoScaling Group Metrics collection: Failure to Disable metrics collection types for ASG cloud-logstashcluster-asg: ValidationError: Valid metrics collection types are: [GroupMinSize, GroupMaxSize, GroupDesiredCapacity, GroupInServiceInstances, GroupInServiceCapacity, GroupPendingInstances, GroupPendingCapacity, GroupTerminatingInstances, GroupTerminatingCapacity, GroupStandbyInstances, GroupStandbyCapacity, GroupTotalInstances, GroupTotalCapacity, WarmPoolMinSize, WarmPoolDesiredCapacity, WarmPoolPendingCapacity, WarmPoolTerminatingCapacity, WarmPoolWarmedCapacity, WarmPoolTotalCapacity, GroupAndWarmPoolDesiredCapacity, GroupAndWarmPoolTotalCapacity].

    status code: 400, request id: 9ed94b27-cc08-4d47-b2d8-829d587f2b64

Не уверен, что это из-за того, что у них раньше были метрики, но не следует ли просто изменить / уничтожить их с помощью TF? почему жалуется? Кроме того, я попытался добавить enabled_metrics = [] как пустой список, но все равно получил ту же ошибку. Пожалуйста помоги.


person JackOuttaBox    schedule 07.04.2021    source источник
comment
Как получил этот результат? Это не от terraform plan.   -  person Marcin    schedule 07.04.2021
comment
@Marcin Я считаю, что это от terraform apply.   -  person JackOuttaBox    schedule 07.04.2021
comment
Так ошибка возникает при добавлении enabled_metrics =[] или без него?   -  person Marcin    schedule 07.04.2021
comment
Без него этого не должно быть, потому что в настоящий момент мы не включаем какие-либо метрики. Но поскольку в сообщении об ошибке говорится, что это как-то связано с метрикой, я попытался добавить пустой список, чтобы посмотреть, решит ли он проблему. он просто генерирует ту же ошибку.   -  person JackOuttaBox    schedule 07.04.2021
comment
Вероятно, метрики были включены вне TF, что привело к дрейфу. Но это странная ошибка. Какую версию провайдера TF и ​​aws вы используете?   -  person Marcin    schedule 07.04.2021
comment
это старая версия на нашем сервере jenkins: 0.11.14.8. Что касается провайдера AWS, не уверен, что вы имеете в виду?   -  person JackOuttaBox    schedule 07.04.2021
comment
Если вы запустите terraform --version, if также предоставит вам версию поставщика aws. Но в любом случае, есть ли у вас возможность проверить текущие версии провайдеров tf и aws?   -  person Marcin    schedule 07.04.2021
comment
да, тоже подумываю об обновлении, но завтра нужно получить одобрение босса, думаю, я дам вам знать tmr. спасибо за помощь, ценю ~   -  person JackOuttaBox    schedule 07.04.2021


Ответы (1)


не уверен, что вызывает это, но нашел временный обходной путь, добавив эту опцию ignore_changes следующим образом:

lifecycle {
  ignore_changes = ["tags", "enabled_metrics"]
}
person JackOuttaBox    schedule 07.04.2021