#terraform #terraform-provider-aws #destroy
Вопрос:
Я создаю несколько ресурсов AWS с помощью terraform, включая корзины DB и S3. Я не хочу удалять корзину БД и S3, если среда является провоцирующей, иначе удалите все ресурсы. Как я могу этого достичь?
Комментарии:
1. Простой ответ-это рабочие пространства Terraform, их предложение SaaS. Это стоит $$. Если вы не хотите платить за рабочие пространства, вам нужно будет перестроить свой код таким образом, чтобы в разных средах были разные файлы состояний (например, prod.tfstate, nonprod.tfstate). Это требует практики и опыта.
2. Рабочие пространства @AdamVincent также доступны в бесплатной версии Terraform? Вы также не объяснили, как рабочие пространства помогут избежать этого.
3. > «Терраформируйте рабочие пространства, их предложение SaaS. Это стоит $$» Подразумевается, что бесплатной версии их предложения SaaS нет. Я не могу суммировать все рабочие области в комментарии, но главное, что может решить эту проблему: рабочие области могут помочь разбить монолитную конфигурацию terraform на множество более мелких, не увеличивая сложность развертывания (это все еще возможно в бесплатной версии, но сложность возрастает).
4. Если это разовая ситуация, то вы можете использовать
-target=<resource namespace>
аргумент. Если это постоянная ситуация, то вам следует переорганизовать свои конфигурации таким образом, чтобы у вас был более четкий контроль над своими ресурсами.5. @AdamVincent Все еще я не понимаю, как я могу избежать удаления нескольких конкретных ресурсов, которые сохраняются, если Env является PROD. Я знаю, что мы можем управлять несколькими файлами tfstate для каждой среды. Но, как я уже сказал, я хочу создать ресурс, если он не существует, но не уничтожать в случае ПРОД.