Load balancer giải quyết gì?
ELB tách client khỏi target và phân phối traffic dựa trên health. Listener nhận protocol/port; target group định nghĩa target và health check. ALB và NLB không phải hai tên thay thế nhau: protocol, routing, addressability và performance requirement quyết định lựa chọn.
Bài tập
Vẽ listener/target group cho web HTTP và service TCP. Tạo failure scenario: target unhealthy, listener sai port, health-check path sai và một AZ lỗi. Với mỗi lỗi, ghi evidence và nơi kiểm tra trước khi thay đổi.
Bài giảng chuyên sâu
Health check là hợp đồng giữa load balancer và ứng dụng
Client chỉ biết listener; load balancer mới biết target nào được nhận traffic. Listener chọn protocol/port, target group chứa target và health-check path. Nếu path trả 200 dù dependency chính đã hỏng, target vẫn bị coi là healthy; nếu path sai port hoặc cần auth, target bị loại dù app vẫn chạy.
ALB phù hợp HTTP/HTTPS và routing theo host/path; NLB phù hợp TCP/UDP/TLS và yêu cầu network-level/performance/static addressing khác. Không dùng load balancer để thay capacity management: khi target cạn, ALB chỉ phân phối lỗi nhanh hơn. Phải kết hợp health signal, AZ coverage và ASG.
Failure drill: target unhealthy, listener forward nhầm port, một AZ mất và TLS certificate hết hạn. Với từng tình huống, ghi nơi quan sát (target health, access log, metric), expected state và hành động rollback. Đây là cách phân biệt lỗi routing, application health và capacity.