Skip to Content

O que é a atualização do Terraform?

Graças à infraestrutura como código (IaC, Infrastructure as Code), as organizações podem automatizar e gerenciar de maneira escalável e consistente sua infraestrutura de TI. Com as principais empresas de tecnologia e provedores de nuvem oferecendo diferentes ferramentas de IaC, o Terraform by HashiCorp se destaca por sua abordagem declarativa de provisionamento e gerenciamento de recursos de nuvem. Um recurso interessante no pacote de comandos do Terraform é a atualização do terraforme, que desempenha um papel fundamental para garantir que o estado da infraestrutura se alinhe aos arquivos de configuração. 

Este artigo aborda a atualização de terraformes, sua importância no gerenciamento de infraestrutura e como utilizá-la de maneira eficaz.

Entendendo a atualização do Terraform

A atualização do Terraform sincroniza seu arquivo de estado do Terraform com o estado atual da infraestrutura gerenciada pelo Terraform. Imagine seu arquivo de estado do Terraform como um modelo descrevendo a configuração desejada para sua infraestrutura. No entanto, alterações manuais podem ser feitas diretamente na infraestrutura fora do controle do Terraform ao longo do tempo. A atualização do Terraform preenche essa lacuna atualizando o arquivo de estado para refletir essas modificações do mundo real.

O objetivo principal da atualização do terraforme é detectar qualquer desvio entre o estado real dos recursos e o estado desejado, conforme definido nos arquivos de configuração. Esse desvio pode ocorrer devido a alterações manuais feitas na infraestrutura fora do Terraform ou alterações no próprio ambiente de infraestrutura.

Como usar a atualização do Terraform

Usar a atualização de terraformes é simples. A sintaxe de comando é a seguinte:

$ terraform refresh

Este comando instrui o Terraform a atualizar o arquivo de estado para todos os recursos atualmente gerenciados em sua configuração do Terraform. É importante observar que a atualização de terraformes só atualiza o arquivo de estado; ela não faz modificações em sua infraestrutura real.

Suponha que você tenha uma configuração do Terraform que provisione uma instância de bucket do AWS S3. Veja um arquivo de configuração de exemplo (main.tf):

provider "aws" {
 region = "us-west-2"
 }
 
 resource "aws_s3_bucket" "example" {
 bucket = "my-unique-bucket-name"
 acl    = "private"
 }

Para aplicar essa configuração e criar o bucket S3, execute o seguinte:

$ terraform init
 $ terraform apply

Se qualquer alteração for feita no bucket S3 diretamente por meio do console AWS ou da API , executar a atualização do terraform atualizará o arquivo de estado para refletir essas alterações:

$ terraform refresh

Opções e sinalizadores adicionais

  • entrada: Se definido como falso, desativa a entrada interativa quando o Terraform precisa de entrada do usuário
  • estado: Especifica um arquivo de estado personalizado a ser usado para a operação

Veja um exemplo de uso:

$ terraform refresh -input=false -state="custom_state.tfstate"

Benefícios da atualização do Terraform

Há várias vantagens em incorporar a atualização de terraformes em seu fluxo de trabalho de gerenciamento de infraestrutura. Algumas delas são:

  • Melhor precisão do plano: Ao atualizar o arquivo de estado, a atualização do terraform garante que as saídas do plano do terraform reflitam com precisão as mudanças necessárias para alinhar sua infraestrutura à configuração do Terraform. Isso elimina o risco de propor modificações desnecessárias com base em informações desatualizadas do estado.
  • Visibilidade aprimorada da infraestrutura: A atualização do Terraform oferece uma visão clara do estado atual da sua infraestrutura. Essa transparência permite identificar quaisquer discrepâncias entre seu código e a infraestrutura real, permitindo que você tome medidas corretivas, se necessário.
  • Gerenciamento simplificado da infraestrutura: A atualização do Terraform simplifica o gerenciamento da infraestrutura mantendo seu arquivo de estado do Terraform atualizado. Você pode aplicar alterações de configuração com confiança, sabendo que seu arquivo de estado reflete com precisão a infraestrutura subjacente.

Melhores práticas para usar o Terraform Refresh

Aqui estão algumas práticas recomendadas para se ter em mente ao usar a atualização de terraformes:

  • Antes do Terraform v0.15.4: Em versões anteriores, a atualização do terraform atualizou diretamente seu arquivo de estado. No entanto, esse comportamento agora é considerado obsoleto devido a possíveis preocupações de segurança. Recomenda-se usar o terraform apply -refresh-only. Essa abordagem oferece o benefício de solicitar confirmação antes de finalizar a atualização, permitindo que você revise as alterações antes que elas sejam aplicadas ao arquivo de estado.
  • -aprovação automática: Embora alguma documentação possa fazer referência ao sinalizador de aprovação automática com atualização de terraforme, esse sinalizador também é obsoleto e deve ser evitado. Ela ignora a confirmação e potencialmente leva a consequências não intencionais.
  • Uso planejado: Em geral, recomenda-se usar a atualização estratégica de terraformes, especialmente antes de executar comandos de plano de terraformes ou aplicação de terraformes. Isso garante que seu plano reflita o estado mais recente da infraestrutura.
  • Integração de controle de versão: Considere integrar sua configuração do Terraform a um sistema de controle de versão como o Git. Isso permite rastrear alterações no código do Terraform e reverter para versões anteriores, se necessário. Isso se torna especialmente importante se uma atualização de terraforme revelar discrepâncias inesperadas.
  • Atualização limitada do escopo: Se você quiser atualizar apenas um recurso ou módulo específico em sua configuração do Terraform, poderá aproveitar o sinalizador de destino do com a atualização do terraform. Essa abordagem direcionada pode ser útil no gerenciamento de implantações de infraestrutura grandes e complexas.
  • Entendendo o impacto potencial: Embora a atualização do terraform atualize o arquivo de estado, ela não modifica sua infraestrutura. No entanto, atualizar o estado pode revelar diferenças entre o estado desejado (definido na configuração do Terraform) e o estado real da infraestrutura. Esteja preparado para resolver quaisquer discrepâncias que surjam após atualizar o arquivo de estado.

Conclusão

A atualização do Terraform desempenha um papel essencial na manutenção da consistência entre sua configuração do Terraform e sua infraestrutura real. Ao manter seu arquivo estadual sincronizado, você garante que seus planos sejam precisos e que seu gerenciamento de infraestrutura seja simplificado.

Para soluções avançadas de armazenamento que complementam sua infraestrutura gerenciada pelo Terraform, considere as ofertas da Pure Storage, como Portworx® para Kubernetes e Pure Cloud Block Store. Essas soluções oferecem recursos robustos de gerenciamento de dados que podem aumentar ainda mais a confiabilidade e a eficiência da sua infraestrutura de nuvem.

11/2024
Pure Storage Cloud for Azure VMware Solution
Shrink your Azure VMware costs with Pure Storage Cloud, a suite of enterprise-grade data services by Pure Storage.
Resumo da solução
4 páginas
ENTRE EM CONTATO
Dúvidas ou comentários?

Tem dúvidas ou comentários sobre produtos ou certificações da Pure?  Estamos aqui para ajudar.

Agende uma demonstração

Agende uma demonstração ao vivo e veja você mesmo como a Pure pode ajudar a transformar seus dados em resultados poderosos. 

Telefone: 55-11-2844-8366

Imprensa: pr@purestorage.com

 

Sede da Pure Storage

Av. Juscelino Kubitschek, 2041

Torre B, 5º andar - Vila Olímpia

São Paulo, SP

04543-011 Brasil

info@purestorage.com

FECHAR
Seu navegador não é mais compatível.

Navegadores antigos normalmente representam riscos de segurança. Para oferecer a melhor experiência possível ao usar nosso site, atualize para qualquer um destes navegadores mais atualizados.