Client / Load Tester

Sends HTTP requests to the ALB DNS
cs6650-alb-xxx.us-west-1.elb.amazonaws.com

ALB

Application Load Balancer
One stable DNS entry point

Listener :80 rules

Priority Path Target Group
10 /product* product-tg
20 /credit-card-* cca-tg
30 /shopping-cart* cart-tg
default everything else cart-tg

Security Groups

cs6650-alb-sg
→ allows 0.0.0.0/0 on port 80

cs6650-services-sg
→ allows inbound from cs6650-alb-sg only
→ containers not directly reachable from internet

Target Group: cca-tg

Algorithm: round_robin
ATW: off
Health check: GET /health every 30s

Registered IPs:

  • 172.31.x.x:8082 ✅ CCA

Target Group: cart-tg

Algorithm: round_robin
ATW: off
Health check: GET /health every 30s

Registered IPs:

  • 172.31.x.x:8081 ✅ Cart

Also the default target group

ECS Auto-registration

When ECS starts a task:
→ automatically registers container IP into Target Group

When ECS stops a task:
→ automatically deregisters the IP

No manual IP management needed

Target Group: product-tg

Algorithm: weighted_random
ATW: on ⚡
Health check: GET /health every 30s

Registered IPs:

  • 172.31.x.x:8080 ✅ good-1
  • 172.31.x.x:8080 ✅ good-2
  • 172.31.x.x:8080 ⚠️ bad (50% 503)

ATW detects high 5XX rate on bad instance
→ flags Anomalous → reduces its weight