• Das AWS Systems Manager CloudWatch Dashboard wird nach dem 30. April 2026 nicht mehr verfügbar sein. Kunden können die CloudWatch Amazon-Konsole weiterhin verwenden, um ihre CloudWatch Amazon-Dashboards anzuzeigen, zu erstellen und zu verwalten, so wie sie es heute tun. Weitere Informationen finden Sie in der Amazon CloudWatch Dashboard-Dokumentation.
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 AMIs
Die folgenden Tutorials erläutern, wie Sie Amazon Machine Image (AMIs) aktualisieren, um die neuesten Patches einzubeziehen.
Ein Linux aktualisieren AMI (AWS CLI)
Diese exemplarische Vorgehensweise zur AWS Systems Manager Automatisierung zeigt Ihnen, wie Sie das AWS Command Line Interface
(AWS CLI) und das Systems AWS-UpdateLinuxAmi Manager-Runbook verwenden, um ein Linux Amazon Machine Image (AMI) automatisch mit den neuesten Versionen der von Ihnen angegebenen Pakete zu patchen. Automation ist ein Tool in AWS Systems Manager. Das AWS-UpdateLinuxAmi-Runbook automatisiert auch die Installation zusätzlicher websitespezifischer Pakete und Konfigurationen. Sie können mit dieser Anleitung eine Vielzahl von Linux-Distributionen aktualisieren, einschließlich Ubuntu Server, Red Hat Enterprise Linux (RHEL) oder Amazon Linux AMIs. Eine vollständige Liste der unterstützten Linux-Versionen finden Sie unter Patchmanager Voraussetzungen.
Mit dem AWS-UpdateLinuxAmi Runbook können Sie Image-Wartungsaufgaben automatisieren, ohne das Runbook in JSON oder YAML erstellen zu müssen. Sie können das Runbook AWS-UpdateLinuxAmi verwenden, um die folgenden Arten von Aufgaben auszuführen.
-
Aktualisieren Sie alle Distributionspakete und jegliche Amazon-Software in einem Amazon Machine Image (AMI) mit Amazon Linux, RHEL oder Ubuntu Server. Dies ist das Runbook-Standardverhalten.
-
Installieren Sie die Installation AWS Systems Manager SSM Agent auf einem vorhandenen Image, um Systems Manager-Funktionen wie das Ausführen von Fernbefehlen mithilfe von Inventar AWS Systems Manager Run Command oder die Erfassung des Softwareinventars mithilfe von Inventar zu aktivieren.
-
Installieren Sie zusätzliche Softwarepakete.
Bevor Sie beginnen
Bevor Sie mit der Arbeit mit Runbooks beginnen, konfigurieren Sie Rollen und optional auch Rollen EventBridge für Automation. Weitere Informationen finden Sie unter Einrichten der Automatisierung. Für diese exemplarische Vorgehensweise müssen Sie außerdem den Namen eines AWS Identity and Access Management (IAM-) Instanzprofils angeben. Weitere Informationen zum Erstellen eines IAM-Instance-Profils finden Sie unter Konfigurieren von erforderlichen Instance-Berechtigungen für Systems Manager.
Das Runbook AWS-UpdateLinuxAmi akzeptiert die folgenden Eingabeparameter.
| Parameter | Typ | Description |
|---|---|---|
|
SourceAmiId |
Zeichenfolge |
(Erforderlich) Die Quell-AMI-ID. Mithilfe eines öffentlichen Parameters können Sie automatisch auf die neueste ID eines Amazon EC2 AMI für Linux verweisen. AWS Systems Manager Parameter Store Weitere Informationen finden Sie unter Abfrage der neuesten IDs von Amazon Linux AMI mithilfe von AWS Systems ManagerParameter Store |
|
IamInstanceProfileName |
Zeichenfolge |
(Erforderlich) Der Name der IAM-Instance-Profilrolle, die Sie unter Erforderliche Instance-Berechtigungen für Systems Manager konfigurieren 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. |
|
AutomationAssumeRole |
Zeichenfolge |
(Erforderlich) Der Name der IAM-Servicerolle, die Sie in Einrichten der Automatisierung erstellt haben. Mit der Servicerolle (auch als assume-Rolle bezeichnet) gestatten Sie der Automatisierung, Ihre IAM-Rolle zu übernehmen und in Ihrem Auftrag Aktionen auszuführen. Mit der Servicerolle gestatten Sie der Automation beispielsweise beim Ausführen der Aktion |
|
TargetAmiName |
Zeichenfolge |
(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 |
Zeichenfolge |
(Optional) Der Typ der zu startenden Instance als Arbeitsbereich hosten. Die Instance-Typen sind je nach Region unterschiedlich. Der Standardtyp ist t2.micro. |
|
PreUpdateScript |
Zeichenfolge |
(Optional) Die URL eines Skripts, das ausgeführt werden muss, bevor Updates übernommen werden. Standard („none“) ist die Ausführung keines Skripts. |
|
PostUpdateScript |
Zeichenfolge |
(Optional) Die URL eines Skripts, das ausgeführt werden muss, nachdem Paketupdates angewendet werden. Standard („none“) ist die Ausführung keines Skripts. |
|
IncludePackages |
Zeichenfolge |
(Optional) Aktualisieren Sie nur diese benannten Pakete. Standardmäßig werden alle (\"all\") verfügbaren Updates übernommen. |
|
ExcludePackages |
Zeichenfolge |
(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 enthält standardmäßig die folgenden Schritte.
- Schritt 1: launchInstance (
aws:runInstances-Aktion) -
In diesem Schritt wird eine Instance gestartet, die Amazon Elastic Compute Cloud (Amazon EC2)-Benutzerdaten und eine IAM-Instance-Profilrolle verwendet. Userdata installiert je nach Betriebssystem den entsprechenden SSM-Agent. Bei der Installation SSM Agent können Sie Systems Manager-Tools wie Run CommandState Manager, und Inventory verwenden.
- Schritt 2: updateOSSoftware (
aws:runCommand-Aktion) -
Dieser Schritt führt die folgenden Befehle auf der gestarteten Instance aus:
-
Lädt ein Update-Skript von Amazon Simple Storage Service (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: „AMI Generiert von EC2 Automation am {{global:Date_TIME}} von {{}SourceAmiId}“, wobei DATE_TIME und SourceID Automatisierungsvariablen darstellen.
- Schritt 5: TerminateInstance (
aws:changeInstanceState-Aktion) -
Dieser Schritt bereinigt die Automatisierung durch Beenden der ausgeführten Instance.
- Ausgabe
-
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 in der Standard-VPC (172.30.0. 0/16). Wenn Sie die Standard-VPC gelöscht haben, 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.
Um eine gepatchte zu erstellen AMI mithilfe von Automation
Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie das noch nicht getan haben.
Weitere Informationen finden Sie unter Installieren oder Aktualisieren der neuesten Version von AWS CLI.
-
Führen Sie den folgenden Befehl aus, um das
AWS-UpdateLinuxAmi-Runbook zu starten. Ersetzen Sie jedenexample resource placeholderdurch Ihre Informationen.aws ssm start-automation-execution \ --document-name "AWS-UpdateLinuxAmi" \ --parameters \ SourceAmiId=AMI ID, \ IamInstanceProfileName=IAM instance profile, \ AutomationAssumeRole='arn:aws:iam::{{global:ACCOUNT_ID}}:role/AutomationServiceRole'Der Befehl gibt eine Ausführungs-ID zurück. Kopieren Sie diese ID in die Zwischenablage. Verwenden Sie diese ID, um den Status der Automatisierung anzuzeigen.
{ "AutomationExecutionId": "automation execution ID" } -
Führen Sie den folgenden Befehl aus AWS CLI, um die Automatisierung mithilfe von anzuzeigen:
aws ssm describe-automation-executions -
Führen Sie den folgenden Befehl aus, um Details über den Automatisierungsprozess anzuzeigen.
automation execution IDErsetzen Sie es durch Ihre eigenen Informationen.aws ssm get-automation-execution --automation-execution-idautomation execution IDDie Aktualisierung kann 30 Minuten oder länger in Anspruch nehmen.
Anmerkung
Sie können auch den Status der Automatisierung in der Konsole überwachen. Wählen Sie in der Liste die Automatisierung, die Sie gerade ausgeführt haben, und wählen Sie dann die Registerkarte Steps (Schritte). Diese Registerkarte zeigt Ihnen den Status der Automatisierungsaktionen.
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.