A Closer Look at the Christmas Eve Outage
Bài tóm tắt Netflix 2012 3. Quy mô lớn Độ khó: Dễ
Netflix · 2012 · 3. Quy mô lớn · Độ khó: Dễ — bài gốc
Bài ngoài sheet. Netflix kể lại sự cố của chính một dịch vụ AWS mà họ phụ thuộc; nguyên nhân gốc trích từ postmortem của AWS. Phần tiếp: Netflix 2013.
Bối cảnh
- Cuối 2012, Netflix dùng hàng trăm ELB, mỗi cái cho một service hoặc một phiên bản service; mỗi nhóm thiết bị (trong hơn một nghìn loại thiết bị) phụ thuộc vào một số ELB riêng. Kiến trúc chịu được mất một phần hoặc cả một AZ (chạy ba AZ, đủ chức năng với hai); các region (Mỹ, châu Âu) được cô lập để không kéo nhau sập, nhưng chưa chịu được mất một region.
Chuyện gì đã xảy ra
- Theo AWS, một tiến trình bảo trì chạy nhầm vào dữ liệu trạng thái ELB của production và xoá nó. Từ 12:24 ngày 24/12, một vài ELB ở us-east-1 (mọi AZ) ngừng chuyển traffic; khoảng 15:30 thêm các ELB dùng cho game console, mobile và nhiều thiết bị khác để khởi động và tải danh sách phim.
- AWS phải tắt một số workflow của control plane ELB lúc 17:02 và khôi phục trạng thái từ backup suốt đêm; các ELB chính được vá lại khoảng 22:30 (console bị ảnh hưởng khoảng 7 giờ), dọn dẹp xong khoảng 8 giờ sáng 25/12.
- Ảnh hưởng một phần: chủ yếu phát trên TV ở Mỹ, Canada, Mỹ Latinh; website và phát trên máy tính gần như bình thường; châu Âu không bị gì; thiết bị đang chạy sẵn vẫn phát tiếp được. Đêm Giáng sinh vốn là đêm ít xem, nên theo Netflix họ "may mắn" khôi phục trước ngày cao điểm 25/12.
Vì sao (theo Netflix)
- Các sự cố AWS trước đó chủ yếu ở mức AZ và Netflix đã thiết kế cho nó; lần này lỗi nằm ở control plane của một dịch vụ dùng chung trên cả region, nên ba AZ cũng không cứu được.
- Họ nói đã bắt đầu tìm hiểu chạy nhiều region từ 2012 và sẽ làm trong 2013, nhưng cảnh báo: dữ liệu phải sao chép xa hơn nhiều, hệ chuyển traffic giữa region phải cực kỳ tin cậy và tránh được quá tải dây chuyền; làm ngây thơ có thể đắt hơn, phức tạp hơn và kém tin cậy hơn.
Bài học cho SWE
- Một dependency dùng chung ở mức region (load balancer, control plane) là miền lỗi lớn hơn AZ; thiết kế đa AZ không bảo vệ khỏi nó.
- Cô lập theo nhóm (thiết bị nào phụ thuộc ELB nào) giữ sự cố ở mức một phần.
- Mất dữ liệu trạng thái do thao tác bảo trì chạy nhầm production cũng xảy ra ở nhà cung cấp cloud (so với GitLab 2017).
Liên quan
- Netflix 2011 (sự cố EBS 2011, mức AZ) → bài này → Netflix 2013 (lời giải một năm sau)
- Sự cố và postmortem · Độ tin cậy và multi-region
#Postmortem#AWS ELB#Control plane#State data bị xoá#Partial outage#Availability zone#Multi-region#Dependency ngoài
Được nhắc tới trong
Công ty (1)
Bài tóm tắt (1)