Tags: Amazon EC2, Linux, Patch-Management
Nach dem Erzeugen einer Instanz aus einem Linux-AMI muss der virtuelle Server regelmäßig mit Updates versorgt werden. Amazon stellt zu diesem Zweck für seine beiden Linux-Varianten zwei vorkonfigurierte Yum-Repositories bereit. Die weitgehend automatisierte Aktualisierung des AMI lässt sich manuell anpassen.
Beim Erzeugen einer Amazon-Linux-Instanz aus dem AMI werden Sicherheits-Updates automatisch aus den konfigurierten Repos eingespielt, und zwar vor dem Start von Diensten wie SSH. Bei der Anmeldung zeigt die Meldung des Tages (/etc/motd) an, ob zusätzliche Aktualisierungen verfügbar sind.
yum-Konfiguration anzeigen
Die Paketquellenliste ist unter /etc/yum.repos.d verfügbar. Ein Blick in amzn-main-repo offenbart die repo-Details und ob das Repo aktiv ist ("enabled=1"). Wie die URL für mirrorlist zeigt, benötigt die Instanz einen Internetzugang für den Zugriff auf das Repo.
Der Zugriff auf die Repos erfolgt wie bei RHEL, CentOS und Fedora üblich, mithilfe des Aktualisierungs-Tools yum. Da die Repositories in jeder Region gehostet sind, kann AWS Updates schnell und ohne zusätzliche Datenübertragungskosten bereitstellen.
Die Verwandtschaft zur Red-Hat-Familie zeigt sich auch am vorbereiteten Epl-Repo, das allerdings nicht per Default aktiviert ist (enabled = 0). Dies lässt sich aber durch Bearbeiten mit einen Editor wie nano, vim oder vi (vorinstalliert) schnell beheben.
Kontinuierliche Updates
AWS erstellt und wartet das Linux-AMI als Rolling Release, so dass Nutzer kontinuierlich von einer Version zur nächsten übergehen können. Unter diesem Verfahren kann man sich einen "Fluss von Paketen" vorstellen, wobei die Images immer ein Snapshot zu einer bestimmten Zeit sind.
Der obligatorische erste Befehl in jedem User-Daten-Script
yum update -y
bleibt aber trotzdem sinnvoll, auch wenn sich die Benutzer um Sicherheits-Patches praktisch nicht kümmern müssen.
AWS lädt Paketaktualisierungen per Push-Verfahren in die Repositories hoch und macht sie auch in jeder neuen Version von Amazon Linux AMI verfügbar. yum ist dabei so konfiguriert ist, dass es auf das jeweils letzte Release verweist, was ein Blick auf die Variable
releasever=latest
in /etc/yum.conf zeigt.
Allerdings können Nutzer bei Bedarf mit der Funktion Lock and Launch eine bestimmte Version ihrer AMIs beibehalten, so dass diese keine Paketaktualisierung erhalten, wenn AWS neue Hauptversionen von Amazon Linux AMI freigibt.
Dies kann man etwa beim Instanziieren erreichen, indem man in den User-Daten etwa repo_releasever: 2015.09 verwendet. Außerdem kann man sich, sofern gewünscht, fest auf eine bestimmte Version festlegen, indem man diese in /etc/system-release einträgt, dann in /etc/yum.conf die Zeile releasever=latest auskommentiert. Zum Abschluss führt man
yum clean all
aus, um den Cache zu löschen.
Deaktivieren von automatischen Sicherheits-Updates
Kann die Instanz nicht auf die konfigurierten yum-Paketquellen zugreifen, dann wird die Aktualisierung nach mehreren Wiederholversuchen abgebrochen. Mögliche Gründe dafür können einschränkende Security-Group- oder VPC-Einstellungen (Route Tables, Subnets) sein, die einen Zugriff auf die Paket-Repositories verhindern.
Auch Instanzen in einem privaten Subnetz sollten sich zum Beispiel über einen NAT-Dienst oder eine NAT-Instanz beim ersten Start mit Aktualisierungen und später mit Updates versorgen können. Man kann aber eine Sicherheitsaktualisierung beim Systemstart auch bewusst unterbinden, indem man den User-Daten
#cloud-config
repo_upgrade: none
mitgibt. Andernfalls kann man nach dem Provisionieren der Instanz an der Konsole die Datei /etc/cloud/cloud.cfg bearbeiten und den Eintrag
repo_upgrade: security
zu
repo_upgrade: none
ändern.
Täglich Know-how für IT-Pros mit unserem Newsletter
Thomas Drilling arbeitet seit mehr als 20 Jahren selbständig als Redakteur und Autor für viele ehemalige und aktuelle IT-Magazine sowie Blogs. Thomas ist zudem Buchautor und IT-Consultant.
Seit 5 Jahren ist Thomas neben seiner journalistischen Tätigkeit hauptberuflicher, selbständiger IT-Trainer für VMware und Microsoft.
Seine Themenschwerpunkte sind Virtualisierung und Cloud Computing, speziell VMware, Amazon Web Services, Google Cloud und Microsoft Azure. Thomas ist zertifizierter VMware Professional, Advanced Professional und wurde von VMware in den Jahren 2016, 2017, 2018, 2019 und 2020 mit dem Blogger-Status vExpert ausgezeichnet.
Thomas ist außerdem zertifizierter AWS Solutions Architect, Sysops Engineer und Devops Engineer sowie Microsoft Certified Azure Administrator.
Thomas führt aktuell jeden zweiten Montag einen 4-tägigen Grundlagenkurs in Cloud Computing mit AWS via Zoom-Meeting durch. Weitere Informationen und Anmeldung über sein AWS-Blog.
Ähnliche Beiträge
- Update-Methoden für Azure Virtual Machines im Überblick
- AWS Systems Manager: EC2-Instanzen patchen, Wartungsaufgaben automatisieren
- AWS EC2: Benutzer und Netzwerk in Amazon Linux konfigurieren
- EC2: Amazon Machine Images nutzen, AMI selbst erstellen
- Updates für vCenter Server Appliance (vCSA) 6.0 installieren
Weitere Links