Setting up Istio on EKS cluster using Terraform or Helm

I’m new to Terraform and Helm world! I need to set up Istio on the AWS EKS cluster. I was able to set up the EKS cluster using Terraform. I’m thinking of installing ISTIO on top of the EKS cluster using Terraform by writing terraform modules. However, I found that we can create Istio modules using the helm chart.

Can someone help me to answer my few queries:

  1. Should I install Istio using Terraform? If yes, Is there any terraform module available or How can I write one?
  2. Should I install Istio using Helm Chart? If yes, what are the pros and cons of it?
  3. I need to write a pipeline to install Istio on EKS cluster. Should I use a combination of both terraform and Helm as provider?

Could you please share some resources as well.

Thank you very much for your time. Appreciate all your help!