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.
Erstellen von Automation-Runbooks
Jedes Runbook in Automation, ein Tool in AWS Systems Manager, definiert eine Automatisierung. Automatisierungs-Runbooks definieren die Aktionen, die während einer Automatisierung ausgeführt werden. Im Runbook-Inhalt definieren Sie die Eingabeparameter, Ausgaben und Aktionen, die Systems Manager für Ihre verwalteten Instanzen und AWS Ressourcen ausführt.
Die Automatisierung umfasst mehrere vordefinierte Runbooks, mit denen Sie allgemeine Aufgaben ausführen können, z. B. das Neustarten einer oder mehrerer Amazon Elastic Compute Cloud (Amazon EC2) -Instances oder das Erstellen einer Amazon Machine Image (AMI). Ihre Anwendungsfälle könnten jedoch über die Funktionen der vordefinierten Runbooks hinausgehen. In diesem Fall können Sie eigene Runbooks erstellen und an Ihre Bedürfnisse anpassen.
Ein Runbook besteht aus Automatisierungsaktionen, Parametern für diese Aktionen und Eingabeparametern, die Sie angeben. Der Inhalt eines Runbooks wird entweder in YAML oder JSON geschrieben. Wenn Sie mit YAML oder JSON nicht vertraut sind, empfehlen wir die Verwendung des visuellen Designers oder das Erlernen mehr über eine der Auszeichnungssprachen, bevor Sie versuchen, Ihr eigenes Runbook zu erstellen. Weitere Informationen zum visuellen Designer finden Sie unter Visuelle Designerfahrung für Automation-Runbooks.
Die folgenden Abschnitten helfen Ihnen, Ihr erstes Runbook erstellen.
Identifizieren Sie Ihren Anwendungsfall
Der erste Schritt beim Erstellen eines Runbooks besteht darin, Ihren Anwendungsfall zu identifizieren. Sie haben beispielsweise geplant, dass das AWS-CreateImage
Runbook täglich auf all Ihren EC2 Amazon-Produktionsinstanzen ausgeführt wird. Am Ende des Monats entscheiden Sie, dass Sie über mehr Images verfügen, als für Wiederherstellungspunkte erforderlich sind. In Zukunft möchten Sie die älteste Version automatisch löschen AMI einer EC2 Amazon-Instance, wenn eine neue AMI wird erstellt. Um dies zu erreichen, erstellen Sie ein neues Runbook, das folgende Funktionen erfüllt:
-
Führt die
aws:createImage
-Aktion aus und gibt die Instance-ID in der Image-Beschreibung an. -
Führt die
aws:waitForAwsResourceProperty
-Aktion aus, um den Zustand des Images abzufragen, bis esavailable
ist. -
Wenn der Image-Status lautet
available
, führt dieaws:executeScript
Aktion ein benutzerdefiniertes Python-Skript aus, das alle mit Ihrer EC2 Amazon-Instance verknüpften Bilder sammelt. IDs Das Skript führt diese Filterung aus, indem es die Instance-ID in der Image-Beschreibung verwendet, die Sie bei der Erstellung angegeben haben. Anschließend sortiert das Skript die Liste der Bilder auf der IDs GrundlagecreationDate
des Bilds und gibt die ID des ältesten Bilds aus AMI. -
Schließlich wird die
aws:deleteImage
Aktion ausgeführt, um das älteste zu löschen AMI unter Verwendung der ID aus der Ausgabe des vorherigen Schritts.
In diesem Szenario haben Sie bereits das AWS-CreateImage
-Runbook verwendet, haben aber festgestellt, dass Ihr Anwendungsfall eine größere Flexibilität erforderte. Das kommt häufig vor, da es Überschneidungen zwischen Runbooks und Automatisierungsaktionen geben kann. Daher müssen Sie möglicherweise anpassen, welche Runbooks oder Aktionen Sie verwenden, um Ihren Anwendungsfall zu adressieren.
Zum Beispiel ermöglichen die aws:executeScript
- und die aws:invokeLambdaFunction
-Aktion es Ihnen, benutzerdefinierte Skripts als Teil Ihrer Automatisierung auszuführen. Sie bevorzugen vielleicht aws:invokeLambdaFunction
aufgrund der zusätzlichen unterstützten Laufzeitsprachen. Möglicherweise bevorzugen Sie jedoch aws:executeScript
, da Sie damit Ihre Skriptinhalte direkt in YAML Runbooks erstellen und Skriptinhalte als Anhänge für JSON-Runbooks bereitstellen können. Sie könnten auch aws:executeScript
als einfacher in Bezug auf AWS Identity and Access Management
(IAM)-Einrichtung empfinden. Da es die in der angegebenen Berechtigungen verwendetAutomationAssumeRole
, aws:executeScript
ist keine zusätzliche AWS Lambda Funktionsausführungsrolle erforderlich.
In einem bestimmten Szenario kann eine Aktion mehr Flexibilität oder zusätzliche Funktionalität gegenüber einer anderen bieten. Daher empfiehlt es sich, die verfügbaren Eingabeparameter für das Runbook oder die Aktion zu überprüfen, die Sie verwenden möchten, um zu bestimmen, welche am besten zu Ihrem Anwendungsfall und Ihren Voreinstellungen passt.
Einrichten Ihrer Entwicklungsumgebung
Nachdem Sie Ihren Anwendungsfall und die vordefinierten Runbooks oder Automatisierungsaktionen identifiziert haben, die Sie in Ihrem Runbook verwenden möchten, müssen Sie Ihre Entwicklungsumgebung für den Inhalt Ihres Runbooks einrichten. Für die Entwicklung Ihrer Runbook-Inhalte empfehlen wir die Verwendung der Systems Manager-Dokumentenkonsole AWS Toolkit for Visual Studio Code anstelle der Systems Manager Documents Console.
Das Toolkit for VS Code ist eine Open-Source-Erweiterung für Visual Studio Code (VS Code), die mehr Funktionen bietet als die Systems Manager Dokumentenkonsole. Zu den hilfreichen Funktionen gehören die Schemavalidierung für YAML und JSON, Snippets für Automatisierungsaktionstypen und die automatische Vervollständigung verschiedener Optionen in YAML und JSON.
Weitere Informationen zum Installieren des Toolkit for VS Code finden Sie unterInstallieren von AWS Toolkit for Visual Studio Code. Weitere Informationen zur Verwendung des Toolkit for VS Code zum Erstellen von Runbooks finden Sie unter Arbeiten mit Systems Manager Automation-Dokumenten im AWS Toolkit for Visual Studio Code -Benutzerhandbuch.
Entwickeln von Runbook-Inhalten
Nachdem Ihr Anwendungsfall identifiziert und die Umgebung eingerichtet ist, können Sie den Inhalt für Ihr Runbook entwickeln. Ihr Anwendungsfall und Ihre Einstellungen bestimmen weitgehend die Automatisierungsaktionen oder Runbooks, die Sie in Ihren Runbook-Inhalten verwenden. Einige Aktionen unterstützen nur eine Teilmenge von Eingabeparametern im Vergleich zu einer anderen Aktion, mit der Sie eine ähnliche Aufgabe ausführen können. Andere Aktionen haben spezifische Ausgaben, wie aws:createImage
, wo einige Aktionen es Ihnen ermöglichen, eigene Ausgaben zu definieren, z. B. aws:executeAwsApi
.
Wenn Sie sich nicht sicher sind, wie Sie eine bestimmte Aktion in Ihrem Runbook verwenden, empfehlen wir Ihnen, den entsprechenden Eintrag für die Aktion im Systems Manager Automation Aktionen-Referenz nachzulesen. Wir empfehlen auch, den Inhalt vordefinierter Runbooks zu überprüfen, um Beispiele für die Verwendung dieser Aktionen zu sehen. Weitere Beispiele für Anwendungen von Runbooks in der Praxis finden Sie unter Weitere Runbook-Beispiele.
Um die Unterschiede in Bezug auf Einfachheit und Flexibilität zu verdeutlichen, die Runbook-Inhalte bieten, bieten die folgenden Tutorials ein Beispiel dafür, wie Gruppen von EC2 Amazon-Instances schrittweise gepatcht werden:
-
Beispiel 1: Erstellen von über- und untergeordneten Runbooks – In diesem Beispiel werden zwei Runbooks in einer Untergeordnet-Übergeordnet-Beziehung verwendet. Das übergeordnete Runbook initiiert eine Automatisierung der Ratensteuerung des untergeordneten Runbooks.
-
Beispiel 2: Skriptbasiertes Runbook – Dieses Beispiel zeigt, wie Sie die gleichen Aufgaben von Beispiel 1 ausführen können, indem Sie den Inhalt zu einem einzigen Runbook zusammenfassen und Skripte in Ihrem Runbook verwenden.