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.
Arbeiten mit Parametern in Parameter Store verwenden Run Command commands
Sie können mit Parametern arbeiten in Run Command, ein Tool in AWS Systems Manager. Weitere Informationen finden Sie unter AWS Systems Manager Run Command.
Ausführen eines String-Parameters mithilfe der Konsole
Das folgende Verfahren führt Sie durch die Schritte zum Ausführen eines Befehls, der einen String
-Parameter verwendet.
Um einen String-Parameter auszuführen mit Parameter Store
Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/
. Wählen Sie im Navigationsbereich Run Command.
-
Wählen Sie Befehl ausführen aus.
-
Wählen Sie in der Liste Command document (Befehlsdokument) die Option
AWS-RunPowerShellScript
(Windows) oderAWS-RunShellScript
(Linux) aus. -
Geben Sie für Command parameters (Befehlsparameter) Folgendes ein:
echo {{ssm:
. Beispiel:parameter-name
}}echo {{ssm:/Test/helloWorld}}
. Identifizieren Sie für den Abschnitt Targets (Ziele) die verwalteten Knoten, auf denen Sie diese Operation ausführen möchten, indem Sie Tags angeben, Instances oder Edge-Geräte manuell auswählen oder eine Ressourcengruppe angeben.
Tipp
Wenn ein verwalteter Knoten, den Sie erwarten, nicht aufgeführt ist, finden Sie weitere Informationen unter Problembehandlung bei der Verfügbarkeit verwalteter Knoten Tipps zur Fehlerbehebung.
Für Weitere Parameter:
-
Geben Sie im Feld Kommentar Informationen zu diesem Befehl ein.
-
Geben Sie für Timeout (Sekunden) in Sekunden an, wie lange gewartet werden soll, bis für die gesamte Befehlsausführung ein Fehler auftritt.
-
Für Ratenregelung:
-
Geben Sie unter Nebenläufigkeit entweder eine Zahl oder einen Prozentsatz der verwalteten Knoten an, auf denen der Befehl gleichzeitig ausgeführt werden soll.
Anmerkung
Wenn Sie Ziele ausgewählt haben, indem Sie Tags angeben, die auf verwaltete Knoten angewendet werden, oder indem Sie AWS -Ressourcengruppen angeben, und Sie noch nicht sicher sind, wie viele verwaltete Knoten anvisiert sind, sollten Sie die Anzahl von Zielen, die das Dokument gleichzeitig ausführen kann, beschränken, indem Sie einen Prozentsatz angeben.
-
Geben Sie unter Fehlerschwellenwert an, wann die Ausführung des Befehls auf anderen verwalteten Knoten beendet werden soll, nachdem dafür entweder auf einer bestimmten Anzahl oder einem Prozentsatz von Knoten ein Fehler aufgetreten ist. Falls Sie beispielsweise drei Fehler angeben, sendet Systems Manager keinen Befehl mehr, wenn der vierte Fehler empfangen wird. Von verwalteten Knoten, auf denen der Befehl noch verarbeitet wird, werden unter Umständen ebenfalls Fehler gesendet.
-
(Optional) Wenn Sie im Abschnitt Ausgabeoptionen die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen Schreiben in einen S3-Bucket aktivieren. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
Anmerkung
Bei den S3-Berechtigungen, die das Schreiben von Daten in einen S3-Bucket ermöglichen, handelt es sich um die Berechtigungen des Instanzprofils (für EC2 Instances) oder der IAM-Servicerolle (hybridaktivierte Maschinen), die der Instanz zugewiesen wurden, und nicht um die des IAM-Benutzers, der diese Aufgabe ausführt. Weitere Informationen finden Sie unter Instance-Berechtigungen für Systems Manager konfigurieren oder Eine IAM-Servicerolle für eine Hybrid-Umgebung erstellen. Wenn sich der angegebene S3-Bucket in einem anderen befindet, stellen Sie außerdem sicher AWS-Konto, dass das Instanzprofil oder die IAM-Dienstrolle, die dem verwalteten Knoten zugeordnet sind, über die erforderlichen Berechtigungen verfügt, um in diesen Bucket zu schreiben.
Aktivieren Sie das Kontrollkästchen SNS-Benachrichtigungen aktivieren im Abschnitt SNS-Benachrichtigungen, wenn Sie über den Status der Befehlsausführung benachrichtigt werden möchten,
Weitere Informationen zur Konfiguration von Amazon SNS SNS-Benachrichtigungen für Run Command, finden Sie unter Überwachung von Systems Manager-Statusänderungen mit Amazon SNS-Benachrichtigungen.
-
Wählen Sie Ausführen aus.
-
Wählen Sie auf der Seite Command ID (Befehls-ID) im Bereich Targets and outputs (Ziele und Ausgaben) auf die Schaltfläche neben der ID eines Knotens, auf dem Sie den Befehl ausgeführt haben, und wählen Sie dann View output (Ausgabe anzeigen). Vergewissern Sie sich, dass der Befehl den Wert ausgibt, den Sie für den Parameter angegeben haben, z. B.
This is my first parameter
.
Ausführen eines Parameters mit dem AWS CLI
Beispiel 1: Einfacher Befehl
Der folgende Beispielbefehl enthält einen Systems Manager-Parameter mit der Bezeichnung DNS-IP
. Der Wert dieses Parameters entspricht der IP-Adresse eines Knotens. In diesem Beispiel wird ein AWS Command Line Interface (AWS CLI) -Befehl verwendet, um den Parameterwert wiederzugeben.
Der Befehl gibt Informationen wie die folgenden zurück.
{ "Command": { "CommandId": "c70a4671-8098-42da-b885-89716EXAMPLE", "DocumentName": "AWS-RunShellScript", "DocumentVersion": "1", "Comment": "", "ExpiresAfter": "2023-12-26T15:19:17.771000-05:00", "Parameters": { "commands": [ "echo {{ssm:DNS-IP}}" ] }, "InstanceIds": [], "Targets": [ { "Key": "instanceids", "Values": [ "i-02573cafcfEXAMPLE" ] } ], "RequestedDateTime": "2023-12-26T14:09:17.771000-05:00", "Status": "Pending", "StatusDetails": "Pending", "OutputS3Region": "us-east-2", "OutputS3BucketName": "", "OutputS3KeyPrefix": "", "MaxConcurrency": "50", "MaxErrors": "0", "TargetCount": 0, "CompletedCount": 0, "ErrorCount": 0, "DeliveryTimedOutCount": 0, "ServiceRole": "", "NotificationConfig": { "NotificationArn": "", "NotificationEvents": [], "NotificationType": "" }, "CloudWatchOutputConfig": { "CloudWatchLogGroupName": "", "CloudWatchOutputEnabled": false }, "TimeoutSeconds": 600, "AlarmConfiguration": { "IgnorePollAlarmFailure": false, "Alarms": [] }, "TriggeredAlarms": [] } }
Nachdem die Ausführung eines Befehls abgeschlossen ist, können Sie mit den folgenden Befehlen weitere Informationen dazu anzeigen:
-
get-command-invocation – Zeigt detaillierte Informationen zur Befehlsausführung an.
-
list-command-invocations – Zeigt den Status der Befehlsausführung auf einem bestimmten verwalteten Knoten an.
-
list-commands – Zeigt den Status der Befehlsausführung in verwalteten Knoten an.
Beispiel 2: Einen SecureString
-Parameterwert entschlüsseln
Der nächste Beispielbefehl verwendet einen SecureString
Parameter mit dem Namen SecurePassword. Mit dem im parameters
-Feld verwendeten Befehl wird der Wert des SecureString
-Parameters abgerufen und entschlüsselt. Anschließend wird das lokale Administratorpasswort zurückgesetzt, ohne dass das Passwort als Klartext übergeben wird.
Beispiel 3: Auf einen Parameter in einem SSM-Dokument verweisen
Sie können Systems Manager-Parameter auch im Abschnitt Parameters in einem SSM-Dokument referenzieren, wie im folgenden Beispiel gezeigt.
{ "schemaVersion":"2.0", "description":"Sample version 2.0 document v2", "parameters":{ "commands" : { "type": "StringList", "default": ["{{ssm:
parameter-name
}}"] } }, "mainSteps":[ { "action":"aws:runShellScript", "name":"runShellScript", "inputs":{ "runCommand": "{{commands}}" } } ] }
Verwechseln Sie die ähnliche Syntax für lokale Parameter, die im runtimeConfig
Abschnitt der SSM-Dokumente verwendet wird, nicht mit Parameter Store Parameter. Ein lokaler Parameter ist nicht dasselbe wie ein Systems Manager-Parameter. Sie können lokale Parameter daran erkennen, dass diese (im Gegensatz zu Systems Manager-Parametern) über kein ssm:
-Präfix verfügen.
"runtimeConfig":{ "aws:runShellScript":{ "properties":[ { "id":"0.aws:runShellScript", "runCommand":"{{ commands }}", "workingDirectory":"{{ workingDirectory }}", "timeoutSeconds":"{{ executionTimeout }}"
Anmerkung
SSM-Dokumente unterstützen keine Referenzen auf SecureString
-Parameter. Das bedeutet, dass SecureString
Parameter verwendet werden sollen mit zum Beispiel Run Command, Sie müssen den Parameterwert abrufen, bevor Sie ihn übergeben Run Command, wie in den folgenden Beispielen gezeigt.