<p>I am trying to setup Application Load Balancer to forward traffic to Nginx Ingress controller in AWS.
To set up Nginx Ingress controller, I am using <a href="https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v0.40.2/deploy/static/provider/aws/deploy-tls-termination.yaml" rel="noreferrer">this</a> YML which I got it from the <a href="https://kubernetes.github.io/ingress-nginx/deploy/#tls-termination-in-aws-load-balancer-elb" rel="noreferrer">installation instructions</a>.</p>
<p>After deployment, everything is working fine and traffic is being forwarded to EKS pods correctly. However, the above YML file is creating '<strong>Classic Load Balancer</strong>' in aws where as I want to create '<strong>Application Load Balancer</strong>'. I changed '<strong>service.beta.kubernetes.io/aws-load-balancer-type: elb</strong>' to '<strong>service.beta.kubernetes.io/aws-load-balancer-type: alb</strong>' but still it is creating classic load balancer in AWS.</p>
<p>Please help in setting up the desired LB. Thanks in advance.</p>

<p>If you want to use ALB (Application Load Balancer) instead of NLB (Network Load Balancer), you need to use AWS ALB Ingress Controller with External DNS, not the NGINX Ingress Controller. See the details in <a href="https://docs.aws.amazon.com/eks/latest/userguide/alb-ingress.html" rel="nofollow noreferrer">this official doc</a> and <a href="https://kubernetes-sigs.github.io/aws-alb-ingress-controller/" rel="nofollow noreferrer">this official AWS ALB Ingress Controller doc</a></p>
<p>I hope that answers your problems.</p>
