Модуль — переиспользуемый каталог с .tf: корневой модуль вызывается CLI, дочерние подключают через module "name" { source = ... }; у модуля свой интерфейс variables/outputs.
Разбор
- source: локальный путь, git, Terraform Registry.
- Версионируйте registry/git modules (
version / ref).
- Модуль инкапсулирует связку ресурсов (VPC, RDS, ECS service).
- Слишком «божественные» модули с сотней флагов хуже двух простых.
Итог
Модуль — единица переиспользования и контракта inputs/outputs.