Before ALb, you could setup gRPC workloads with a layer 4 LB like Elb or Nlb but would have to roll your own TLS termination in a self hosted reverse proxy with gRPC support behind the LB.
The downsides were:
You can’t rely on ACM for certificate renewal
The LAyer 4 NLB is “too dumb” to balance the traffic. You have a long running http/2 connection and maybe all go to reverse proxy instance A whilst the reverse proxy B replica is idle.
It’s worse than it sounds. For us it worked. And maybe with The TLS support of NLBs and the feature that the NLB can set the ALPN header to h2, you actually might be able to use ACM with NLB for gRPC.
But now with an ALB you get all of these features and can even load balance per request method (since it is layer 7)
So for example you offer a unified Api and one method of this Api has a disproportional amount of traffic, you can do something about this already at the ALB