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.
Aktualisieren eines Linux AMI
Diese exemplarische Vorgehensweise zur Systems Manager Manager-Automatisierung zeigt Ihnen, wie Sie die Konsole oder AWS CLI
das AWS-UpdateLinuxAmi
Runbook verwenden, um ein Linux AMI mit den neuesten Patches von Paketen zu aktualisieren, die Sie angeben. Automation ist eine Funktion von AWS Systems Manager. Das AWS-UpdateLinuxAmi
-Runbook automatisiert auch die Installation zusätzlicher websitespezifischer Pakete und Konfigurationen. Mit dieser exemplarischen Vorgehensweise können Sie eine Vielzahl von Linux-Distributionen aktualisierenUbuntu Server, darunter CentOS, RHELSLES, oder Amazon Linux. AMIs Eine vollständige Liste der unterstützten Linux-Versionen finden Sie unter Patch Manager Voraussetzungen.
Mit dem AWS-UpdateLinuxAmi
Runbook können Sie Image-Wartungsaufgaben automatisieren, ohne das Runbook in oder erstellen zu müssen. JSON YAML Sie können das Runbook AWS-UpdateLinuxAmi
verwenden, um die folgenden Arten von Aufgaben auszuführen.
-
Aktualisieren Sie alle Verteilungspakete und jegliche Amazon-Software auf Amazon Linux, Red Hat Enterprise Linux, Ubuntu Server, SUSE Linux Enterprise Server, oder CentOS Amazon Machine Image (AMI). Dies ist das Runbook-Standardverhalten.
-
Installieren Sie AWS Systems Manager SSM Agent auf einem vorhandenen Image, um Systems Manager Manager-Funktionen zu aktivieren, z. B. das Ausführen von Remotebefehlen mithilfe von AWS Systems Manager Run Command oder die Erfassung von Softwareinventar mithilfe von Inventar.
-
Installieren Sie zusätzliche Softwarepakete.
Bevor Sie beginnen
Bevor Sie mit der Arbeit mit Runbooks beginnen, konfigurieren Sie Rollen und optional die Funktionen EventBridge für die Automatisierung. Weitere Informationen finden Sie unter Einrichten der Automatisierung. Für diese exemplarische Vorgehensweise müssen Sie außerdem den Namen eines Instanzprofils AWS Identity and Access Management (IAM) angeben. Weitere Informationen zum Erstellen eines IAM Instanzprofils finden Sie unter Konfigurieren der für Systems Manager erforderlichen Instanzberechtigungen.
Das Runbook AWS-UpdateLinuxAmi
akzeptiert die folgenden Eingabeparameter.
Parameter | Typ | Beschreibung |
---|---|---|
SourceAmiId |
String |
(Erforderlich) Die Quell-AMI-ID. |
IamInstanceProfileName |
String |
(Erforderlich) Der Name der IAM Instanzprofilrolle, die Sie unter Konfigurieren der für Systems Manager erforderlichen Instanzberechtigungen erstellt haben. Die Instance-Profilrolle erteilt der Automation die Berechtigung, auf Ihren Instances Aktionen durchzuführen, wie etwa das Ausführen von Befehlen oder das Starten und Beenden von Services. Das Runbook verwendet nur den Namen der Instance-Profilrolle. Wenn Sie den Amazon-Ressourcennamen (ARN) angeben, schlägt die Automatisierung fehl. |
AutomationAssumeRole |
String |
(Erforderlich) Der Name der IAM Servicerolle, in der Sie erstellt habenEinrichten der Automatisierung. Die Servicerolle (auch „Rolle übernehmen“ genannt) erteilt Automation die Erlaubnis, Ihre IAM Rolle zu übernehmen und Aktionen in Ihrem Namen auszuführen. Mit der Servicerolle gestatten Sie der Automation beispielsweise beim Ausführen der Aktion |
TargetAmiName |
String |
(Optional) Der Name des neuen AMI nach seiner Erstellung. Der Standardname ist eine systemgenerierte Zeichenfolge, die die Quell-AMI-ID sowie Uhrzeit und Datum der Erstellung enthält. |
InstanceType |
String |
(Optional) Der Typ der zu startenden Instance als Arbeitsbereich hosten. Die Instance-Typen sind je nach Region unterschiedlich. Der Standardtyp ist t2.micro. |
PreUpdateScript |
String |
(Optional) URL eines Skripts, das ausgeführt werden soll, bevor Updates angewendet werden. Standard („none“) ist die Ausführung keines Skripts. |
PostUpdateScript |
String |
(Optional) URL eines Skripts, das ausgeführt werden soll, nachdem Paket-Updates installiert wurden. Standard („none“) ist die Ausführung keines Skripts. |
IncludePackages |
String |
(Optional) Aktualisieren Sie nur diese benannten Pakete. Standardmäßig werden alle (\"all\") verfügbaren Updates übernommen. |
ExcludePackages |
String |
(Optional) Namen der Pakete, die bei Updates unter allen Umständen zurückgehalten werden müssen. Standardmäßig wird kein (\"none\") Paket ausgeschlossen. |
Automation-Schritte
Das AWS-UpdateLinuxAmi
-Runbook umfasst standardmäßig die folgenden Automatisierungsaktionen.
- Schritt 1: launchInstance (
aws:runInstances
Aktion) -
In diesem Schritt wird eine Instance mit Amazon Elastic Compute Cloud (AmazonEC2) -Benutzerdaten und einer IAM Instance-Profilrolle gestartet. Userdata installiert je nach Betriebssystem den entsprechenden SSM Agent. Durch Installieren von SSM Agent können Sie Systems Manager-Funktionen verwenden, wie etwa Run Command, State Manager und Inventory.
- Schritt 2: updateOSSoftware (
aws:runCommand
Aktion) -
Dieser Schritt führt die folgenden Befehle auf der gestarteten Instance aus:
-
Lädt ein Update-Skript aus Amazon S3 herunter.
-
Führt ein optionales Pre-Update-Skript aus.
-
Aktualisiert Verteilungspakete und Amazon-Software.
-
Führt ein optionales Post-Update-Skript aus.
Das Ausführungsprotokoll wird im Ordner /tmp gespeichert, damit es der Benutzer zu einem späteren Zeitpunkt ansehen kann.
Falls Sie eine bestimmte Reihe von Paketen aktualisieren möchten, können Sie die Liste mithilfe des
IncludePackages
-Parameters bereitstellen. Bei der Bereitstellung versucht das System nur diese Pakete und deren abhängige Objekte zu aktualisieren. Es werden keine weiteren Updates vorgenommen. Wenn standardmäßig keine include-Pakete festgelegt sind, aktualisiert das Programm alle verfügbaren Pakete.Falls Sie eine bestimmte Reihe von Paketen von der Aktualisierung ausschließen möchten, können Sie die Liste mithilfe des
ExcludePackages
-Parameters bereitstellen. Wenn diese Pakete bereitgestellt werden, bleiben sie in ihrer aktuellen Version, unabhängig von anderen festgelegten Optionen. Wenn keine exclude-Pakete festgelegt sind, werden standardmäßig keine Pakete ausgeschlossen. -
- Schritt 3: stopInstance (
aws:changeInstanceState
Aktion) -
Dieser Schritt stoppt die aktualisierte Instance.
- Schritt 4: createImage (
aws:createImage
Aktion) -
Dieser Schritt erstellt ein neues AMI mit einem aussagekräftigen Namen, der es mit der Quell-ID und dem Zeitpunkt der Erstellung verknüpft. Zum Beispiel: „AMIGeneriert durch EC2 Automatisierung auf {{global: DATE _TIME}} von {{SourceAmiId}}“, wobei DATE _ TIME und SourceID für Automatisierungsvariablen stehen.
- Schritt 5: terminateInstance (
aws:changeInstanceState
Aktion) -
Dieser Schritt bereinigt die Automatisierung durch Beenden der ausgeführten Instance.
- Output
-
Die Automatisierung gibt die neue AMI-ID als Ausgabe zurück.
Anmerkung
Wenn Automation das AWS-UpdateLinuxAmi
Runbook ausführt, erstellt das System standardmäßig eine temporäre Instanz VPC (172.30.0.0/16). Wenn Sie die Standardeinstellung gelöscht habenVPC, erhalten Sie die folgende Fehlermeldung:
VPC not defined 400
Zur Behebung dieses Problems erstellen Sie eine Kopie des AWS-UpdateLinuxAmi
-Runbooks und geben eine Subnetz-ID an. Weitere Informationen finden Sie unter VPC nicht definiert 400.
So erstellen Sie ein gepatchtes AMImit der Automation (AWS Systems Manager)
Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/
. Klicken Sie im Navigationsbereich auf Automation.
-
Wählen Sie Execute automation (Automatisierung ausführen).
-
Wählen Sie in der Liste Automation-Dokument
AWS-UpdateLinuxAmi
. -
Überprüfen Sie im Abschnitt Document details (Dokumentdetails), ob Document version (Dokumentversion) auf Default version at runtime (Standardversion bei Laufzeit) gesetzt ist.
-
Wählen Sie Weiter.
-
Wählen Sie im Abschnitt Execution mode (Ausführungsmodus) die Option Simple Execution (Einfache Ausführung) aus.
-
Geben Sie im Abschnitt Input parameters (Eingabeparameter) die Informationen ein, die Sie im Abschnitt Before You Begin (Bevor Sie beginnen) erfasst haben.
-
Wählen Sie Execute (Ausführen). Die Konsole zeigt den Status der Automation-Ausführung an.
Nach dem Abschluss der Automatisierung starten Sie eine Test-Instance über das aktualisierte AMI, um die Änderungen zu überprüfen.
Anmerkung
Falls ein Schritt in der Automatisierung fehlschlägt, werden die Informationen zu dem Fehler auf der Seite Automation Executions (Automation-Ausführungen) aufgelistet. Die Automatisierung ist so konzipiert, dass sie die temporäre Instance nach erfolgreichem Abschluss aller Aufgaben beendet. Wenn ein Schritt fehlschlägt, beendet das System die Instance möglicherweise nicht. Wenn also ein Schritt fehlschlägt, beenden Sie die temporäre Instance manuell.