Terraform терпит неудачу, потому что tfstate (бэкэнд S3) потерян - PullRequest
0 голосов
/ 10 января 2019

Я создаю инфраструктуру AWS, используя Terraform, и использую внутреннюю конфигурацию S3. Теперь проблема в том, что кто-то удалил корзину S3, хранящую состояние, и теперь каждый раз, когда я запускаю terraform, он терпит неудачу, говоря, что ресурсы уже существуют. Старый tfstate потерян, а новый не имеет информации о существующих ресурсах. Примечание : у меня нет доступа для записи в среду AWS. Я запускаю terraform через конвейер CD Jenkins, поэтому не могу вручную изменить инфраструктуру или выполнить какую-либо команду terraform.

Есть ли способ очистить существующие ресурсы или принудительно воссоздать ресурсы (если они уже существуют) с помощью tf-файла? Это единственное место, где я могу внести изменения.

1 Ответ

0 голосов
/ 10 января 2019

Вы действительно в беспорядке. Вам нужно восстановить корзину S3 или создать новую и указать на это свой код. Затем вам необходимо восстановить состояние, которое вы потеряли, или удалить каждый объект, созданный вами через Terraform, и начать заново. Большинство объектов имеют возможность импортировать существующие объекты с помощью команды Terraform import .

Это может быть довольно большой задачей.

А вам понадобится доступ для записи в корзину? Обновление Terraform поможет, только если у вас еще был файл состояния. Вы не Если у вас нет разрешения на это, то, возможно, откажитесь от этого или продолжайте получать достаточные привилегии.

Если вы не можете запускать Terraform локально, то вы также напрасно тратите время. Удачи.

Однако ....

Вы не хотите быть здесь снова. Как вы удалили / потеряли ведро? Вам действительно нужно, чтобы это никогда не повторилось, так как @ ydaetskcoR сказал, что на корзине есть защита MFA - определенно сделайте это, и добавление версий к нему - ДЕЙСТВИТЕЛЬНО хорошая идея. Также, если вы не добавили блокировку DynamoDB в корзину, сделайте это, это действительно того стоит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...