Nous utilisons unattended-upgrades
de 2015 à 2020 sans aucun problème. Nous avons une petite configuration (sur DigitalOcean) avec:
nginx
mysql-server
php5-fpm
php5-curl
php5-mysql
Sur la base de bonnes performances passées, effectuer des mises à jour de cette manière semble plus sûr que de ne pas le faire. Mais ce n'est pas nécessairement une garantie pour l'avenir!
Ce n'est peut-être pas une si bonne idée apache
, d'après les rapports d'autres utilisateurs et mon expérience passée des apache
mises à jour. [Voir ci-dessus, et ici ]
Avec unattended-upgrades
, une intervention manuelle sera toujours requise lorsque la version approchera EOL .
(Mis à part la question: d'après mon expérience avec TWiki, WordPress et Jenkins, la mise à jour de ces applications est en fait plus préoccupante que le système d'exploitation lui-même, bien que nous devrions bien sûr faire les deux. Pour la tranquillité d'esprit, vous pouvez mettre en sandbox des applications accessibles sur Internet en tant que processus non root s'exécutant dans un conteneur Docker.)
Mais comme vous avez posé des questions sur les meilleures pratiques , l'approche principale recommandée dans la documentation AWS est la suivante:
Créez et démarrez de nouvelles instances pour remplacer vos instances en ligne actuelles. Supprimez ensuite les instances actuelles.
Les nouvelles instances disposeront du dernier ensemble de correctifs de sécurité installés lors de l'installation.
(Février 2020)
Cela peut être fait dans le cadre d'une stratégie de déploiement bleu-vert . L'avantage ici est que vous pouvez exécuter des tests sur votre nouveau serveur avant de commuter le trafic. Si vos tests sont approfondis, alors en théorie, vos mises à jour peuvent être entièrement automatisées, vérifiées avant d'être mises en ligne, et sans temps d'arrêt.
Autres avantages:
Les tests peuvent vous donner un avertissement avancé si une attention humaine est requise (par opposition à unattended-upgrades
, lorsque les avertissements ne proviennent que de vos utilisateurs une fois le problème résolu!)
Si votre système est compromis ou si vous décidez de changer de fournisseur, cette approche devrait faciliter le déploiement d'un nouveau déploiement. Votre stratégie de déploiement est scriptée, plutôt que la mémoire ancienne.
Mais bien sûr, il faut plus de configuration pour cette approche que la simple installation unattended-upgrades
et plus de complexité, il y a donc encore place à l'erreur.
AWS mentionne également l'exécution de la "commande de mise à jour des dépendances de pile", qui semble être leur façon officielle de faire quelque chose de similaire unattended-upgrades
. Il semble que cela puisse être déclenché à partir de leur interface Instances, mais je ne sais pas si cela peut être automatisé.