Aws_launch_configuration and create_before_destroy pain points

I’m trying to learn about this requirement documented here:
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_configuration

I have been experiencing endless loops during destruction of a resource, and also destruction of resources that really shouldn’t be getting destroyed.

It says that I need to use create_before_destroy when using a launch configuration with an auto scaling group (which I am). It also says I need to do this with any resource the launch configuration depends on.

Since for the module containing all this, I am using a module depends on [myvpc_module],
does that mean every resource in the vpc module also requires the create_before_destroy lifecycle block?

The documentation would suggest this is true, but if it is true, it’s not nice: It would break any kind of modularity that would have existed in the vpc module. Hopefully I’m wrong there, but I’m still unclear on how to break my cyclical dependency issues.

Thanks if anyone could educate me further on how to design things correctly here!