Olá, Ícaro!
O comportamento que você está observando é, na verdade, o funcionamento esperado do Terraform. Quando você faz alterações no arquivo main.tf
e executa terraform apply
, o Terraform tenta aplicar as mudanças minimamente necessárias para atingir o estado desejado. Isso significa que, se ele puder atualizar recursos existentes sem destruí-los e recriá-los, ele o fará.
Esse comportamento é intencional, pois destruir e recriar recursos pode ser disruptivo e demorado, especialmente em ambientes de produção. No entanto, se você realmente precisa que a máquina seja destruída e recriada, você pode forçar isso de algumas maneiras:
Usar o comando terraform taint
: Esse comando marca um recurso específico para destruição e recriação na próxima execução do terraform apply
. Por exemplo:
terraform taint aws_instance.my_instance
Isso fará com que o Terraform destrua e recrie a instância my_instance
na próxima aplicação.
Alterar o estado do recurso: Algumas mudanças no main.tf
podem forçar a recriação do recurso. Por exemplo, alterar o tipo de instância (instance_type
) ou a AMI (ami
) geralmente faz com que o Terraform destrua e recrie a instância.
Deletar manualmente o recurso no console da AWS: Embora não seja uma prática recomendada, você pode deletar manualmente a instância no console da AWS e depois executar terraform apply
para que o Terraform recrie a instância.
Espero ter ajudado e bons estudos!