To increase the start up time, you need to "bake" (install) more of what is in your start up script into the image.
Snapshotting is one method, but I would avoid manually creating instances and then taking snapshots.
A better approach is to automate the creation of these images. Hashicorp Packer is the most common tool used for doing this. You can ...
Changing the value of "TargetGroupARNs:" from "Ref: TargetGroup" to "- !Ref TargetGroup" should solve