Skip to content
Latchkey

Terragrunt vs Terraform: O Que o Terragrunt Adiciona

O Terragrunt não é um substituto do Terraform: é um wrapper fino que reduz repetição, padroniza o estado remoto e orquestra muitos módulos. O Terraform puro basta para setups pequenos; o Terragrunt se paga em escala.

O Terraform provisiona infraestrutura a partir de configuração declarativa; o Terragrunt fica por cima para resolver a repetição e a orquestração de múltiplos ambientes que o Terraform sozinho deixa por sua conta. Aqui está o que o Terragrunt adiciona e quando a camada extra vale a pena.

TerragruntTerraform
O que éWrapper em torno do TerraformA própria ferramenta de IaC
Configuração DRYInputs compartilhados, blocos generateRepetir por ambiente
Estado remotoConfiguração de backend gerada automaticamenteBackend manual por módulo
Execuções multi-módulorun-all entre dependênciasApply por módulo
DependênciasDependências explícitas entre módulosOrdenação manual
OverheadFerramenta + conceitos extrasMenos partes móveis

O que o Terragrunt de fato adiciona

O Terragrunt mantém seu Terraform DRY: em vez de copiar e colar configuração de backend e provider entre ambientes, você a define uma vez e a gera. Ele também padroniza o estado remoto por módulo e pode executar muitos módulos juntos (run-all) respeitando as dependências. Para um único stack pequeno, nada disso é necessário; para dezenas de módulos entre dev/stage/prod, remove muito boilerplate e drift.

O custo do wrapper

O Terragrunt é mais uma ferramenta para instalar, aprender e manter compatível com o Terraform (ou OpenTofu). Suas abstrações (include, dependency, generate) são poderosas, mas adicionam indireção, então depurar pode significar raciocinar sobre arquivos gerados. Adote-o quando a repetição for uma dor real, não preventivamente.

No CI

Ambos rodam como etapas de CLI. O run-all plan/apply do Terragrunt pode encadear muitos módulos em ordem de dependência, o que serve bem ao CI para grandes ambientes; o Terraform puro é mais simples quando você aplica um módulo por pipeline. Faça cache do diretório de plugins de provider para acelerar o init em ambos os casos.

O veredito

Use o Terraform puro para infraestrutura pequena ou de stack único; adicione o Terragrunt quando a repetição, o boilerplate de estado remoto e a orquestração de múltiplos módulos entre ambientes se tornarem penosos. O Terragrunt complementa o Terraform em vez de substituí-lo.

Guias relacionados