How to use service mesh without ingress?

We have our application deployed in azure and it contains one frontend ,three other micronservices using java. All are three separate deployments in same namespace. And one external azure postgres database managed service (flexible server) in same vnet of kubernetes.
To route traffic to front end we have azure app gateway backed ingress.And the same handles https to http conversion and uses cert-manager helm chart with let’s encrypt.
Now, we want to implement service mesh using is to it.

Can we implement that without using istio-ingressgateway?

I just installed istio without ingress and enabled istio on that namespace. Able to see the side car containers but i guess it is not restricting anything.

I see all virtual services are linked to istio ingress. So routing is linked only through istio ingress?