Amazon web services 仅将AWS Aurora引擎版本指定为Terraform中的主要版本号
我有一些创建AWS Aurora RDS群集的地形代码:Amazon web services 仅将AWS Aurora引擎版本指定为Terraform中的主要版本号,amazon-web-services,terraform,terraform-provider-aws,amazon-aurora,Amazon Web Services,Terraform,Terraform Provider Aws,Amazon Aurora,我有一些创建AWS Aurora RDS群集的地形代码: resource "aws_rds_cluster" "default" { provider = aws.customer cluster_identifier = "my_id" engine = "aurora-mysql" engine_version
resource "aws_rds_cluster" "default" {
provider = aws.customer
cluster_identifier = "my_id"
engine = "aurora-mysql"
engine_version = "5.7.mysql_aurora.2.03.2"
database_name = var.db_name
port = var.db_port
master_username = var.db_master_username
master_password = random_password.sqlpassword.result
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
skip_final_snapshot = true
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.rds.id]
deletion_protection = true
}
这段代码已经运行了很长一段时间了,直到最近,terraformapply
失败并出现此错误错误:无法修改RDS集群(my_id):InvalidParameterCombination:无法将aurora mysql从5.7.mysql_aurora.2.07.2升级到5.7.mysql_aurora.2.03.2
长话短说,AWS在维护窗口中升级了次要版本号,并拒绝允许Terraform降级数据库。我同意AWS这样做,但我不想每次都提交新的Terraform代码
我尝试使用engine\u version=“5.7.mysql\u aurora.2”
在engine版本中不那么具体,但失败如下:InvalidParameterCombination:无法从5.7.mysql\u aurora.2.07.2中找到升级目标,请求的版本为5.7.mysql\u aurora.2。
什么样的地形方法可以允许RDS次要版本在AWS执行修改后浮动?您可以向资源添加忽略更改
生命周期块
resource "aws_rds_cluster" "default" {
provider = aws.customer
cluster_identifier = "my_id"
engine = "aurora-mysql"
engine_version = "5.7.mysql_aurora.2.03.2"
database_name = var.db_name
port = var.db_port
master_username = var.db_master_username
master_password = random_password.sqlpassword.result
backup_retention_period = 5
preferred_backup_window = "07:00-09:00"
skip_final_snapshot = true
db_subnet_group_name = aws_db_subnet_group.default.name
vpc_security_group_ids = [aws_security_group.rds.id]
deletion_protection = true
lifecycle {
ignore_changes = [
engine_version,
]
}
}
您可以在此处阅读更多关于此的信息: