Terraform 地形重命名状态文件
当.tfstate保存资源时,如何重命名它?示例如下所示Terraform 地形重命名状态文件,terraform,Terraform,当.tfstate保存资源时,如何重命名它?示例如下所示 terraform { backend "s3" { bucket = "px-terraform-state" region = "ap-southeast-1" key = "network/transaction-logs.tfstate" encrypt
terraform {
backend "s3" {
bucket = "px-terraform-state"
region = "ap-southeast-1"
key = "network/transaction-logs.tfstate"
encrypt = true
dynamodb_table = "px-terraform-state"
}
}
到
有两个主要的选择 第一种方法是像这里一样更改配置,然后运行
terraforminit
,此时terraform应该自动将您的状态从旧位置迁移到新位置。如果您确认,Terraform将从旧位置读取状态,将其写入新位置,然后删除旧位置
另一个选项是将S3中的对象直接移动到新位置,然后如图所示更改配置,最后运行
terraform init-reconfigure
,其中,-reconfigure
选项禁用了我在上一段中描述的自动迁移行为,只使用新配置直接替换旧配置,完全忘记了旧配置。一旦此操作成功,您应该确保旧位置上没有状态快照,否则将来可能会有人发现它,并对哪一个是最新的快照感到困惑。您能做到这一点吗;将状态文件重命名为其他名称?我当时所做的只是创建新文件a-->将资源导入a。然后将地形状态rm从状态B中删除。不太清楚,您可以在下面发布自己的答案,您可以选择它作为答案,以便其他人可以使用它作为解决方案…以步骤说明您所采取的措施将是非常好的…不太清楚您在这里写了什么作为评论
terraform {
backend "s3" {
bucket = "px-terraform-state"
region = "ap-southeast-1"
key = "network/sftp-logs.tfstate"
encrypt = true
dynamodb_table = "px-terraform-state"
}
}