TGViewer
DevOps Star (Звезда Девопса) DevOps Star (Звезда Девопса) @devops_star · 2.12K subscribers
Post #772 318
📌45 лучших практик Terraform

Terraform — мощный инструмент для управления инфраструктурой как кодом (IaC). Однако, как и любой инструмент, его правильное использование требует соблюдения определенных лучших практик. Вот список из 45 рекомендаций, которые помогут вам писать более надежный, безопасный и управляемый код Terraform.

📌 1-10: Организация кода
1. Используйте модули – повторно используемые модули делают код более структурированным.
2. Разделяйте код на логические части – держите код читаемым.
3. Используйте удобные имена ресурсов – облегчает понимание.
4. Придерживайтесь единообразных стилей кодирования – например, форматирование через terraform fmt.
5. Организуйте переменные – отделяйте variables.tf, outputs.tf и main.tf.
6. Используйте terraform.tfvars для переопределения значений.
7. Избегайте жестко закодированных значений – используйте переменные.
8. Применяйте версии Terraform и провайдеров – required_version и required_providers.
9. Группируйте зависимости – держите их в versions.tf.
10. Следите за файлами состояния (terraform.tfstate) – не коммитьте их в репозиторий.

🔐 11-20: Безопасность
11. Храните состояние в удаленном бэкенде – например, AWS S3 с блокировкой через DynamoDB.
12. Используйте шифрование для чувствительных данных.
13. Минимизируйте использование admin -доступов – используйте least privilege.
14. Не храните секреты в коде – используйте HashiCorp Vault, AWS Secrets Manager.
15. Ограничьте доступ к terraform apply – только для CI/CD.
16. Не используйте terraform state для хранения конфиденциальных данных.
17. Используйте .gitignore для terraform.tfstate.
18. Ограничьте изменения в инфраструктуре без terraform plan.
19. Разграничивайте окружения (dev, staging, prod).
20. Всегда проверяйте код на уязвимости – например, с помощью tfsec.

⚙️ 21-30: Управление состоянием
21. Используйте terraform state list для аудита ресурсов.
22. Не редактируйте terraform.tfstate вручную.
23. Создавайте резервные копии состояния.
24. Используйте terraform state mv для реорганизации ресурсов.
25. Очищайте terraform state от удаленных ресурсов (terraform state rm).
26. Всегда обновляйте локальное состояние перед изменениями.
27. Используйте terraform import для существующих ресурсов.
28. Избегайте гонок состояний при совместной работе.
29. Используйте lock-механизмы для работы в команде.
30. Автоматизируйте управление состоянием через CI/CD.

🚀 31-40: Оптимизация
31. Минимизируйте количество зависимостей между ресурсами.
32. Используйте terraform plan перед terraform apply.
33. Оптимизируйте порядок создания ресурсов – сначала базы данных, потом приложения.
34. Следите за обновлениями Terraform и провайдеров.
35. Используйте terraform validate перед коммитом.
36. Настройте terraform fmt как pre-commit hook.
37. Используйте теги и метаданные для организации ресурсов.
38. Применяйте terraform destroy только в безопасной среде.
39. Логируйте изменения инфраструктуры.
40. Используйте count и for_each для динамического создания ресурсов.

🔄 41-45: CI/CD и автоматизация
41. Внедряйте Terraform в CI/CD процессы.
42. Автоматизируйте тестирование инфраструктуры с terratest.
43. Используйте terraform output для передачи данных в другие системы.
44. Интегрируйте Terraform с Ansible для более детальной настройки серверов.
45. Делайте регулярные ревизии кода Terraform.

https://dev.to/prakhyatkarri/terraform-45-best-practices-62l

📲 Мы в MAX

#devops #девопс

👉 @devops_star
  • 👍 1
  • 👎 1
More from @devops_star
  1. Sep 23, 2026🔍 AIOps против DevOps Может ли AIOps полностью заменить DevOps? 🔄 1/ 💡 Культура имеет з…
  2. Sep 21, 2026Инструментарий инженера DevOps🧰🎒 Операционная система → Linux (recommended), Windows Про…
  3. Sep 17, 2026Стратегии деплоя: как мы пришли к использованию Argo CD Сегодня хочу затронуть тему, котор…
  4. Sep 14, 2026Автоматизируем выпуск валидных SSL-сертификатов в локальном Kubernetes В данном туториале…
  5. Sep 10, 2026Коротко обо мне ) 📲 Мы в MAX #devops #девопс 👉 @devops_star
  6. Sep 8, 2026Kamal — это инструмент для деплоя контейнеризированных приложений, разработанный Basecamp.…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →