Chúng tôi đã sử dụng unattended-upgrades
từ 2015 đến 2020 mà không có vấn đề gì. Chúng tôi có một thiết lập nhỏ (trên DigitalOcean) với:
nginx
mysql-server
php5-fpm
php5-curl
php5-mysql
Dựa trên hiệu suất trong quá khứ tốt, thực hiện cập nhật theo cách này cảm thấy an toàn hơn so với không thực hiện. Nhưng đó không hẳn là một sự đảm bảo cho tương lai!
Đây có thể không phải là một ý tưởng hay apache
, dựa trên báo cáo của những người dùng khác và kinh nghiệm apache
cập nhật trước đây của tôi . [Xem ở trên, và ở đây ]
Với unattended-upgrades
, can thiệp thủ công sẽ vẫn được yêu cầu khi bản phát hành tiếp cận EOL .
(Bên cạnh những câu hỏi: Theo kinh nghiệm của tôi với TWiki, WordPress và Jenkins, giữ các ứng dụng up-to-date thực sự là một mối quan tâm lớn hơn hệ điều hành riêng của mình, mặc dù tất nhiên chúng tôi thực sự cần làm cả hai Đối với hòa bình-of-tâm,. bạn có thể sandbox các ứng dụng đối mặt với Internet dưới dạng các tiến trình không root chạy bên trong bộ chứa Docker.)
Nhưng vì bạn đã hỏi về thực tiễn tốt nhất , cách tiếp cận chính được đề xuất trong tài liệu AWS là:
Tạo và bắt đầu các phiên bản mới để thay thế các phiên bản trực tuyến hiện tại của bạn. Sau đó xóa các trường hợp hiện tại.
Các phiên bản mới sẽ có bộ bản vá bảo mật mới nhất được cài đặt trong quá trình thiết lập.
(Tháng 2 năm 2020)
Điều này có thể được thực hiện như là một phần của chiến lược triển khai màu xanh lam . Ưu điểm ở đây là bạn có thể chạy thử nghiệm đối với máy chủ mới của mình trước khi chuyển lưu lượng truy cập. Nếu các bài kiểm tra của bạn kỹ lưỡng, thì về mặt lý thuyết, các cập nhật của bạn có thể được tự động hóa hoàn toàn, được xác minh trước khi đi vào hoạt động và không có thời gian chết.
Ưu điểm khác:
Các thử nghiệm có thể đưa ra cảnh báo nâng cao nếu cần có sự chú ý của con người (trái ngược với unattended-upgrades
, khi các cảnh báo chỉ đến từ người dùng của bạn khi vấn đề còn tồn tại!)
Nếu hệ thống của bạn bị xâm phạm hoặc bạn quyết định chuyển đổi nhà cung cấp, phương pháp này sẽ giúp bạn dễ dàng triển khai một triển khai mới. Chiến lược triển khai của bạn là kịch bản, thay vì bộ nhớ cổ.
Nhưng tất nhiên có nhiều thiết lập cần thiết cho phương pháp này hơn là cài đặt đơn giản unattended-upgrades
và phức tạp hơn, do đó vẫn còn chỗ cho lỗi.
AWS cũng đề cập đến việc thực hiện "Lệnh stack Dependencies stack", dường như là cách chính thức của họ để làm một cái gì đó tương tự unattended-upgrades
. Có vẻ như có thể được kích hoạt từ giao diện Instances của họ, nhưng tôi không chắc liệu nó có thể được tự động hóa hay không.