Tôi đang chạy một ứng dụng trên Elastic Beanstalk, bất cứ khi nào tôi cần triển khai một phiên bản mới, tôi cần phải:
- triển khai phiên bản trên Elastic Beanstalk, mất một phút hoặc lâu hơn
- vá cơ sở dữ liệu với bất kỳ bản vá SQL nào đi kèm với phiên bản mới, phải mất thêm vài giây
Trong thời gian đó, tôi muốn ELB dừng chuyển hướng lưu lượng truy cập đến các phiên bản EC2 và chỉ mang lại lưu lượng truy cập cho họ khi an toàn để làm điều đó (khi phiên bản phần mềm và cơ sở dữ liệu khớp).
Có thể tạm thời chuyển hướng lưu lượng của ELB ở nơi khác không? Ví dụ, thực hiện chuyển hướng HTTP đến nhóm S3 hoặc đọc từ nhóm này thay vì phiên bản EC2?
Tôi biết tôi có thể làm điều này với các thay đổi DNS, nhưng chúng sẽ mất thêm thời gian để truyền bá và ngay cả với chỉ số TTL thấp, tôi vẫn không thể đảm bảo rằng khách hàng sẽ tuân thủ đúng cách và đến đúng máy chủ ngay khi tôi thực hiện cập nhật.
Vì vậy, lý tưởng, DNS phải luôn luôn trỏ đến ELB và ELB sau đó sẽ chuyển lưu lượng truy cập trong thời gian thực sang một nơi khác chỉ trong thời gian nâng cấp.