繁体   English   中英

为什么terraform一直在更新rds集群的参数组?

[英]Why does terraform keeps updating parameter group of rds cluster?

我正在使用 terraform 0.13 和最新的 AWS 提供商版本,它不断更新每个计划的 aws_rds_cluster_parameter_group 资源并申请。 任何想法为什么?

An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
  ~ update in-place
Terraform will perform the following actions:
  # aws_rds_cluster_parameter_group.data_db_parameters will be updated in-place
  ~ resource "aws_rds_cluster_parameter_group" "data_db_parameters" {
        arn         = "arn:aws:rds:ap-southeast-2:111111111111:cluster-pg:dev1-data-persistence-rds-pg"
        description = "Managed by Terraform"
        family      = "aurora-postgresql13"
        id          = "dev1-data-persistence-rds-pg"
        name        = "dev1-data-persistence-rds-pg"
        tags        = {}
        tags_all    = {}
        parameter {
            apply_method = "immediate"
            name         = "rds.force_ssl"
            value        = "1"
        }
      + parameter {
          + apply_method = "immediate"
          + name         = "ssl"
          + value        = "1"
        }
    }
Plan: 0 to add, 1 to change, 0 to destroy.

这些幽灵更新是一个已知的、长期存在的问题,GH 上这个仍然悬而未决的 3 年前的问题没有解决方案就证明了这一点。

您可以尝试更新您的 TF,因为 0.13 是一个非常旧的版本。 您还可以设置ignore_changes并尝试是否有帮助。 如果没有任何效果,那么您对此无能为力。 其 AWS 提供商和/或 TF 内部问题。

我在将Aurora mysql从5.6升级到5.7时遇到了类似的事情: log_output重新出现在每个plan output中。

但是,默认参数组中的配置值从 5.6 更改为 5.7(从 TABLE 更改为 FILE)。 我怀疑因为没有变化,AWS API 返回空,TF state 没有更新,永远重复。

所以:在这种情况下,从 TF 代码中删除参数并将其保留为默认值是解决方案。

    # plan output example
    + parameter {
          + apply_method = "immediate"
          + name         = "log_output"
          + value        = "FILE"
        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM