我正在将Aurora RDS从Aurora 1.x(MySQL 5.6(升级到Aurora 2.x(MySQL 5.7(。我已经在 AWS 中完成了它(通过快照手动完成,因为仍然不支持简单的单击(,并且我正在尝试声明 rm并将其导入Terraform(我已经在 Terraform 中升级了代码(,它成功了,但随后terraform 计划想要销毁并重新创建集群(因此也包括实例(,原因如下:
availability_zones.#: "3" => "2" (forces new resource)
availability_zones.1924028850: "eu-west-1b" => "eu-west-1b"
availability_zones.3953592328: "eu-west-1a" => "eu-west-1a"
availability_zones.94988580: "eu-west-1c" => "" (forces new resource)
[...]
engine: "aurora-mysql" => "aurora" (forces new resource)
[...]
我在 TF 中所做的更改是针对 RDS 集群的
:- engine = "aurora"
- engine_version = "5.6.10a"
+ engine = "aurora-mysql"
+ engine_version = "5.7.12"
对于参数组(集群和实例(:
- family = "aurora5.6"
+ family = "aurora-mysql5.7"
参数组导入正常。
我怀疑问题可能是因为它试图将正确的引擎">aurora-mysql"更改为错误的引擎">aurora",但为什么?!它导入了 Ok,在我的 Terraform 代码中也可以。这是 TF 错误吗?我什么也找不到。
我正在使用地形 v0.11.7
从文档中:
Aurora MySQL 2.x 的引擎名称是 aurora-mysql;引擎 Aurora MySQL 1.x的名称仍然是Aurora。 引擎版本 对于 Aurora MySQL 2.x 是 5.7.12;Aurora MySQL 的引擎版本 1.x 仍然是 5.6.10a。 Aurora MySQL 2.x 的默认参数组是 default.aurora-mysql5.7;的默认参数组 Aurora MySQL 1.x 仍然是默认的.aurora5.6。 数据库集群 Aurora MySQL 2.x 的参数组系列名称为 aurora-mysql5.7; Aurora MySQL 1.x 的数据库集群参数组系列名称 继续是极光5.6。
Terraform 有两个资源要为 Aurora RDS 指定
- rds_cluster_instance
- rds_cluster
在我看来,您为rds_cluster_instance更改了它,而不是为rds_cluster更改了它。您必须为两者更改它,然后它就会起作用。