Terraform Version Management

Terraform can provision infrastructure quickly, but I understand that it is very cumbersome if there are frequent small-unit infrastructure changes, such as network interface changes or hard disk extensions.I’d like to ask you how you can provision small units of resource

Terraform manages the entire infrastructure state as a state file, but there is also the risk of deleting resources that are not in the state file. I would like to inquire about this risk management.

I’d like to ask if autoscaling and deployment environments are possible as well.

What are you meaning by “very cumbersome”? In general making changes is fairly straightforward.

You want to ensure it is very clear what is managed by Terraform and what is managed elsewhere, and not overlap the two. So for example if you have a security group being managed by Terraform you should not try to use other methods (e.g. a CLI or web interface) to add rules, make changes, etc.

Various autoscaling features are exposed, for example ASGs for AWS. One of the huge advantages of Infrastructure as Code is being able to deploy identical copies of things to produce multiple environments, which is very quick and easy using Terraform, using features such as for_each or modules.