【发布时间】:2021-05-20 13:27:18
【问题描述】:
我正在学习如何使用 Terraform 来管理我的 AWS 基础设施。
星期一我根据 Terraform Apply 从头开始创建它。
星期二(第二天)我想用一些代码更改来更新我的应用程序(不会影响其余基础架构,只是我在 ECS 中的图像)并在我的 terraform 应用输出中收到此错误消息:
Error: Error modifying DB Instance foo-staging-db: InvalidParameterCombination: Cannot upgrade postgres from 11.8 to 11.4
当我仔细检查我的 terraform database.tf 时,我看到了这个:
resource "aws_db_instance" "main" {
...
engine = "postgres"
engine_version = "11.4"
...
}
有人知道这里会发生什么吗?
- 这不是我第一次像这样更新我的数据库,因为我每个周末都会破坏我的基础设施以限制我的 AWS 成本。
- 我通过将 terraform Postgres 版本更改为 11.8 解决了该问题,但仍想了解错误发生的原因。
【问题讨论】:
-
RDS 有一个用于自动次要版本升级的标志。如果不受欢迎,请禁用它。
-
如果你想保留自动化版本并且仍然有TF工作,你可以使用
ignore_changes = "engine_version" -
哦,有趣,谢谢!有没有办法只忽略次要版本?如果不是,我可能更愿意禁用升级
-
您应该能够仅指定主要版本作为引擎版本,然后 RDS 将自动应用“首选”次要版本。
标签: amazon-web-services terraform version amazon-rds