2

我正在将 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)
[...]

对于 RDS 集群,我在 TF 中所做的更改是:

-  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 ”,但为什么呢?!它已导入好的,在我的 Terraform 代码中也可以。这是一个TF错误吗?我什么也找不到。

我正在使用Terraform 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 的默认参数组继续为 default.aurora5.6。Aurora MySQL 2.x 的数据库集群参数组系列名称为 aurora-mysql5.7;Aurora MySQL 1.x 的数据库集群参数组系列名称仍为 aurora5.6。

4

1 回答 1

0

Terraform 有两个要为 Aurora RDS 指定的资源

在我看来,您为 rds_cluster_instance 更改了它,但没有为 rds_cluster 更改。您必须为两者都更改它,然后它才会起作用。

于 2018-05-25T12:11:13.377 回答