Imagem de fundo

Um arquiteto de infraestrutura está revisando a adoção de Infrastructure as Code (IaC) ...

Um arquiteto de infraestrutura está revisando a adoção de Infrastructure as Code (IaC) com Terraform em um projeto de modernização. A equipe já criou módulos reutilizáveis e utiliza workspaces para isolar ambientes (dev/hom/prod).

Ao inspecionar o repositório, foram encontrados os seguintes arquivos: main.tf, variables.tf, terraform.tfstate, terraform.tfvars e .terraform.lock.hcl



Considerando as melhores práticas de segurança e gerenciamento de estado em Terraform, assinale a afirmativa correta.


A

O arquivo .terraform.lock.hcl deve ser incluído no .gitignore para evitar conflitos entre ambientes, e o state file deve ser armazenado em backend remoto com state locking habilitado utilizando DynamoDB ou equivalente.


B

O arquivo terraform.tfstate deve ser versionado no Git para garantir rastreabilidade de mudanças, enquanto terraform.tfvars contendo credenciais deve ser armazenado em secrets manager e referenciado via variáveis de ambiente.


C

Os arquivos terraform.tfstate devem ser excluídos do controle de versão e armazenados em backend remoto com criptografia, enquanto .terraform.lock.hcl deve ser versionado para garantir consistência de versões de providers entre execuções.


D

O arquivo variables.tf contendo valores sensíveis deve ser criptografado com GPG antes do commit, e múltiplos state files podem compartilhar o mesmo backend S3 bucket sem isolamento de paths desde que utilizem workspace diferente.


E

O state file local deve ser mantido apenas em ambientes de desenvolvimento, e a produção deve utilizar backend remoto sem versionamento, priorizando performance de leitura através de cache local do Terraform.