Cloudbasierte IT-Landschaften sollten möglichst transparent sein und sich effizient verwalten lassen. AWS Systems Manager bietet eine Vielzahl nützlicher Funktionen, um Arbeitsabläufe zu optimieren und zu automatisieren. Unternehmen können damit ihre Umgebungen zentral steuern und überwachen. Besonders Runbooks helfen dabei, wiederkehrende Aufgaben effizient zu erledigen.
AWS Systems Manager [1] ist ein Verwaltungsdienst für AWS-Ressourcen. Er bietet eine einheitliche Schnittstelle zur Überwachung und Steuerung und fungiert damit als zentraler Punkt für Administratoren. Er integriert diverse Programme, die Routineaufgaben automatisch erledigen, die Übersicht über die Infrastruktur verbessern und eine genaue Kontrolle der AWS-Umgebung ermöglichen.
Funktionsreicher Dienst
Im Gegensatz zu Werkzeugen anderer Anbieter ist Systems Manager nicht auf bestimmte Betriebssysteme oder Cloudumgebungen beschränkt. Es unterstützt nahtlos sowohl AWS-Dienste als auch Windows-, Linux- und macOS-Systeme. Diese Kompatibilität macht den Systems Manager zu einem geeigneten Hilfsmittel für Organisationen, die hybride oder Multicloud-Strategien verfolgen und eine einheitliche Verwaltung ihrer gesamten IT-Infrastruktur benötigen.
Der Dienst hat viele Funktionen, die für unterschiedliche Zwecke geeignet sind. Dazu gehören zum Beispiel automatisierte Wartungsaufgaben, ein umfassendes Patchmanagement, die effiziente Ressourcenorganisation, eine sichere Fernverwaltung von Instanzen, Konfigurationsmanagement, eine detaillierte Bestandsverfolgung und die kontinuierliche Überprüfung, ob Compliance-Regeln eingehalten werden.
AWS Systems Manager [1] ist ein Verwaltungsdienst für AWS-Ressourcen. Er bietet eine einheitliche Schnittstelle zur Überwachung und Steuerung und fungiert damit als zentraler Punkt für Administratoren. Er integriert diverse Programme, die Routineaufgaben automatisch erledigen, die Übersicht über die Infrastruktur verbessern und eine genaue Kontrolle der AWS-Umgebung ermöglichen.
Funktionsreicher Dienst
Im Gegensatz zu Werkzeugen anderer Anbieter ist Systems Manager nicht auf bestimmte Betriebssysteme oder Cloudumgebungen beschränkt. Es unterstützt nahtlos sowohl AWS-Dienste als auch Windows-, Linux- und macOS-Systeme. Diese Kompatibilität macht den Systems Manager zu einem geeigneten Hilfsmittel für Organisationen, die hybride oder Multicloud-Strategien verfolgen und eine einheitliche Verwaltung ihrer gesamten IT-Infrastruktur benötigen.
Der Dienst hat viele Funktionen, die für unterschiedliche Zwecke geeignet sind. Dazu gehören zum Beispiel automatisierte Wartungsaufgaben, ein umfassendes Patchmanagement, die effiziente Ressourcenorganisation, eine sichere Fernverwaltung von Instanzen, Konfigurationsmanagement, eine detaillierte Bestandsverfolgung und die kontinuierliche Überprüfung, ob Compliance-Regeln eingehalten werden.
Der Parameter Store etwa ist ein nützliches Security-Feature. Damit lassen sich Konfigurationsdaten und Geheimnisse sicher speichern. Nur definierte Nutzer können dann auf sensible Informationen zugreifen. Eine weitere Funktion ist Systems Manager Automation. Sie bietet eine gute Grundlage, um automatisierte Aufgaben über AWS-Ressourcen hinweg zu erstellen, auszuführen und zu verwalten. Das Herzstück von Automation sind Runbooks. Dabei handelt es sich um detaillierte Dokumente, die Aktionen auf AWS-Ressourcen beschreiben.
Mit Automation können Firmen selbst komplexe Prozesse einfach steuern. Es hilft dabei, Genehmigungs-Workflows für Änderungen einzurichten und zu überwachen. Sie können damit auch andere AWS-Dienste integrieren. So sind bestimmte Ereignisse automatisch ausführbar.
Systems Manager hilft nicht zuletzt Unternehmen, die verschiedene Compliance-Standards einhalten müssen, etwa HIPAA, PCI DSS oder ISO 27001. Die Nutzung vordefinierter Pakete in AWS Config überprüft regelmäßig, ob alles konform ist.
Anwendungsbereiche für Automation
AWS Systems Manager Automation findet in allen Branchen vielfältige Anwendungen. Im Finanzsektor kommt es häufig für automatisierte Compliance-Checks und die Berichterstellung zum Einsatz. Dabei hat sich ein mehrstufiges Runbook bewährt, das Compliance-Checks ausführt, Ergebnisse in Amazon S3 speichert und bei Verstößen automatisch Tickets im Incident-Management-System erstellt. Eine regelmäßige Überprüfung und Aktualisierung der Compliance-Kriterien stellen sicher, dass sie stets den sich ändernden regulatorischen Anforderungen entsprechen.
Im E-Commerce-Bereich wird Systems Manager Automation oft zur Skalierung der Infrastruktur bei Lastspitzen verwendet. Die Verzahnung mit Amazon EventBridge ermöglicht es, auf Basis von CloudWatch-Metriken automatisch Skalierungsaktionen auszulösen. Durch regelmäßige Lasttests lässt sich die Effektivität der Skalierungsstrategien überprüfen und optimieren.
Im Gesundheitswesen wird die Automatisierung häufig für die Datensicherung und Verschlüsselung eingesetzt. Die Implementierung eines Vier-Augen-Prinzips für kritische Operationen durch die Nutzung der aws:approve-Aktion in Runbooks erhöht die Sicherheit. Regelmäßige Audits der Backup- und Verschlüsselungsprozesse gewährleisten die Einhaltung von Datenschutzbestimmungen.
Insgesamt bietet Systems Manager Automation zahlreiche Funktionen, mit denen Sie komplexe betriebliche Anforderungen erfüllen können, etwa
- Genehmigungsabläufe: Organisationen können manuelle Genehmigungsschritte in Runbooks einbauen. Dazu verwenden sie die Aktion "aws:approve". So legen Sie fest, wer Genehmigungen erteilen und sich über ausstehende Genehmigungen informieren kann. Das Runbook verbindet sich mit AWS IAM, damit sich genau kontrollieren lässt, wer was genehmigen darf.
- Skalierung der Automatisierung: Für große Projekte bietet Automation eine Steuerung der parallelen Abläufe und eine Fehlerüberwachung. Systems Manager passt die Zahl der parallelen Prozesse automatisch an, damit alles schnell und reibungslos läuft.
- Automatisierung über mehrere Regionen und Konten: Systems Manager Automation ist auch über mehrere AWS-Regionen und -Konten hinweg von einem zentralen Konto ausführbar. Diese Funktion eignet sich somit für Organisationen mit vielen Standorten.
- Auslöser für Automatisierung: Abläufe lassen sich durch Amazon EventBridge anstoßen, die wiederum Events aus den AWS-Umgebungen dafür nutzen. Sie können auch Systems Manager, State Manager oder Maintenance Windows einsetzen, um Automatisierungen zu planen. Oder Sie verwenden AWS Step Functions und planen noch komplexere Workflows.
Parameter Store undCloudTrail sorgen für Sicherheit
Unternehmen können mit dem Dienst auch die Automatisierungsprozesse selbst sicher und regelkonform gestalten. Dazu kommen AWS Identity and Access Management (IAM) zum Einsatz, um den Zugriff zu steuern. Wichtig ist hier, dass Administratoren nur so wenige Berechtigungen wie möglich vergeben sollten.
Bei der Handhabung sensibler Daten in Runbooks oder Parametern hilft der AWS Systems Manager Parameter Store in Kombination mit AWS Key Management Service (KMS) weiter. Speichern Sie sensible Informationen nicht direkt in Runbooks, sondern im Parameter Store. Verweisen Sie dann in Runbooks darauf. Für besonders sensible Daten bieten sich verschlüsselte String-Parameter an. Die Schlüssel dafür sollten Sie regelmäßig ändern.
AWS CloudTrail protokolliert und verfolgt Aktionen in Systems Manager Automation. Alarme für kritische Aktionen erhöhen die Sicherheit. So werden Sie sofort informiert, wenn etwas nicht stimmt. Ein zentrales Logmanagement-System, das CloudTrail-Logs aus allen Regionen und Konten zusammenfasst, bietet einen guten Überblick und erleichtert Kontrollen.
Die Macht der Runbooks
Runbooks sind elementares Merkmal von Systems Manager Automation. Diese Dokumente enthalten Aktionen, die auf AWS-Ressourcen ausgeführt werden sollen. Sie sind in YAML oder JSON verfasst. Ein Schritt in einem Runbook entspricht einer bestimmten Aktion. Zum Beispiel kann das ein Skript sein, eine AWS-Ressource oder eine AWS-API. Ein Runbook setzt sich aus einem oder mehreren in einer bestimmten Abfolge stehenden sequenziellen Schritten zusammen. Die einzelnen Schritte basieren auf jeweils einer Aktion, wobei die Ergebnisse eines Schritts als Eingabe für einen späteren Schritt dienen können.
Runbooks unterstützen eine Vielzahl von Aktionstypen, die eine umfassende Automatisierung von Operationen in der AWS-Umgebung erlauben. So besteht etwa die Möglichkeit, Python- oder PowerShell-Skripte direkt in ein Runbook einzubetten, wobei hierfür der Aktionstyp "executeScript" Verwendung findet. Des Weiteren besteht die Möglichkeit, CloudFormation-Ressourcen zu verwalten oder beliebige API-Operationen in AWS-Diensten auszuführen. Systems Manager Automation stellt eine Reihe vordefinierter Runbooks zur Verfügung, die häufig benötigte Aufgaben wie das Neustarten von EC2-Instanzen oder das Erstellen von Amazon Machine Images automatisieren.
Runbooks akzeptieren verschiedene Eingabeparameter, was sie flexibel macht. Beispielsweise könnte ein Runbook zur EC2-Instanzverwaltung Parameter wie Instanz-IDs, gewünschte Instanztypen, Sicherheitsgruppen-IDs und benutzerdefinierte Tags annehmen. Mit Runbooks erzeugen Sie auch Ausgaben, die sich in nachfolgenden Schritten oder für andere Zwecke verwenden lassen. Funktionen wie Fehlerbehandlung und bedingte Logik sind ebenso integrierbar. Dadurch entstehen robuste und intelligente Automatisierungs-Workflows.
Runbooks laufen mit speziellen Berechtigungen, um genau zu steuern, wer darauf zugreifen darf. Auch lassen sie sich mit anderen teilen. Mit Systems Manager können Organisationen mehrere Versionen von Runbooks verwalten und bei Bedarf wieder rückgängig machen.
Best Practices für AWS Systems Manager Automation
Modularisierung komplexer Automatisierungen
- Aufteilung in kleinere, wiederverwendbare Runbooks
- Einrichtung einer Bibliothek von Standard-Runbooks für häufige Aufgaben
- Nutzung der Versionierungsfunktion von System Managers für Runbooks
- Implementierung eines formalen Änderungsmanagement-Prozesses
- Ermöglicht Kontrolle und Rückgängigmachen von Änderungen
CI/CD-Pipeline für Runbooks
- Implementierung mit automatisierten Unit- und Integrationstests
- Gewährleistet zuverlässige Funktionalität der Automatisierungen
Dokumentation
- Ausführliche Dokumentation in einemzentralen Wiki oder einer Plattform
- Umfasst alle Automatisierungen undRunbooks
- Fördert Zusammenarbeit und erleichtert Wartung
Umfassendes Monitoring
- Überwachung der Automatisierungen mit benutzerdefinierten CloudWatch-Metriken
- Ermöglicht kontinuierliche Messung und Verbesserung von Leistung und Effektivität
Praxisbeispiel:Starten einer EC2-Instanz
Im Folgenden betrachten wir ein praktisches Beispiel, nämlich das Starten einer EC2-Instanz. Das vorliegende Runbook ist auch unter dem Namen "AWS-StartEC2Instance" vorgefertigt verfügbar. Im Folgenden bauen wir es jedoch Schritt für Schritt nach, um die Anwendung zu veranschaulichen – sobald Sie ein AWS-Konto eröffnet haben, können Sie mit der Erstellung des Runbooks beginnen.
Öffnen Sie zunächst den Systems Manager in der AWS-Managementkonsole und gehen Sie zum Reiter "Automatisierung". Für unser Beispiel erstellen wir ein eigenes Runbook. Dazu klicken Sie auf "Create automation runbook" oder mit deutscher Spracheinstellung "Runbook für die Automatisierung erstellen". Nun öffnet sich der visuelle Editor, mit dem Sie mit geringem Programmieraufwand Runbooks zur Automatisierung erzeugen. Auf der linken Seite sehen sie alle Aktionen, die Sie in der Automatisierung ausführen können. Diese sind wie folgt unterteilt:
- Generische Aktionen wie Schleifen und Skriptausführungen.
- AWS-APIs, mit deren Hilfe Sie AWS-API-Calls anstoßen.
- Bereits bestehende Automatisierungen, die sich in Ihren Automatisierungsfluss einbetten lassen.
Mithilfe des Menüs auf der rechten Seite bearbeiten Sie sowohl die Runbook-Attribute als auch die Attribute der einzelnen Schritte. Gehen Sie zunächst zu "Parameter" im Menü auf der rechten Seite. Klicken Sie nun auf "Einen Parameter hinzufügen". Vergeben Sie für den ersten Parameter den Namen "InstanceId" und wählen Sie als Typ "StringList" aus. Klicken Sie erneut auf "Einen Parameter hinzufügen" und vergeben Sie den Namen "AutomationAssumeRole" und den Typ "String" (Bild 1).
Bild 1: Jedem Runbook lassen sich spezifische Parameter mitgeben – die im Screenshot braucht es für unser Beispiel, den Autostart einer EC2-Instanz.
Gehen Sie nun, ebenfalls im Menü auf der rechten Seite, zurück zu "Attribute" und wählen Sie den gerade erstellten Parameter "AutomationAssumeRole" aus. Ziehen Sie aus dem Menü auf der linken Seite unter dem Reiter "Aktionen" die Aktion "aws:changeInstanceState – Instancestatus ändern" in die Mitte der Oberfläche. Klicken Sie danach auf die eben hinzugefügte Aktion und beobachten Sie, wie sich das Attribute-Menü auf der rechten Seite verändert.
Wechseln Sie jetzt zum Reiter "Eingaben" und wählen Sie dort den erstellten Parameter "InstanceId" aus. Legen Sie unter "Desired state" den Instance-Status "running" fest. Vergeben Sie nun oben links einen Namen für das Runbook und klicken Sie dann oben rechts auf "Runbook erstellen".
Nun werden Sie automatisch weitergeleitet zur "Runbook Execution" beziehungsweise "Runbook-Ausführung". Hier können Sie das Runbook ausführen. Wählen Sie dazu unter "Input Parameters" zunächst die EC2-Instanzen aus, die Sie starten möchten (Bild 2). Bestimmen Sie außerdem die IAM-Rolle mit den erforderlichen Berechtigungen. Die einzigen Berechtigungen, die die Rolle für dieses Runbook benötigt, sind "ec2:startInstances" sowie "ec2:DescribeInstanceStatus". Unter [2] finden Sie mehr Informationen, wie Sie eine IAM-Rolle für den Systems Manager erstellen. Klicken Sie abschließend auf "Execute" unten links.
Bild 2: Vor der Ausführung unseres Beispiel-Runbooks müssen Sie die EC2-Instanz auswählen, die Sie automatisiert starten möchten.
Kostenstruktur verstehen
Bei Systems Manager Automation zahlen Sie nur für die Leistungen, die Sie in Anspruch nehmen. Die Kosten setzen sich aus mehreren Teilen zusammen: Es gibt eine kostenlose Stufe von 100.000 Schritten pro Monat. Danach kostet jeder weitere Schritt 0, 002 US-Dollar. Die Kostenstruktur setzt sich wie folgt zusammen:
- Dauer eines Schritts: Für "aws:executeScript" gibt es eine kostenlose Stufe von 5000 Sekunden pro Monat. Jede weitere kostet 0, 00003 US-Dollar.
- Runbook-Anhänge: Für den Speicher werden 0, 046 US-Dollar pro GByte und Monat berechnet.
- Datenübertragung: Pro übertragenem GByte sind 0, 9 US-Dollar fällig.
Ein Beispiel: Eine Organisation, die in einem Monat 125.000 Schritte und 100.000 Sekunden "aws:executeScript"-Dauer ausführt, zahlt etwa 52, 85 US-Dollar. Dies beinhaltet 50 US-Dollar für mehr als 25.000 Schritte und 2, 85 USD für eine längere Dauer (über 95.000 Sekunden). Dazu kommen Ausgaben für AWS-Ressourcen, die von den Automatisierungsprozessen verwaltet oder erstellt werden.
Fazit
Unternehmen können mit Systems Manager Automation ihre AWS-Umgebungen automatisieren. Speziell mithilfe von Runbooks lässt sich der Administrationsaufwand etwa für Genehmigungsabläufe und Skalierungsfunktionen deutlich reduzieren.
(ln)
Julius Engler und Christopher Henkel sind Solutions Architects bei Amazon Web Services.