Sollte ich Kernelpakete auf EC2-Instanzen aktualisieren?

18

Auf meinem EC2-Server wird dabei Folgendes angezeigt sudo apt-get update && sudo apt-get upgrade:

The following packages have been kept back:
  linux-ec2 linux-image-ec2 linux-image-virtual linux-virtual

Sollte ich vorgehen und sudo apt-get install linux-ec2 linux-image-ec2 linux-image-virtual linux-virtualein Upgrade dieser Pakete erzwingen?

Adam Monsen
quelle
3
Oder tun apt-get update && apt-get upgrade && apt-get dist-upgrade. Dadurch werden die zurückgehaltenen Pakete aktualisiert.
Mark Russell

Antworten:

18

Die kurze Antwort lautet: Ja, Sie sollten Ihre Systeme in Bezug auf Sicherheitspatches auf dem neuesten Stand halten.

Wie genau Sie die Sicherheitspatches bereitstellen, hängt von Ihrer Risikotoleranz ab. Hier sind einige Optionen, mit denen ich diese Frage in der Vergangenheit beantwortet habe:

  1. Wenden Sie die Upgrades auf eine Reihe von QS-Systemen an, die Ihre Produktionsumgebung imitieren, und führen Sie alle Regressionstests durch, um sicherzustellen, dass die Änderungen keine Funktionalität beeinträchtigen oder Leistungsprobleme verursachen. Sobald Sie zufrieden sind, rollen Sie die Upgrades für Ihre Produktionssysteme aus.

  2. Warten Sie einen Tag und sehen Sie nach, ob es einen öffentlichen Aufschrei über Probleme gibt, die durch die Updates verursacht wurden. Wenn alles friedlich erscheint, aktualisieren Sie Ihre Produktionssysteme.

  3. Wenden Sie jeden Sicherheitspatch auf Ihren Produktionssystemen an, sobald er verfügbar ist.

Ich habe eine Kombination aller drei dieser Ansätze mit Ubuntu verwendet und bin im Laufe der Jahre schrittweise zu Option 3 übergegangen. Sicherheitspatches werden vor der Veröffentlichung ausgiebig getestet und es wird große Sorgfalt darauf verwendet, vorhandene Funktionen nicht zu beeinträchtigen. Ich hatte noch nie ein Problem mit der Aktualisierung von Images, die von Ubuntu unterstützt werden (obwohl ich vor Jahren ein Problem hatte, als ich einen Nicht-Ubuntu-Kernel mit Ubuntu auf EC2 verwendete).

Beachten Sie, dass ein Upgrade des Kernels auch einen Neustart erfordert, um die Änderungen zu übernehmen.

Die obigen Erfahrungen und Empfehlungen gelten nur für Upgrades innerhalb einer Ubuntu-Version (z. B. 11.04). Ein Upgrade auf ein neues Ubuntu-Release ist eine viel größere und riskantere Aufgabe und muss auf jeden Fall getestet werden, bevor Sie es auf Ihre Produktionssysteme ausrollen.

Hier ist ein Artikel zu diesem Thema, der soeben von RightScale veröffentlicht wurde, in dem erläutert wird, wie Sicherheitsupgrades in ihrer Umgebung verwaltet werden:

http://blog.rightscale.com/2011/09/28/security-patching-in-the-rightscale-universe/

Eric Hammond
quelle
3
Gute Antwort. Vielleicht eine Notiz hinzufügen , dass die Kernel - Upgrade nur wirklich auf EBS-backed Instanzen möglich? Das ist immer noch der Fall, nein?
Mark Russell
3
Mark: Früher stimmte es, dass für Instancespeicher-Instanzen die Kernel nicht aktualisiert werden konnten, aber mit der Freigabe der Paravirtualisierung vor einiger Zeit können die eigentlichen Kernel auf dem AMI und nicht auf dem AKI gespeichert werden. Dies bedeutet, dass die Instanz den Kernel auf ihrem lokalen EBS-Volume aktualisieren und nach einem Neustart festhalten kann, obwohl dieselbe AKI verwendet wird. Ich habe dies gerade mit Ubuntu 11.04 (us-east-1 ami-e2af508b) getestet und die Instanz-Store-Instanz hat nach einem dist-Upgrade und einem Neustart den richtigen neueren Kernel gefunden.
Eric Hammond
2
Korrektur zu meinem vorherigen Kommentar: "Die Instanz kann den Kernel auf seinem lokalen Instance-Store- Root-Volume aktualisieren und ihn zum Stehen bringen"
Eric Hammond