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 Windows Server-AMI
Das Runbook AWS-UpdateWindowsAmi
ermöglicht die Automatisierung von Image-Verwaltungsaufgaben auf Ihrem Amazon Windows Amazon Machine Image (AMI), ohne dass Sie das Runbook in JSON oder YAML erstellen müssen. Dieses Runbook wird unterstützt für Windows Server 2008 R2 oder höher. Sie können das Runbook AWS-UpdateWindowsAmi
verwenden, um die folgenden Arten von Aufgaben auszuführen.
-
Installieren Sie alle Windows-Updates und aktualisieren Sie die Amazon-Software (Standardverhalten).
-
Installieren Sie spezifische Windows-Updates und aktualisieren Sie die Amazon-Software.
-
Passen Sie ein AMI mithilfe Ihrer Skripts an.
Bevor Sie beginnen
Bevor Sie mit Runbooks arbeiten, konfigurieren Sie Rollen für Automation, um eine iam:PassRole
-Richtlinie hinzuzufügen, die auf den ARN des Instance-Profils verweist, dem Sie den Zugriff gewähren möchten. Konfigurieren Sie optional Amazon EventBridge for Automation, eine Funktion von AWS Systems Manager. 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-) Instance-Profils angeben. Weitere Informationen zum Erstellen eines IAM-Instanzprofils finden Sie unter Konfigurieren der für Systems Manager erforderlichen Instanzberechtigungen.
Anmerkung
Updates für AWS Systems Manager SSM Agent werden in der Regel für verschiedene Regionen zu verschiedenen Zeiten angeboten. Wenn Sie ein AMI anpassen oder aktualisieren, verwenden Sie nur die für die Region, in der Sie arbeiten, veröffentlichten Quell-AMIs. Auf diese Weise stellen Sie sicher, dass Sie mit dem neuesten SSM Agent für diese Region arbeiten und vermeiden Kompatibilitätsprobleme.
Das Runbook AWS-UpdateWindowsAmi
akzeptiert die folgenden Eingabeparameter.
Parameter | Typ | Beschreibung |
---|---|---|
SourceAmiId |
String |
(Erforderlich) Die Quell-AMI-ID. Sie können automatisch auf die neueste Windows Server-AMI mithilfe eines Systems ManagerParameter Store öffentlich-Parameter verweisen. Weitere Informationen finden Sie unter Query for the latest Windows AMI IDs using AWS Systems ManagerParameter Store |
SubnetId |
String |
(Optional) Das Subnetz, in dem Sie die temporäre Instance starten möchten. Sie müssen einen Wert für diesen Parameter angeben, wenn Sie Ihre Standard-VPC gelöscht haben. |
IamInstanceProfileName |
String |
(Erforderlich) Der Name der IAM-Instanzprofilrolle, die Sie unter Für Systems Manager erforderliche Instanzberechtigungen 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. |
AutomationAssumeRolle |
String |
(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 |
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.medium. |
PreUpdateDrehbuch |
String |
(Optional) Ein Skript, das ausgeführt werden muss, bevor das AMI aktualisiert wird. Geben Sie ein Skript im Runbook oder zur Laufzeit als Parameter an. |
PostUpdateDrehbuch |
String |
(Optional) Ein Skript, das ausgeführt werden muss, nachdem das AMI aktualisiert wird. Geben Sie ein Skript im Runbook oder zur Laufzeit als Parameter an. |
IncludeKbs |
String |
(Optional) Geben Sie mindestens eine Microsoft Knowledge Base (KB)-Artikel-ID an, die einbezogen werden soll. Sie können mehrere IDs anhand kommaseparierter Werte installieren. Gültige Formate: KB9876543 oder 9876543. |
ExcludeKbs |
String |
(Optional) Geben Sie mindestens eine Microsoft Knowledge Base (KB)-Artikel-ID an, die ausgeschlossen werden soll. Sie können mehrere IDs anhand kommaseparierter Werte ausschließen. Gültige Formate: KB9876543 oder 9876543. |
Kategorien |
String |
(Optional) Geben Sie mindestens eine Updatekategorie an. Sie können Kategorien anhand kommaseparierter Werte filtern. Optionen: Wichtiges Update, Sicherheitsupdate, Definitionsupdate, Update-Rollup, Service Pack, Tool, Update oder Treiber. Zu den gültigen Formaten gehört ein einzelner Eintrag. Beispiel: Wichtiges Update. Sie können auch eine kommaseparierte Liste angeben: Wichtiges Update,Sicherheitsupdate,Definitionsupdate. |
SeverityLevels |
String |
(Optional) Geben Sie mindestens eine MSRC-Ebene an, die einem Update zugeordnet ist. Sie können Dringlichkeitsstufen anhand kommaseparierter Werte filtern. Optionen: Kritisch, Wichtig, Niedrige, Mittel oder Nicht angegeben. Zu den gültigen Formaten gehört ein einzelner Eintrag. Beispiel: Wichtig. Sie können auch eine kommaseparierte Liste angeben: Kritisch,Wichtig,Niedrig. |
Automation-Schritte
Das AWS-UpdateWindowsAmi
-Runbook enthält standardmäßig die folgenden Schritte.
- Schritt 1: launchInstance (
aws:runInstances
-Aktion) -
Dieser Schritt startet eine Instance mit einer IAM-Instance-Profilrolle über das angegebene
SourceAmiID
. - Schritt 2: runPreUpdate Skript (
aws:runCommand
Aktion) -
Mit diesem Schritt können Sie ein Skript als Zeichenfolge angeben, das ausgeführt wird, bevor Updates installiert werden.
- Schritt 3: updateEC2Config (
aws:runCommand
-Aktion) -
In diesem Schritt wird das
AWS-InstallPowerShellModule
Runbook verwendet, um ein AWS öffentliches PowerShell Modul herunterzuladen. Systems Manager überprüft die Integrität des Modul mithilfe eines SHA-256-Hash. Systems Manager überprüft dann das Betriebssystem, um zu bestimmen, ob EC2Config oder EC2Launch aktualisiert werden müssen. EC2Config wird unter Windows Server 2008 R2 bis Windows Server 2012 R2 ausgeführt. EC2Launch wird unter Windows Server 2016 ausgeführt. - Schritt 4: updateSSMAgent (
aws:runCommand
-Aktion) -
Dieser Schritt aktualisiert SSM Agent mithilfe des
AWS-UpdateSSMAgent
-Runbooks. - Schritt 5: Update AWSPVDriver (
aws:runCommand
Aktion) -
In diesem Schritt werden die AWS PV-Treiber mithilfe des
AWS-ConfigureAWSPackage
Runbooks aktualisiert. - Schritt 6: updateAwsEna NetworkDriver (
aws:runCommand
Aktion) -
In diesem Schritt werden die AWS ENA-Netzwerktreiber mithilfe des
AWS-ConfigureAWSPackage
Runbooks aktualisiert. - Schritt 7: installWindowsUpdates (
aws:runCommand
Aktion) -
Dieser Schritt installiert Windows-Updates mithilfe des
AWS-InstallWindowsUpdates
-Runbooks. Standardmäßig sucht und installiert Systems Manager alle fehlenden Updates. Sie können das Standardverhalten ändern, indem Sie einen der folgenden Parameter festlegen:IncludeKbs
,ExcludeKbs
,Categories
oderSeverityLevels
. - Schritt 8: runPostUpdate Script (
aws:runCommand
Aktion) -
Mit diesem Schritt können Sie ein Skript als Zeichenfolge angeben, das ausgeführt wird, nachdem Updates installiert wurden.
- Schritt 9: runSysprepGeneralize (
aws:runCommand
Aktion) -
In diesem Schritt wird das
AWS-InstallPowerShellModule
Runbook verwendet, um ein AWS öffentliches PowerShell Modul herunterzuladen. Systems Manager überprüft die Integrität des Modul mithilfe eines SHA-256-Hash. Systems Manager führt dann Sysprep mit AWS unterstützten Methoden für EC2Launch (Windows Server 2016) oder EC2Config (Windows Server 2008 R2 bis 2012 R2) aus. - Schritt 10: stopInstance (
aws:changeInstanceState
-Aktion) -
Dieser Schritt stoppt die aktualisierte Instance.
- Schritt 11: 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. Beispiel: „Von EC2 Automation am {{global:Date_Time}} von {{Id}} generiertes AMI“, wobei DATE_TIME und SourceAmi SourceID Automatisierungsvariablen darstellen.
- TerminateInstance
aws:changeInstanceState
Schritt 12: (Aktion) -
Dieser Schritt bereinigt die Automatisierung durch Beenden der ausgeführten Instance.
- Output
-
In diesem Abschnitt können Sie die Ausgabe verschiedener Schritte oder Werte eines beliebigen Parameters als die Automation-Ausgabe bestimmen. Standardmäßig ist die Ausgabe die ID des aktualisierten Windows-AMI, das von der Automatisierung erstellt wurde.
Anmerkung
Standardmäßig verwendet das System die Standard-VPC (172.30.0.0/16), wenn Automation das AWS-UpdateWindowsAmi
-Runbbok ausführt und eine temporäre Instance erstellt. Wenn Sie die Standard-VPC gelöscht haben, erhalten Sie den folgenden Fehler:
VPC nicht definiert 400
Zur Behebung dieses Problems erstellen Sie eine Kopie des AWS-UpdateWindowsAmi
-Runbooks und geben eine Subnetz-ID an. Weitere Informationen finden Sie unter VPC nicht definiert 400.
So erstellen Sie ein gepatchtes Windows-AMI mit der Automation
Installieren und konfigurieren Sie AWS Command Line Interface (AWS CLI), falls Sie dies 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-UpdateWindowsAmi
-Runbook zu starten. Ersetzen Sie jedenBeispiel Platzhalter für Ressourcen
mit Ihren eigenen Informationen. Der Beispielbefehl unten verwendet ein aktuelles Amazon EC2 AMI zum Minimieren der Anzahl von Patches, die angewendet werden müssen. Wenn Sie diesen Befehl mehrmals ausführen, müssen Sie einen eindeutigen Wert fürtargetAMIname
angeben. AMI-Namen müssen einzigartig sein.aws ssm start-automation-execution \ --document-name="AWS-UpdateWindowsAmi" \ --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. Sie werden diese ID zum Anzeigen des Status der Automatisierung verwenden.
{ "AutomationExecutionId": "
automation execution ID
" } -
Führen Sie den folgenden Befehl aus AWS CLI, um die Automatisierung mit dem anzuzeigen:
aws ssm describe-automation-executions
-
Führen Sie den folgenden Befehl aus, um Details über den Automatisierungsprozess anzuzeigen.
aws ssm get-automation-execution --automation-execution-id
automation execution ID
Anmerkung
Abhängig von der Anzahl der angewendeten Patches kann der Windows-Patch-Vorgang in dieser Beispielautomatisierung 30 Minuten oder länger in Anspruch nehmen.