Table of Contents

The Error

Error: Instance not found / Resource no longer exists

What Causes This

A resource exists in state but was deleted outside of Terraform (console, another tool, auto-scaling).

How to Fix It

Solution 1: Let Terraform Recreate

terraform plan   # Detects drift
terraform apply  # Recreates the resource

Solution 2: Remove from State

terraform state rm aws_instance.web

Solution 3: Prevent External Deletion

lifecycle { prevent_destroy = true }
# Or use API termination protection
resource "aws_instance" "critical" {
  disable_api_termination = true
}

Prevention Tips

  1. Pin provider versions — avoid surprise breaking changes
  2. Use CI/CD — catch errors before they hit production
  3. Test with terraform plan — always review before applying
  4. Keep Terraform updated — newer versions have better error messages
  5. Use terraform validate — catches syntax errors early

Hands-On Courses

Conclusion

This error is common and fixable. Follow the solutions above, and check our Terraform course for hands-on training that covers real-world troubleshooting scenarios.