terraform tfstate не обновляется с удаленной корзины s3 - PullRequest
0 голосов
/ 11 сентября 2018

Я развернул инфраструктуру AWS, используя код tf на моей локальной машине, который хранил файл terraform.tfstate на моей машине.Теперь я хочу, чтобы другие разработчики ссылались на тот же файл состояния, и поэтому я скопировал код в github repo, добавил state.tf и скопировал terraform.tfstate с моей локальной машины в префикс s3 bucket, на который указывает мой файл состояния.Кроме того, в репо вносятся изменения, вместо одного большого файла TF я разделил его на три файла - state.tf, vpc.tf и dynamicodb.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 правильно, чтобы прочитать так, что он не получает "добавить" или "уничтожить"«поскольку в инфраструктуру не вносятся изменения.

1 Ответ

0 голосов
/ 14 сентября 2018

Не следует вручную копировать файл terraform.tfstate в удаленное местоположение.После того как вы закодировали информацию backend, вы перезапустите terraform init, и Terraform позаботится о том, чтобы правильно настроить ее для вас как локально, так и в удаленной корзине.

После того, как выСделав это, вы должны сделать несколько вещей, чтобы убедиться, что он работает:

  1. Войдите в консоль AWS и убедитесь, что в правильном ведре и расположении теперь есть файл terraform.tfstate.
  2. переместите локальный файл terraform.tfstate (пока не удаляйте его на всякий случай), затем запустите что-то вроде terraform state list, чтобы запросить файл состояния.Если это работает, то ваша конфигурация удаленного состояния работает.
...