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.
Verknüpfungen erstellen, die ausgeführt werden Ansible Spielbücher
Sie können erstellen State Manager Assoziationen, die laufen Ansible Playbooks unter Verwendung des AWS-ApplyAnsiblePlaybooks
SSM-Dokuments. State Manager ist ein Tool in. AWS Systems Manager Dieses Dokument bietet die folgenden Vorteile für die Ausführung von Playbooks:
-
Unterstützung für die Ausführung komplexer Playbooks
-
Support für das Herunterladen von Playbooks von GitHub und Amazon Simple Storage Service (Amazon S3)
-
Unterstützung der komprimierten Playbook-Struktur
-
Erweiterte Protokollierung
-
Möglichkeit, anzugeben, welches Playbook ausgeführt werden soll, wenn Playbooks gebündelt werden
Anmerkung
Systems Manager enthält zwei SSM-Dokumente, mit denen Sie Folgendes erstellen können State Manager Verknüpfungen, die ausgeführt werden Ansible Spielbücher: AWS-RunAnsiblePlaybook
undAWS-ApplyAnsiblePlaybooks
. Das AWS-RunAnsiblePlaybook
-Dokument ist veraltet. Es bleibt für Legacy-Zwecke in Systems Manager verfügbar. Wir empfehlen, dass Sie das AWS-ApplyAnsiblePlaybooks
-Dokument aufgrund der hier beschriebenen Verbesserungen verwenden.
Verbände, die laufen Ansible Playbooks werden auf nicht unterstützt macOS.
Unterstützung für die Ausführung komplexer Playbooks
Das AWS-ApplyAnsiblePlaybooks
-Dokument unterstützt gebündelte, komplexe Playbooks, da es die gesamte Dateistruktur vor der Ausführung des angegebenen Haupt-Playbooks in ein lokales Verzeichnis kopiert. Sie können Quell-Playbooks in Zip-Dateien oder in einer Verzeichnisstruktur bereitstellen. Die Zip-Datei oder das Verzeichnis kann gespeichert werden in GitHub oder Amazon S3.
Support für das Herunterladen von Playbooks von GitHub
Das AWS-ApplyAnsiblePlaybooks
-Dokument verwendet das aws:downloadContent
-Plugin zum Herunterladen von Playbook-Dateien. Dateien können gespeichert werden in GitHub in einer einzelnen Datei oder als kombinierter Satz von Playbook-Dateien. Um Inhalte herunterzuladen von GitHub, geben Sie Informationen zu Ihrem GitHub Repository im JSON-Format. Ein Beispiel.
{ "owner":"
TestUser
", "repository":"GitHubTest
", "path":"scripts/python/test-script
", "getOptions":"branch:master
", "tokenInfo":"{{ssm-secure:secure-string-token
}}" }
Unterstützung für das Herunterladen von Playbooks von Amazon S3
Sie können es auch speichern und herunterladen Ansible Playbooks in Amazon S3 entweder als einzelne .zip-Datei oder als Verzeichnisstruktur. Geben Sie den Pfad zur Datei an, um Inhalte von Amazon S3 herunterzuladen. Nachfolgend finden Sie zwei Beispiele.
Beispiel 1: Herunterladen einer bestimmten Playbook-Datei
{ "path":"https://s3.amazonaws.com/
amzn-s3-demo-bucket/playbook.yml
" }
Beispiel 2: Herunterladen des Inhalts eines Verzeichnisses
{ "path":"https://s3.amazonaws.com/
amzn-s3-demo-bucket/ansible/webservers/
" }
Wichtig
Wenn Sie Amazon S3 angeben, muss das AWS Identity and Access Management (IAM) -Instance-Profil auf Ihren verwalteten Knoten Berechtigungen für den S3-Bucket enthalten. Weitere Informationen finden Sie unter Erforderliche Instance-Berechtigungen für Systems Manager konfigurieren.
Unterstützung der komprimierten Playbook-Struktur
Mit dem AWS-ApplyAnsiblePlaybooks
-Dokument können Sie komprimierte ZIP-Dateien im heruntergeladenen Paket ausführen. Das Dokument prüft, ob die heruntergeladenen Dateien eine komprimierte Datei im ZIP-Format enthalten. Wenn eine ZIP-Datei gefunden wird, dekomprimiert das Dokument die Datei automatisch und führt dann die angegebene Datei aus Ansible Automatisierung.
Erweiterte Protokollierung
Das AWS-ApplyAnsiblePlaybooks
-Dokument enthält einen optionalen Parameter für die Angabe verschiedener Protokollierungsebenen. Geben Sie -v für niedrige Ausführlichkeit, -vv oder -vvv für mittlere Ausführlichkeit und -vvvv für die Protokollierung auf Debug-Ebene an. Diese Optionen sind direkt zugeordnet Ansible Optionen für die Ausführlichkeit.
Möglichkeit, anzugeben, welches Playbook ausgeführt werden soll, wenn Playbooks gebündelt werden
Das AWS-ApplyAnsiblePlaybooks
-Dokument enthält einen erforderlichen Parameter, um anzugeben, welches Playbook ausgeführt werden soll, wenn mehrere Playbooks gebündelt werden. Diese Option bietet Flexibilität für die Ausführung von Playbooks, um verschiedene Anwendungsfälle zu unterstützen.
Grundlegendes zu installierten Abhängigkeiten
Wenn Sie True für den InstallDependenciesParameter angeben, überprüft Systems Manager, ob auf Ihren Knoten die folgenden Abhängigkeiten installiert sind:
-
Ubuntu Server/Debian Server: apt-Get (Paketverwaltung), Python 3, Ansible, Entpacken
-
Amazon Linux: Ansible
-
RHEL: Python 3, Ansible, Entpacken
Wenn eine oder mehrere dieser Abhängigkeiten nicht gefunden werden, installiert Systems Manager sie automatisch.
Erstellen Sie eine Assoziation, die läuft Ansible Playbooks (Konsole)
Das folgende Verfahren beschreibt, wie Sie die Systems Manager Manager-Konsole verwenden, um ein State Manager Assoziation, die ausgeführt wird Ansible Playbooks anhand des AWS-ApplyAnsiblePlaybooks
Dokuments.
Um eine Assoziation zu erstellen, die ausgeführt wird Ansible Playbooks (Konsole)
Öffnen Sie die AWS Systems Manager Konsole unter. https://console.aws.amazon.com/systems-manager/
Wählen Sie im Navigationsbereich State Manager.
-
Wählen Sie aus.State Manager, und wählen Sie dann Verknüpfung erstellen aus.
-
Geben Sie unter Name einen Namen an, der Ihnen hilft, sich an den Zweck der Zuordnung zu erinnern.
-
Wählen Sie in der Liste Dokument die Option
AWS-ApplyAnsiblePlaybooks
aus. -
Wählen Sie im Abschnitt Parameter für Quelltyp entweder GitHuboder S3 aus.
GitHub
Wenn Sie wählen GitHub, geben Sie Repository-Informationen im folgenden Format ein.
{ "owner":"
user_name
", "repository":"name
", "path":"path_to_directory_or_playbook_to_download
", "getOptions":"branch:branch_name
", "tokenInfo":"{{(Optional)_token_information
}}" }S3
Wenn Sie S3 auswählen, geben Sie Pfadinformationen im folgenden Format ein.
{ "path":"https://s3.amazonaws.com/
path_to_directory_or_playbook_to_download
" } -
Wählen Sie unter Install Dependencies (Abhängigkeiten installieren) eine Option aus.
-
(Optional) Geben Sie unter Playbook File (Playbook-Datei) einen Dateinamen ein. Wenn eine Zip-Datei das Playbook enthält, geben Sie einen relativen Pfad zur Zip-Datei an.
-
(Optional) Geben Sie für Zusätzliche Variablen die gewünschten Variablen ein State Manager zu senden an Ansible zur Laufzeit.
-
(Optional) Wählen Sie unter Check (Prüfen) eine Option aus.
-
(Optional) Wählen Sie für Verbose eine Option aus.
-
Wählen Sie für Ziele eine Option aus. Weitere Informationen zur Verwendung von Zielen finden Sie unter Grundlegendes zu Zielen und Ratenkontrollen in State Manager Verbände.
-
Wählen Sie im Abschnitt Specify schedule (Zeitplan angeben) entweder On schedule (Nach Zeitplan) oder No schedule (Kein Zeitplan) aus. Wenn Sie On schedule (Nach Zeitplan) auswählen, verwenden Sie die verfügbaren Schaltflächen zum Erstellen eines cron- oder rate-Zeitplans für die Zuordnung.
-
Wählen Sie im Abschnitt Advanced options (Erweiterte Optionen) für Compliance severity (Compliance-Schweregrad) einen Schweregrad für die Zuordnung aus. In den Compliance-Berichten finden Sie Informationen dazu, ob die Zuordnung konform ist, zusammen mit dem Schweregrad, den Sie hier angeben. Weitere Informationen finden Sie unter Informationen State Manager Einhaltung gesetzlicher Vorschriften.
-
Konfigurieren Sie im Bereich Rate Control die Optionen für die Ausführung State Manager Verknüpfungen über eine Flotte verwalteter Knoten hinweg. Weitere Informationen über Ratensteuerungen finden Sie unter Grundlegendes zu Zielen und Ratenkontrollen in State Manager Verbände.
Wählen Sie im Abschnitt Gleichzeitigkeit eine Option aus:
-
Wählen Sie Ziele aus, um eine absolute Anzahl von Zielen einzugeben, die die Zuordnung gleichzeitig ausführen können.
-
Wählen Sie Prozentsatz aus, um einen Prozentsatz der Ziele anzugeben, die die Zuordnung gleichzeitig ausführen können.
Wählen Sie im Abschnitt Fehlerschwellenwert eine Option aus:
-
Wählen Sie Fehler, um eine absolute Anzahl von Fehlern einzugeben, die zuvor zulässig waren State Manager beendet die Ausführung von Verknüpfungen auf zusätzlichen Zielen.
-
Wählen Sie Prozentsatz, um einen Prozentsatz der Fehler einzugeben, die zuvor zulässig waren State Manager beendet die Ausführung von Verknüpfungen auf zusätzlichen Zielen.
-
(Optional) Wenn Sie im Abschnitt Ausgabeoptionen die Befehlsausgabe in einer Datei speichern möchten, aktivieren Sie das Kontrollkästchen Schreiben der Ausgabe in S3 aktivieren. Geben Sie die Namen für den Bucket und das Präfix (Ordner) in die Textfelder ein.
Anmerkung
Die S3-Berechtigungen zum Schreiben von Daten in einen S3-Bucket sind die Berechtigungen des dem verwalteten Knoten zugewiesenen Instance-Profils und nicht diejenigen 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.
-
Wählen Sie Zuordnung erstellen.
Anmerkung
Wenn Sie auf einer oder mehreren Knoten eine Assoziation anhand von Tags erstellen und von einem dieser Knoten die Tags entfernen, wird die Assoziation auf diesem Knoten nicht mehr ausgeführt. Der Knoten ist vom State Manager Dokumente
Erstellen Sie eine Assoziation, die ausgeführt wird Ansible Spielbücher (CLI)
Das folgende Verfahren beschreibt, wie Sie mit AWS Command Line Interface (AWS CLI) ein erstellen State Manager Assoziation, die ausgeführt wird Ansible Playbooks anhand des AWS-ApplyAnsiblePlaybooks
Dokuments.
Um eine Assoziation zu erstellen, die ausgeführt wird Ansible Spielbücher (CLI)
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 einen der folgenden Befehle aus, um eine Zuordnung zu erstellen, die ausgeführt wird Ansible Playbooks, indem Sie mithilfe von Tags auf Knoten abzielen. Ersetzen Sie jeden
example resource placeholder
durch Ihre Informationen. Befehl (A) spezifiziert GitHub als Quelltyp. Befehl (B) gibt Amazon S3 als Quelltyp an.(A) GitHub Quelle
Ein Beispiel.
aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \ --targets "Key=tag:OS,Values=Linux" \ --parameters '{"SourceType":["GitHub"],"SourceInfo":["{\"owner\":\"ansibleDocumentTest\", \"repository\": \"Ansible\", \"getOptions\": \"branch:master\"}"],"InstallDependencies":["True"],"PlaybookFile":["hello-world-playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \ --association-name "AnsibleAssociation" \ --schedule-expression "cron(0 2 ? * SUN *)"
(B) S3-Quelle
Ein Beispiel.
aws ssm create-association --name "AWS-ApplyAnsiblePlaybooks" \ --targets "Key=tag:OS,Values=Linux" \ --parameters '{"SourceType":["S3"],"SourceInfo":["{\"path\":\"https://s3.amazonaws.com/amzn-s3-demo-bucket/playbook.yml\"}"],"InstallDependencies":["True"],"PlaybookFile":["playbook.yml"],"ExtraVariables":["SSM=True"],"Check":["False"],"Verbose":["-v"]}' \ --association-name "AnsibleAssociation" \ --schedule-expression "cron(0 2 ? * SUN *)"
Anmerkung
State Manager Assoziationen unterstützen nicht alle Cron- und Rate-Ausdrücke. Weitere Informationen zum Erstellen von Cron- und Rate-Ausdrücken für Zuordnungen finden Sie unter Referenz: Cron- und Rate-Ausdrücke für System Manager.
Das System versucht, die Assoziation auf den Knoten zu erstellen und den Status sofort anzuwenden.
-
Führen Sie den folgenden Befehl aus, um einen aktualisierten Status der soeben erstellten Zuordnung anzuzeigen.
aws ssm describe-association --association-id "
ID
"