Tôi có một Bộ cân bằng tải ứng dụng AWS được định cấu hình với EC2 và một nhóm tự động thay đổi quy mô. Phiên bản EC2 chạy máy chủ web Windows+IIS. Máy chủ Web kết nối với cơ sở dữ liệu.
Trong một số trường hợp (2 tháng một lần), Kiểm tra tình trạng cho ALB bắt đầu phát hiện ứng dụng là không lành mạnh và gỡ bỏ các phiên bản EC2. Luôn có ít nhất 2 phiên bản đang chạy và điều này xảy ra với tất cả các phiên bản cùng một lúc.Tôi đang cố gắng hiểu tại sao điều này lại xảy ra và tôi không thể tìm thấy bất kỳ nhật ký hữu ích hoặc dấu hiệu nào cho biết điều này đến từ đâu.
Xem cách các phiên bản đột ngột giảm xuống 0 vào ngày 6/12:
Phóng to lên:
Các phiên bản EC2 bị chấm dứt dưới dạng:
Kiểm tra tình trạng được định cấu hình để ping một trang không không phải truy vấn cơ sở dữ liệu, do đó, nút cổ chai trong cơ sở dữ liệu dường như không phải là nguyên nhân có thể xảy ra.
Khi điều đó xảy ra, thời gian phản hồi tăng vọt:
Và cũng như được đo bằng NewRelic:
Lưu ý một số điều:
- tất cả các giai đoạn của phản hồi đều chậm hơn (thời gian Redis, thời gian .NET, v.v.)
- nó xảy ra với tất cả các máy chủ cùng một lúc, vì vậy không có khả năng xảy ra sự cố với bên trong máy chủ
- nó luôn xảy ra ngoài giờ làm việc khi tải thấp
Cấu hình Auto-Scaling:
Công suất tối thiểu=2
Công suất tối đa=15
Phân phối phiên bản = 50% Theo yêu cầu, 50% Spot
Bao gồm dung lượng cơ sở Theo yêu cầu=Chỉ định 1 phiên bản đầu tiên là Theo yêu cầu
Chiến lược phân bổ theo yêu cầu=Được ưu tiên
Chiến lược phân bổ giao ngay=Giá thấp nhất - đa dạng hóa trên 10 nhóm giá thấp nhất
Tái cân bằng công suất=Tắt
Instance scale-in protection=Không được bảo vệ khỏi scale-in
Chính sách chấm dứt=Mặc định
Thời gian hồi chiêu mặc định = 300
Cấu hình nhóm mục tiêu:
Giao thức=HTTPS
Đường dẫn=/đường dẫn/đến/đăng nhập/trang
Port=Cổng giao thông
Ngưỡng khỏe mạnh = 2 lần kiểm tra sức khỏe thành công liên tiếp
Ngưỡng không lành mạnh = 4 lần kiểm tra sức khỏe liên tiếp không thành công
Thời gian chờ = 20 giây
Khoảng thời gian = 25 giây
Mã thành công=200