我已使用 terraform 将 AWS rds aurora postgress 集群从无服务器 v1 升级到无服务器 v2。
我遵循的步骤:
下面是我的 terraform 配置:
resource "aws_rds_cluster" "aurora_rds_serverless_v2" {
cluster_identifier = "aurora-v2-serverless-cluster-new-197789"
engine = local.env_config.rds_engine
}
resource "aws_db_cluster_snapshot" "aurora_rds_db_snapshot" {
db_cluster_identifier = aws_rds_cluster.aurora.id
db_cluster_snapshot_identifier = "aurora-rds-db-cluster-snapshot"
}
resource "aws_rds_cluster" "aurora_rds_provisioned_db_v2" {
cluster_identifier = "aurora-cluster-new-provisioned-v29071"
engine = local.env_config.rds_engine
engine_version = local.env_config.rds_engine_version
engine_mode = "provisioned"
depends_on = [aws_db_cluster_snapshot.aurora_rds_db_snapshot]
}
resource "aws_rds_cluster_instance" "aurora_provisioned_instance" {
cluster_identifier = aws_rds_cluster.aurora_rds_provisioned_db_v2.id
instance_class = "db.serverless"
}
我的问题是我不能简单地注释掉旧的集群代码,因为快照资源依赖于它。是否有可用于删除旧集群的 terraform 资源?或者我需要在第一次 TF 应用后使快照资源独立吗?
< 1.7.0
您可以按照与此类似的步骤操作:
terraform state rm
命令从 terraform 状态删除快照由于您已从状态和代码中删除了快照,因此在运行计划/应用 Terraform 之前不会将其检测为更改,也不会尝试删除快照。
>= 1.7.0
在同一个提交中,执行:
removed
块removed
块,因此不需要删除快照。