Terraform 地形重命名状态文件

Terraform 地形重命名状态文件,terraform,Terraform,当.tfstate保存资源时,如何重命名它?示例如下所示 terraform { backend "s3" { bucket = "px-terraform-state" region = "ap-southeast-1" key = "network/transaction-logs.tfstate" encrypt

当.tfstate保存资源时,如何重命名它?示例如下所示

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"
  }
}