Question

Difficulty: MediumAuto Scaling and Elastic Load Balancing (ELB)

An organization hosts a legacy payroll application on Amazon EC2 instances managed by an Auto Scaling group (ASG) behind an Application Load Balancer (ALB). The payroll application runs on port 8088. The target group is configured to route HTTP traffic to the EC2 instances on port 8088. The EC2 instances are in a security group that allows inbound traffic on port 8088 from the ALB's security group. However, the ALB marks all registered EC2 instances as unhealthy. A solutions architect discovers that the target group's health checks are configured to use HTTP on port 80. How should the solutions architect resolve this issue and restore the system to a healthy state?

  1. A
    Configure the target group's health check port to use port 80 to match standard HTTP configurations.
  2. B
    Add an inbound rule to the EC2 instances' security group to allow return traffic on ephemeral ports from the ALB, as security groups are stateless.
  3. Modify the target group's health check settings to use port 8088 or set the health check port to traffic-port.Answer
  4. D
    Configure an Amazon Route 53 latency routing policy to route traffic directly to the EC2 instances instead of the ALB to bypass the target group health checks.

Answer

Modify the target group's health check settings to use port 8088 or set the health check port to traffic-port.
The correct option is to modify the target group's health check settings to use port 8088 or 'traffic-port'. By default, the ALB target group health check uses the port configured for traffic routing ('traffic-port') unless overridden. If it was overridden to port 80, the health check requests will be sent to port 80 on the EC2 instances. Since the payroll application is listening on port 8088 and no service is listening on port 80, the health checks will fail. Correcting the health check port resolves this mismatch.

Step-by-Step Solution

1
Analyze the application listening port and the target group health check configuration.
The application is listening on port 8088, but health checks are being sent to port 80.
Identify the mismatch between where the service is active and where the load balancer is querying for health status.
2
Determine the impact of the configuration mismatch.
Since no process on the EC2 instances is listening on port 80, connection attempts by the ALB fail, and instances are marked unhealthy.
Explain why the instances are failing the health checks despite having security group rules permitting traffic on port 8088.
3
Align the health check port with the application port.
Change the health check port configuration to port 8088 or specify 'traffic-port' to dynamically match the target group's routing port.
Ensures the health check queries the port where the payload application is running, allowing successful health status updates.

Key Concept

ELB Target Group Health Check Port Configuration
Estimated Time:1m 30s
Rate this question