Я только начинаю работать с terraform и хотел бы использовать AWS S3 в качестве бэкэнда для хранения состояния моих проектов.
terraform {
backend "s3" {
bucket = "tfstate"
key = "app-state"
region = "us-east-1"
}
}
Я чувствую, что имеет смысл настроить мою корзину S3, группы IAM и политики для инфраструктуры внутреннего хранения с помощью terraform.
Если я настраиваю свое состояние бэкэнда до того, как применяю свою начальную инфраструктуру terraform, он обоснованно жалуется, что бэкэнд-контейнер еще не создан. Итак, у меня возникает вопрос, как мне настроить мой внутренний сервер terraform с помощью terraform, сохраняя при этом свое состояние для внутреннего сервера, отслеживаемого terraform. Похоже, проблема с матрешками.
У меня есть некоторые мысли о том, как написать сценарий вокруг этого, например, проверить, существует ли корзина или какое-то состояние, затем загрузить terraform и, наконец, скопировать terraform tfstate до s3 из локальной файловой системы после первого запуска. Но прежде чем идти по этому трудоемкому пути, я подумал, что должен убедиться, что не упустил что-то очевидное