terraform tfstate没有从远程s3存储桶刷新

问题描述 投票:1回答:1

我使用本地计算机上的tf代码部署了AWS基础结构,该计算机将terraform.tfstate存储在我的计算机上。现在我希望其他开发人员引用相同的状态文件,因此我将代码复制到github repo并添加了state.tf并将terraform.tfstate从我的本地机器复制到我的状态文件所指向的s3桶前缀。我在回购中也有一个变化,而不是有一个大的tf文件我把它分成三个文件 - state.tf,vpc.tf和dynamodb.tf。

我的state.tf文件:

terraform {
  backend "s3" {
   bucket = "testing-d-tf-state"
   key    = "aws-xyz/terraform.tfstate"
   region = "us-west-2"
  }
}

但是,当我的开发人员在他的机器上运行代码时,他正在获取

计划:26添加,0改变,25破坏。

我无法弄清楚为什么他没有正确刷新terraform.tfstate文件来读取这样他没有得到“添加”或“破坏”,因为没有对基础设施做出任何改变。

terraform terraform-provider-aws
1个回答
0
投票

您不应手动将terraform.tfstate文件复制到远程位置。在编写了backend信息后,您将重新运行terraform init,Terraform会在本地和远程存储桶中为您正确设置。

完成此操作后,您应该做一些事情来确认它是否有效:

  1. 登录AWS控制台并确认现在在正确的存储桶和位置中存在terraform.tfstate文件。
  2. 移动本地terraform.tfstate文件(不要删除它以防万一),然后运行像terraform state list这样的查询状态文件。如果它工作,那么您的远程状态配置正在运行。
© www.soinside.com 2019 - 2024. All rights reserved.