导入 AWS RDS Aurora 5.7 是不是适用于 v0.11.7?

Posted

技术标签:

【中文标题】导入 AWS RDS Aurora 5.7 是不是适用于 v0.11.7?【英文标题】:Does importing an AWS RDS Aurora 5.7 work in v0.11.7?导入 AWS RDS Aurora 5.7 是否适用于 v0.11.7? 【发布时间】:2018-11-04 15:08:11 【问题描述】:

我正在将 Aurora RDS 从 Aurora 1.x (mysql 5.6) 升级到 Aurora 2.x (MySQL 5.7)。我已经在 AWS 中完成了(手动通过快照,因为它仍然不支持通过简单的单击),我正在尝试 state rmimport 到 Terraform 中(我已经升级了 Terraform 中的代码),成功了,但是 terraform plan出于以下原因,想要销毁并重新创建集群(以及实例):

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"

参数组导入成功。

我怀疑问题可能是因为它试图将正确的engineaurora-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。

【问题讨论】:

您是否为 aws_rds_cluster_instance 和 aws_rds_cluster 资源进行了更改?能否提供两个资源的代码? 【参考方案1】:

Terraform 为 Aurora RDS 指定了两个资源

rds_cluster_instance rds_cluster

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

【讨论】:

你是对的!问题是我只在 aws_rds_cluster_instance 资源中配置参数 engine 和 engine_version,而不是在 aws_rds_cluster 资源中,所以它采用默认值“aurora”而不是“aurora-mysql”。解决了这个问题,导入效果很好。非常感谢!

以上是关于导入 AWS RDS Aurora 5.7 是不是适用于 v0.11.7?的主要内容,如果未能解决你的问题,请参考以下文章

创建新的 AWS RDS 实例并导入数据,而不是将 MySQL 版本从 5.6 更新到 5.7

[AWS][数据库]Aurora 动手实验&对比RDS Mysql性能

AWS RDS Aurora - 如何使用 PgAdmin 进行连接?

无法公开 AWS Aurora Postgres RDS

Terraform,AWS RDS aurora mysql serverless 异常“找不到源集群”

AWS Aurora RDS 中的集群和实例有啥区别