AWS Systems ManagerChange Managersteht neuen Kunden nicht mehr offen. Bestandskunden können den Service weiterhin wie gewohnt nutzen. Weitere Informationen finden Sie unter Änderung der AWS Systems ManagerChange Manager Verfügbarkeit.
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 SSM-Dokumentinhalten
Wenn die AWS Systems Manager öffentlichen Dokumente nicht alle Aktionen ausführen, die Sie für Ihre AWS Ressourcen ausführen möchten, können Sie Ihre eigenen SSM-Dokumente erstellen. Sie können SSM-Dokumente auch über die Konsole klonen. Beim Klonen von Dokumenten werden Inhalte aus einem vorhandenen Dokument in ein neues Dokument kopiert, das Sie ändern können. Beim Erstellen oder Klonen eines Dokuments darf der Inhalt des Dokuments 64 KB nicht überschreiten. Dieses Kontingent beinhaltet auch den zur Laufzeit für Eingabeparameter angegebenen Inhalt. Wenn Sie ein neues Command- oder Policy-Dokument erstellen, wird empfohlen, Schemaversion 2.2 oder höher zu verwenden, damit Sie die neuesten Features wie Dokumentbearbeitung, automatisches Versioning, Sequenzierung usw. nutzen können.
Schreiben von SSM-Dokumentinhalt
Um eigene SSM-Dokumentinhalte zu erstellen, müssen Sie die verschiedenen Schemas, Features, Plugins und die Syntax für SSM-Dokumente verstehen. Wir empfehlen Ihnen, sich mit den folgenden Ressourcen vertraut zu machen.
-
Arbeiten mit Systems Manager Automation-Runbooks mithilfe des AWS Toolkit for Visual Studio Code
AWS Vordefinierte SSM-Dokumente können einige der von Ihnen benötigten Aktionen ausführen. Sie können diese Dokumente je nach Dokumenttyp mithilfe der Plugins aws:runDocument, aws:runCommand oder aws:executeAutomation in Ihrem benutzerdefinierten SSM-Dokument aufrufen. Sie können Teile dieser Dokumente auch in ein benutzerdefiniertes SSM-Dokument kopieren und den Inhalt entsprechend Ihren Anforderungen bearbeiten.
Tipp
Beim Erstellen von SSM-Dokumentinhalten können Sie den Inhalt ändern und das SSM-Dokument während des Tests mehrmals aktualisieren. Mit den folgenden Befehlen wird das SSM-Dokument mit dem neuesten Inhalt aktualisiert und die Standardversion des Dokuments wird auf die neueste Dokumentversion aktualisiert.
Anmerkung
Die Linux- und Windows-Befehle nutzen das jq-Befehlszeilen-Tool, um die JSON-Antwortdaten zu filtern.
Bewährte Methoden für die Sicherheit für SSM-Dokumente
Beachten Sie beim Erstellen von SSM-Dokumenten die folgenden bewährten Methoden, um das Einschleusen von Befehlen zu verhindern und eine sichere Parameterbearbeitung zu gewährleisten:
-
Verwenden Sie die Interpolation von Umgebungsvariablen für Zeichenfolgeparameter, die in Befehlen oder Skripten verwendet werden. Fügen Sie Ihren Zeichenfolgeparametern die Eigenschaft
interpolationTypemit dem WertENV_VARhinzu:{ "command": { "type": "String", "description": "Command to execute", "interpolationType": "ENV_VAR" } }Sie können die Sicherheit Ihrer SSM-Dokumente weiter verbessern, indem Sie angeben, dass doppelte Anführungszeichen in durch Interpolation gelieferten Werten nicht zulässig sind:
{ "command": { "type": "String", "description": "Command to execute", "interpolationType": "ENV_VAR", "allowedPattern": "^[^"]*$" } } -
Wenn Sie interpretierte Sprachen wie Python, Ruby oder Node.js verwenden, verweisen Sie auf Parameter mit der entsprechenden Umgebungsvariablensyntax:
# Python example import os command = os.environ['SSM_Message'] -
Um die Abwärtskompatibilität mit älteren Versionen von SSM Agent zu gewährleisten (vor Version 3.3.2746.0), fügen Sie eine Fallback-Logik für Umgebungsvariablen hinzu:
if [ -z "${SSM_command+x}" ]; then export SSM_command="{{command}}" fi -
Kombinieren Sie die Interpolation von Umgebungsvariablen mit
allowedPattern, um eine zusätzliche Eingabevalidierung bereitzustellen. Im folgenden Beispiel verhindert derallowedPattern-Wert^[^"]*$doppelte Anführungszeichen im Zeichenfolgewert:{ "command": { "type": "String", "interpolationType": "ENV_VAR", "allowedPattern": "^[a-zA-Z0-9_-]+$" } } -
Bevor Sie Ihr SSM-Dokument implementieren, sollten Sie die folgenden Sicherheitsaspekte prüfen:
-
Alle Zeichenfolgeparameter, die Benutzereingaben akzeptieren, verwenden gegebenenfalls die Interpolation mit Umgebungsvariablen.
-
Die Eingabevalidierung wird nach Möglichkeit mit
allowedPatternimplementiert. -
Das Dokument beinhaltet eine angemessene Fehlerbehandlung für die Parameterverarbeitung.
-
Für Umgebungen, die ältere Versionen von SSM Agent verwenden, wird die Abwärtskompatibilität beibehalten.
-
Informationen zu AWS diensteigenen Ressourcen, auf die Systems Manager zugreift, und zur Konfiguration von Datenperimeterrichtlinien finden Sie unter. Datenperimeter in AWS Systems Manager
Klonen eines SSM-Dokuments
Sie können AWS Systems Manager Dokumente mit der Systems Manager Documents Console klonen, um SSM-Dokumente zu erstellen. Durch das Klonen von SSM-Dokumenten werden Inhalte aus einem vorhandenen Dokument in ein neues Dokument kopiert, das Sie ändern können. Sie können kein Dokument klonen, das größer als 64 KB ist.
Klonen eines SSM-Dokuments
Öffnen Sie die AWS Systems Manager Konsole unter. https://console.aws.amazon.com/systems-manager/
Wählen Sie im Navigationsbereich die Option Dokumente aus.
-
Geben Sie in das Suchfeld den Namen des Dokuments ein, das Sie klonen möchten.
-
Wählen Sie den Namen des Dokuments aus, das Sie klonen möchten. Wählen Sie anschließend die Option Clone document (Dokument klonen) im Dropdownmenü Aktionen.
-
Ändern Sie das Dokument nach Belieben und wählen Sie dann Create document (Dokument erstellen), um das Dokument zu speichern.
Nachdem Sie den SSM-Dokumentinhalt geschrieben haben, können Sie mithilfe eines der folgenden Methoden ein SSM-Dokument erstellen.
Erstellen eines SSM-Dokuments
Erstellen von zusammengesetzten Dokumenten
Ein zusammengesetztes Dokument AWS Systems Manager (SSM) ist ein benutzerdefiniertes Dokument, das eine Reihe von Aktionen ausführt, indem es ein oder mehrere sekundäre SSM-Dokumente ausführt. Zusammengesetzte Dokumente fördern Infrastruktur als Code, indem sie Ihnen ermöglichen, einen Standardsatz an SSM-Dokumenten für allgemeine Aufgaben wie das Bootstrapping von Software oder den Domain-Betritt von Instances zu erstellen. Sie können diese Dokumente dann gemeinsam nutzen, um die Wartung von SSM-Dokumenten AWS-Region zu reduzieren und die Konsistenz AWS-Konten zu gewährleisten.
Sie können beispielsweise ein zusammengesetztes Dokument erstellen, das die folgenden Aktionen ausführt:
-
Installiert alle Patches in der Zulassungsliste.
-
Installieren von Antivirensoftware
-
Herunterladen von Skripts von GitHub und Ausführen der Skripts.
In diesem Beispiel umfasst das benutzerdefinierte SSM-Dokument die folgenden Plugins für die Ausführung dieser Aktionen:
-
Das
aws:runDocument-Plugin zum Ausführen desAWS-RunPatchBaseline-Dokuments, das alle aufgeführten Patches installiert. -
Das Plugin
aws:runDocumentzum Ausführen des DokumentsAWS-InstallApplication, das die Antivirensoftware installiert -
Das Plugin
aws:downloadContentzum Herunterladen von Skripts von GitHub und Ausführen der Skripts.
Zusammengesetzte und sekundäre Dokumente können in Systems Manager, GitHub (öffentliche und private Repositorys) oder Amazon S3 gespeichert werden. Zusammengesetzte und sekundäre Dokumente lassen sich im JSON- oder YAML-Format erstellen.
Anmerkung
Zusammengesetzte Dokumente können maximal drei Dokumente tief ausgeführt werden. Dies bedeutet, dass ein zusammengesetztes Dokument ein untergeordnetes Dokument aufrufen kann, das wiederum ein letztes Dokument aufrufen kann.
Zum Erstellen eines zusammengesetzten Dokuments fügen Sie das aws:runDocument-Plugin einem benutzerdefinierten SSM-Dokument hinzu und geben die erforderlichen Eingaben an. Folgendes ist ein Beispiel eines zusammengesetzten Dokuments, das die folgenden Aktionen ausführt:
-
Ausführen des aws:downloadContent-Plugins zum Herunterladen eines SSM-Dokuments von einem öffentlichen Repository auf GitHub in ein lokales Verzeichnis mit der Bezeichnung „bootstrap“. Das SSM-Dokument heißt StateManagerBootstrap .yml (ein YAML-Dokument).
-
Führt das
aws:runDocumentPlugin aus, um das .yml-Dokument auszuführen. StateManagerBootstrap Es wurden keine Parameter angegeben. -
Führt das Plugin
aws:runDocumentaus, um dasAWS-ConfigureDocker pre-definedSSM-Dokument auszuführen. Die angegebenen Parameter installieren Docker in der Instance.
{ "schemaVersion": "2.2", "description": "My composite document for bootstrapping software and installing Docker.", "parameters": { }, "mainSteps": [ { "action": "aws:downloadContent", "name": "downloadContent", "inputs": { "sourceType": "GitHub", "sourceInfo": "{\"owner\":\"TestUser1\",\"repository\":\"TestPublic\", \"path\":\"documents/bootstrap/StateManagerBootstrap.yml\"}", "destinationPath": "bootstrap" } }, { "action": "aws:runDocument", "name": "runDocument", "inputs": { "documentType": "LocalPath", "documentPath": "bootstrap", "documentParameters": "{}" } }, { "action": "aws:runDocument", "name": "configureDocker", "inputs": { "documentType": "SSMDocument", "documentPath": "AWS-ConfigureDocker", "documentParameters": "{\"action\":\"Install\"}" } } ] }
- Weitere Informationen
-
-
Informationen zum Neustarten von Servern und Instances bei Verwendung von Run Command für den Aufruf von Skripts finden Sie unter Umgang mit Neustarts beim Ausführen von Befehlen.
-
Weitere Informationen zu den Plugins, die Sie einem benutzerdefinierten SSM-Dokument hinzufügen können, finden Sie unter Referenz für Befehlsdokument-Plugins.
-
Informationen zum Ausführen von Dokumenten von einem Remote-Standort (ohne Erstellen eines zusammengesetzten Dokuments) finden Sie unter Ausführen von -Dokumenten von Remote-Standorten.
-