Health Checks

2 phút đọcSeries: NoteBook: AWS Certified Solutions Architect Associate SAA-C031 lượt xem

Route 53 – Health Checks

Trong Amazon Route 53, Health Check là cơ chế kiểm tra tình trạng của các tài nguyên (resource) để đảm bảo rằng chỉ những endpoint hoạt động tốt mới được trả về trong kết quả DNS. Khi một resource bị đánh dấu là "unhealthy", Route 53 có thể tự động thực hiện failover DNS để chuyển traffic sang endpoint dự phòng, đảm bảo tính sẵn sàng và liên tục của hệ thống.

  • HTTP Health Checks chỉ áp dụng cho các tài nguyên public
  • Health Check ⟹ Tự động thực hiện DNS Failover:
    • Health check theo dõi trạng thái của một endpoint (ứng dụng, server hoặc resource khác trên AWS)
    • Health check theo dõi trạng thái của các health check khác (Calculated Health Checks)
    • Health check theo dõi các cảnh báo (Alarms) từ CloudWatch (toàn quyền điều khiển) – ví dụ: cảnh báo throttling của DynamoDB, cảnh báo từ RDS, các custom metric,… (rất hữu ích cho các resource private)
  • Health Check được tích hợp với CloudWatch Metrics

Giám sát Endpoint

  • Có khoảng 15 global health checkers sẽ kiểm tra trạng thái của endpoint
    • Ngưỡng xác định trạng thái Healthy/Unhealthy: mặc định là 3
    • Khoảng thời gian kiểm tra: 30 giây (có thể cấu hình xuống 10 giây – chi phí cao hơn)
    • Các giao thức hỗ trợ: HTTP, HTTPS và TCP
    • Nếu hơn 18% health checkers báo endpoint là healthy, Route 53 sẽ coi nó là Healthy. Ngược lại là Unhealthy
    • Có thể chọn khu vực mà bạn muốn Route 53 sử dụng để gửi health check
  • Health Check chỉ pass khi endpoint trả về mã trạng thái 2xx hoặc 3xx
  • Health Check có thể được cấu hình để pass/fail dựa trên nội dung trong 5120 byte đầu tiên của response
  • Cần mở router/firewall để cho phép các request từ dải IP của Route 53 Health Checkers

Private Hosted Zones

  • Các health checker của Route 53 nằm ngoài VPC
  • Do đó, chúng không thể truy cập các endpoint private (như trong private VPC hoặc hệ thống on-premises)
  • Bạn có thể tạo một CloudWatch Metric, sau đó gán nó với một CloudWatch Alarm, rồi tạo một Health Check kiểm tra chính alarm đó
Bạn thấy bài này thế nào?