Final answer:
The Application Load Balancer (ALB) is the appropriate ELB type for applications that need to route traffic based on the domain of a website, thanks to its advanced routing capabilities based on content, including host headers.
Step-by-step explanation:
The correct answer to the question of which Elastic Load Balancer (ELB) type should be used for an application that requires choosing target groups based on the domain of a website is A. Application Load Balancer (ALB). The Application Load Balancer is specifically designed to handle advanced routing of HTTP/S requests and is capable of routing traffic to different target groups based on rules, such as the domain name specified in the URL.
The ALB allows for content-based routing, which means that you can define rules based on the content of the request, including the host header (domain name). This allows for a high degree of flexibility and control over the distribution of incoming application traffic across multiple target groups. For use cases such as microservices architecture or container-based applications where routing decisions need to be made based on the request path or domain name, the ALB is the appropriate choice over other types of ELBs like Network or Classic Load Balancers.