1
resposta

No curso, ao mudar o nome da instância de "Primeira Instância" para "Teste AWS", o Terraform destruiu a máquina e criou uma nova. Como ele sabe que é o mesmo recurso mesmo com o nome alterado?

O Terraform usa o state file para rastrear os recursos. Cada recurso tem um ID único gerado pela AWS (ex.: i-0abcd1234efgh5678), que o Terraform armazena para identificar se o recurso no código é o mesmo na nuvem. Se você fizer mudanças em propriedades imutáveis (como ami ou instance_type), o Terraform entende que não pode alterá-las diretamente e recria o recurso.

A tag Name sozinha não causaria destruição, mas outras mudanças no código (como o AMI, por exemplo) podem ter levado à recriação da instância. Mesmo com o nome alterado, o ID único da AWS continua associado ao recurso app_server no arquivo de estado do Terraform.

Se você perder o arquivo de estado, o Terraform não saberá que a máquina já existe e interpretará o recurso como novo, criando outra instância (sem destruir a antiga).

1 resposta

Olá, Paulo Victor!

O que aconteceu é que o Terraform utiliza o arquivo de estado (state file) para identificar os recursos de forma única, com base no ID gerado pela AWS. Mesmo que você mude o nome da instância, o ID da instância permanece o mesmo, e o Terraform pode rastrear o recurso corretamente. No entanto, alterações em propriedades que não são modificáveis diretamente, como a AMI ou instance type, podem fazer com que o Terraform considere o recurso como alterado e o recrie, destruindo a instância anterior.

Porém, o simples fato de alterar a tag "Name" não deveria causar essa destruição, a menos que outras mudanças também tenham ocorrido. Se o estado for perdido, o Terraform não conseguirá fazer esse rastreamento, criando uma nova instância sem destruir a anterior.

Espero que isso tenha ficado claro! Até mais!