Start with terraforming:
This has become my defacto choice for generating terraform resources from existing infrastructure.
A little more details on what this workflow might look like, assuming you're on Amazon (applies to others). It's more or less an iterative TDD process for terraform. I've even used "guard" with "terraform apply" on file changes to speed things up a bit.
Break your infrastructure into app services vs core / shared components. Shared components might be network scaffolding like VPCs and all of the related networking that (a) rarely ever changes and (b) is incredibly risky if it does (i.e. replacing a subnet might cause servers to be re-created).