I installed istio in an eks cluster which is in private subnet. after istalling istio launches and nlb with type internal. for that, I can't get traffic from open internet to cluster. I also created an ALB to forward traffic from open internet to nlb created by istio using target group . getting health check failed in target group for port 80 . if I set 15021 and health check api /healthz/ready, i will receive traffic only for health check api.
How can I get traffic from open internet to my cluster ?
Not sure if this is a complete answer but this is how I did it for a demo project a while ago, and it might give you some ideas for your own solution. First create a gateway resource associated to a domain name from Route 53:
Then I created a load balancer patch that maps to a managed certificate for the wildcard domain and its subdomains. The wildcard cert is issued by AWS certificate manager:
Apply resources which in effect creates an API gateway, with nothing exposed yet:
Then expose a component like this:
Then add an A record in route 53 that maps the CLUSTER_ADDRESS to the API subdomain, and wait a few minutes for the subdomain to become available.