导入 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 rm 和 import 到 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"
参数组导入成功。
我怀疑问题可能是因为它试图将正确的engine“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。
【问题讨论】:
您是否为 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 进行连接?