Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Bewährte Methoden für die sichere Bereitstellung von Updates
Amazon Linux 2023 (AL2023) verfügt über mehrere Funktionen, die dazu dienen, Updates für das Betriebssystem sicher bereitzustellen und zu wissen, was sich zwischen den Updates geändert hat, und bei Bedarf einfach zur älteren Version zurückzukehren. In diesem Abschnitt werden die Erkenntnisse AWS aus mehr als einem Jahrzehnt interner und externer Nutzung von Amazon Linux untersucht.
Warnung
dnf --releasever=latest updateDas Ausführen ist keine bewährte Methode und wird wahrscheinlich dazu führen, dass ein Betriebssystem-Update zuerst in der Produktion getestet wird.
Verwenden Sie statt der Verwendung latest eine bestimmte AL2023 Release-Version. Dadurch wird sichergestellt, dass Sie in allen Produktionsinstanzen dieselben Änderungen bereitstellen, die Sie zuvor getestet haben. dnf --releasever=2023.12.20260817 updateWird beispielsweise immer auf die Version 2023.12.20260817 aktualisiert.
Weitere Informationen finden Sie im Abschnitt Aktualisierung von AL2023 im AL2023-Benutzerhandbuch. https://docs.aws.amazon.com/linux/al2023/ug/
Ohne die Sicherheit der Betriebssystemupdates zu planen, können die Auswirkungen einer unerwarteten negativen Interaktion zwischen Ihrem application/service und einem Betriebssystem-Update erheblich größer sein, bis hin zu einem Totalausfall. Wie bei jedem Softwareproblem gilt auch hier: Je früher das Problem erkannt wird, desto geringer sind die Auswirkungen auf die Endbenutzer.
Es ist wichtig, nicht in die Falle zu tappen, zwei Dinge zu glauben, die grundsätzlich nicht wahr sind:
Der Betriebssystemanbieter wird bei einem Update des Betriebssystems niemals einen Fehler machen.
Das spezifische Verhalten des Betriebssystems oder die Schnittstelle zu dem Betriebssystem, auf das Sie sich verlassen, entspricht dem Verhalten und den Schnittstellen, auf die sich der Betriebssystemhersteller verlassen würde.
d. h. sowohl der Betriebssystemhersteller als auch Sie würden zustimmen, dass es ein Problem mit dem Update gab.
Verlassen Sie sich nicht auf gute Absichten, sondern richten Sie Systeme ein, die sicherstellen, dass die Sicherheit der Bereitstellung auch bei jedem Update des Betriebssystems gewährleistet ist.
Es wird nicht empfohlen, neue Betriebssystemupdates durch Bereitstellung in Produktionsumgebungen zu testen. Es empfiehlt sich, das Betriebssystem als einen weiteren Teil Ihrer Bereitstellung zu betrachten und darüber nachzudenken, dieselben Sicherheitsmechanismen für die Bereitstellung anzuwenden, die Sie für jede andere Änderung an einer Produktionsumgebung für geeignet halten.
Es empfiehlt sich, alle Betriebssystemupdates vor der Bereitstellung auf Produktionssystemen zu testen. Bei der Bereitstellung werden gestaffelte Rollouts in Kombination mit einer guten Überwachung empfohlen. Durch gestaffelte Rollouts kann sichergestellt werden, dass bei Auftreten eines Problems, auch wenn es nicht unmittelbar ist, die Auswirkungen auf eine Teilmenge einer Flotte beschränkt sind und die weitere Bereitstellung des Updates gestoppt werden kann, während weitere Untersuchungen und Abhilfemaßnahmen eingeleitet werden können.
Die Minimierung der negativen Auswirkungen einer Aktualisierung des Betriebssystems hat oft oberste Priorität, gefolgt von der Lösung des Problems, wo auch immer es sich befinden mag. Wenn die Einführung eines Betriebssystem-Updates mit negativen Auswirkungen einhergeht, ist die Möglichkeit, zur vorherigen, zweifelsfrei funktionierenden Version des Betriebssystems zurückzukehren, ein mächtiges Hilfsmittel.
Amazon Linux 2023 führt eine leistungsstarke neue Funktion einDeterministische Upgrades durch versionierte Repositorys, die sicherstellt, dass jede Änderung an der Version des Betriebssystems (oder einzelner Pakete) wiederholbar ist. Wenn also beim Wechsel von einer Betriebssystemversion zur nächsten ein Problem auftritt, stehen einfach zu verwendende Mechanismen zur Verfügung, um bei der bekanntermaßen funktionierenden Betriebssystemversion zu bleiben und gleichzeitig herauszufinden, wie das Problem gelöst werden kann.
Bei AL2023 gibt es jedes Mal, wenn wir neue Paket-Updates veröffentlichen, eine neue Version, auf die man sich beschränken kann, und neue AMIs, die sich auf diese Version beschränken. Die AL2023 Release Notes behandeln Änderungen in jeder Version und behandeln Sicherheitsprobleme, Amazon Linux-Sicherheitsempfehlungen für AL2023 die in Paket-Updates behoben wurden.
Wenn Sie beispielsweise von dem Problem in der Version 2023.6.20241028 betroffen waren, könnten Sie sofort wieder die AMIs und Container-Images der vorherigen Version 2023.6.20241010 verwenden. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html In diesem Fall gab es einen Fehler in einem Paket, der in der nachfolgenden Version 2023.6.20241031 behoben wurde. Jeder Betroffene konnte jedoch sofort einfache Maßnahmen ergreifen, um ihn zu beheben: Verwenden Sie einfach die vorherigen Images. Deterministische Upgrades durch versionierte Repositorys
Deterministische Upgrades durch versionierte Repositorysstellt außerdem sicher, dass jede laufende Bereitstellung eines Betriebssystemupdates, sei es an Ort und Stelle oder durch das Starten neuer AMIs oder Container-Images, nicht von später veröffentlichten Betriebssystemupdates betroffen ist.
In unserem ersten Beispiel handelt es sich bei Flotte A um eine große Flotte, die die Bereitstellung des Updates von 2023.5.20241001 bis 2023.6.20241010 zur Hälfte abgeschlossen hat, wenn die Version https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241010.html 2023.6.20241028 veröffentlicht wird. https://docs.aws.amazon.com/linux/al2023/release-notes/relnotes-2023.6.20241028.html Deterministische Upgrades durch versionierte Repositorysbedeutet, dass die Bereitstellung für Flotte A fortgesetzt wird, ohne dass sich daran ändert, welche Updates sie anwendet.
Der Zweck von Strategien, die auf Wellen oder Phasen basieren, wie z. B. zuerst auf 1% einer Flotte, dann auf 5%, 10%, 20%, 40% bis zum Erreichen von 100%, besteht darin, eine Änderung in begrenzter Weise testen zu können, bevor sie in größerem Umfang eingeführt wird. Diese Art von Bereitstellungsstrategie wird allgemein als bewährte Methode für die Implementierung von Änderungen in der Produktion angesehen.
Da die Bereitstellungsstrategie auf Wellen basiert und das Flotten-A-Update auf 2023.6.20241010 sich in einer Phase befindet, in der es auf vielen Hosts gleichzeitig bereitgestellt wird, hat die Tatsache, dass 2023.6.20241028 veröffentlicht wurde, dank der Verwendung keine Auswirkungen auf die laufende Bereitstellung. Deterministische Upgrades durch versionierte Repositorys
Wenn Flotte B eine ältere Version, sagen wir 2023.5.20240708, ausführte und mit der Bereitstellung des Updates auf 2023.6.20241028 begonnen hatte und Flotte B von dem Problem in dieser Version betroffen war, würde dies zu Beginn der Bereitstellung bemerkt werden. An diesem Punkt kann entschieden werden, ob ein Rollout unterbrochen werden soll, bis eine Lösung für dieses Problem verfügbar ist, oder ob in der Zwischenzeit eine Bereitstellung derselben Version gestartet werden soll, die Flotte A, 2023.6.20241010, ausgeführt hat, sodass Flotte B alle Updates zwischen 2023.5.20240708 und 2023.6.20241010 erhält.
Es ist wichtig zu beachten, dass es zu Problemen führen kann, wenn Betriebssystemupdates nicht umgehend durchgeführt werden. Neue Updates enthalten wahrscheinlich Fehler- und Sicherheitskorrekturen, die für Ihre Umgebung relevant sein können. Weitere Informationen erhalten Sie unter Sicherheit und Compliance in Amazon Linux 2023 und Paket- und Betriebssystemupdates in AL2023 verwalten.
Es ist wichtig, dass Sie Ihre Bereitstellungssysteme so konfigurieren, dass Sie problemlos neue Betriebssystemupdates aufnehmen und testen können, bevor Sie sie in der Produktion bereitstellen, und Mechanismen wie Wave-basierte Bereitstellungen verwenden, um negative Auswirkungen zu minimieren. Um die negativen Auswirkungen eines Betriebssystemupdates abzumildern, ist es wichtig zu wissen, wie Sie Ihre Bereitstellungssysteme dazu bringen können, auf eine frühere, zweifelsfrei funktionierende Version des Betriebssystems zu verweisen. Sobald das Problem behoben ist, sollten Sie nicht länger auf die ältere, zweifelsfrei funktionierende Version beschränkt sein, sondern auf eine neue, zweifelsfrei funktionierende Version umsteigen.
Vorbereitung kleinerer Updates
Die Vorbereitung kleinerer Updates des Betriebssystems, wie z. B. eine neue Zwischenversion von AL2023, soll auf null Aufwand beschränkt werden. Lesen Sie unbedingt die Versionshinweise zu AL2023, um alle bevorstehenden Änderungen zu erfahren.
Wenn der Supportzeitraum eines Pakets ausläuft, kann es erforderlich sein, auf eine neuere Version der Language Runtime umzusteigen (z. B. mitPHP in AL2023). Es empfiehlt sich, sich im Voraus darauf vorzubereiten, indem Sie bequem vor Ablauf des Supportzeitraums auf neue Sprachversionen umsteigen.
Bei Paketen wie beispielsweise besteht auch die MöglichkeitPCRE Version 1, im Voraus zu planen und Ihren Code auf den Ersatzcode, in diesem Fall pcre Version 2, zu migrieren. Es empfiehlt sich, dies so schnell wie möglich zu tun, um Zeit für Rückschläge einzuplanen.
Wenn es keinen direkten Ersatz gibt, z. B. mitBerkeley DB (libdb) , müssen Sie möglicherweise eine Auswahl treffen, die auf Ihrem Anwendungsfall basiert.
Vorbereitung auf wichtige Updates
Die Aktualisierung auf eine neue Hauptversion eines Betriebssystems wird fast allgemein als etwas angesehen, das Planung, Anpassung an geänderte oder veraltete Funktionen sowie Tests vor der Bereitstellung erfordert. Es ist nicht ungewöhnlich, dass man sich schrittweise auf die nächste Hauptversion von Amazon Linux 2023 vorbereiten kann, beispielsweise indem man sich mit der Nutzung veralteter oder entfernter Funktionen befasst, bevor mit der Umstellung auf die nächste Hauptversion fortgefahren wird.
Wenn Sie beispielsweise von AL2 zu AL2023 wechseln, kann das Lesen des Funktionen sind veraltet AL2 und wurden entfernt in AL2023 Abschnitts zu einer Reihe sicherer und kleiner Schritte führen, die passieren können, während Sie AL2 weiterhin zur Vorbereitung auf AL2023 verwenden. Beispielsweise kann jede Python 2.7 wurden durch Python 3 ersetzt Verwendung (außerhalb der Betriebssystemnutzung wie im yum Paketmanager) zur Vorbereitung auf die Verwendung auf Python 3 migriert werden. Python in AL2023 Wenn Sie PHP verwenden, liefern sowohl AL2 (über PHP 8.2 AL2 Extra) als auch AL2023 PHP 8.2 aus, sodass sowohl die PHP-Versionsmigration als auch die Betriebssystemmigration nicht gleichzeitig erfolgen müssen.
Während Sie AL2023 verwenden, ist es heute auch möglich, sich auf die nächste Hauptversion von Amazon Linux 2023 vorzubereiten, während Sie AL2023 verwenden. Der In AL2023 veraltet Abschnitt behandelt Funktionen und Pakete, die in AL2023 veraltet sind und entfernt werden sollen.
Wenn Sie beispielsweise alle verbleibenden System-V-Initialisierung (Sysvinit) Funktionen, wie z. B. init Skripts, auf ihre systemd Äquivalente migrieren, sind Sie auf die Zukunft vorbereitet und können den gesamten systemd Funktionsumfang nutzen, um den Dienst zu überwachen, wie und ob er neu gestartet werden muss, welche anderen Dienste er benötigt und ob Ressourcen- oder Berechtigungsbeschränkungen gelten sollten.
Funktionen wie die 32-Bit-Unterstützung können sich auf mehrere Hauptversionen des Betriebssystems als veraltet erweisen. Für 32-Bit ist Amazon Linux 1 (AL1) veraltet32-Bit-x86 (i686) AMIs, Amazon Linux 2 ist veraltet und Amazon Linux 2023 ist veraltet32-Bit-x86-Pakete (i686). 32-Bit-x86-Laufzeitunterstützung (i686) Der Übergang weg von erstreckt sich IMDSv1 auch auf mehrere Hauptversionen des Betriebssystems. Es wird davon ausgegangen, dass einige Kunden für diese Art von Änderungen eine längere Zeit benötigen, um sich an sie anzupassen. Daher besteht ein großer Spielraum, bis die Funktionalität in Amazon Linux 2023 nicht mehr verfügbar ist.
Die Liste der veralteten Funktionen wird im Laufe der Lebensdauer des Betriebssystems aktualisiert, und es ist ratsam, sich über Änderungen auf dem Laufenden zu halten.