Überwachung von Systems Manager-Statusänderungen mit Amazon SNS-Benachrichtigungen - AWS Systems Manager

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.

Überwachung von Systems Manager-Statusänderungen mit Amazon SNS-Benachrichtigungen

Sie können Amazon Simple Notification Service (Amazon SNS) so konfigurieren, dass Benachrichtigungen über den Status von Befehlen gesendet werden, die Sie mit Run Command or Maintenance Windows, das sind Tools in AWS Systems Manager. Amazon SNS koordiniert und verwaltet das Senden und Zustellen von Benachrichtigungen an Clients oder Endpunkte, die Amazon SNS-Themen abonniert haben. Sie können eine Benachrichtigung erhalten, wenn ein Befehl in einen neuen Status oder in einen bestimmten Status wechselt, z. B. Ausgefallen oder Timeout. In Fällen, in denen Sie einen Befehl an mehrere Knoten senden, können Sie eine Benachrichtigung für jede Kopie des Befehls abrufen, die an einen bestimmten Knoten gesendet wurde. Jede Kopie wird als Aufruf bezeichnet.

Amazon SNS kann Benachrichtigungen als HTTP oder HTTPS POST, E-Mail (SMTP, entweder im Klartext oder im JSON-Format) oder als Nachricht, die an eine Amazon Simple Queue Service (Amazon SQS)-Queue gesendet wird, verschicken. Weitere Informationen finden Sie unter Was ist Amazon SNS im Amazon Simple Notification Service-Entwicklerhandbuch. Beispiele für die Struktur der JSON-Daten, die in der Amazon SNS SNS-Benachrichtigung enthalten sind, finden Sie unter Run Command and Maintenance Windows, finden Sie unter Beispiele für Amazon SNS-Benachrichtigungen für AWS Systems Manager.

Wichtig

Notieren Sie die folgenden wichtigen Informationen.

Konfigurieren von Amazon SNS-Benachrichtigungen für AWS Systems Manager

Run Command and Maintenance Windows Aufgaben, die für ein Wartungsfenster registriert sind, können Amazon SNS SNS-Benachrichtigungen für Befehlsaufgaben senden, die den folgenden Status annehmen:

  • In Bearbeitung

  • Herzlichen Glückwunsch

  • Fehlgeschlagen

  • Timed Out (Zeitüberschreitung)

  • Canceled

Weitere Informationen über die Bedingungen, die dazu führen, dass ein Befehl in einen dieser Status wechselt, finden Sie unter Grundlegendes zu Befehlsstatus.

Anmerkung

Befehle, die gesendet wurden mit Run Command meldet auch den Status „Storniert“ und „Ausstehend“. Diese Status werden nicht von Amazon SNS-Benachrichtigungen erfasst.

Amazon SNS-Benachrichtigungen

Wenn Sie konfigurieren Run Command oder ein Run Command Aufgabe in Ihrem Wartungsfenster für Amazon SNS-Benachrichtigungen, Amazon SNS sendet Übersichtsnachrichten, die die folgenden Informationen enthalten.

Feld Typ Beschreibung

eventTime

String

Der Zeitpunkt, an dem das Ereignis initiiert wurde. Der Zeitstempel ist wichtig, weil Amazon SNS keine Garantie für die Reihenfolge der Nachrichtenzustellung übernimmt. Beispiel: 2016-04-26T13:15:30Z

documentName

String

Der Name des SSM-Dokuments, das zur Ausführung dieses Befehls verwendet wurde.

commandId

String

Die ID wurde generiert von Run Command nachdem der Befehl gesendet wurde.

expiresAfter

Datum

Wenn diese Zeit erreicht ist und der Befehl noch nicht gestartet wurde, wird er nicht ausgeführt.

gibt 3 aus BucketName

String

Der Amazon Simple Storage Service (Amazon S3)-Bucket, in dem die Antworten auf die Befehlsausführung gespeichert werden sollten.

Ausgänge3 KeyPrefix

String

Der Amazon S3-Verzeichnispfad innerhalb des Buckets, in dem die Antworten auf die Befehlsausführung gespeichert werden sollten.

requestedDateTime

String

Die Uhrzeit und das Datum, an dem die Anforderung an diesen spezifischen Knoten gesendet wurde.

instanceIds

StringList

Die Knoten, auf die der Befehl abzielt hat.

Anmerkung

Instanzen IDs sind nur dann in der Übersichtsnachricht enthalten, wenn Run Command Die Aufgabe hat die Instanz IDs direkt ins Visier genommen. Instanzen IDs sind nicht in der Übersichtsnachricht enthalten, wenn Run Command Die Aufgabe wurde mithilfe von tagbasiertem Targeting ausgegeben.

Status

String

Befehlsstatus für den Befehl.

Aufrufbasierte Amazon SNS-Benachrichtigungen

Wenn Sie einen Befehl an mehrere Knoten senden, kann Amazon SNS Nachrichten über jede Kopie oder jeden Aufruf des Befehls senden. Die Nachrichten enthalten folgende Angaben.

Feld Typ Beschreibung

eventTime

String

Der Zeitpunkt, an dem das Ereignis initiiert wurde. Der Zeitstempel ist wichtig, weil Amazon SNS keine Garantie für die Reihenfolge der Nachrichtenzustellung übernimmt. Beispiel: 2016-04-26T13:15:30Z

documentName

String

Der Name des System Manager-Dokuments (SSM-Dokument), das zur Ausführung dieses Befehls verwendet wurde.

requestedDateTime

String

Die Uhrzeit und das Datum, an dem die Anforderung an diesen spezifischen Knoten gesendet wurde.

commandId

String

Die ID wurde generiert von Run Command nachdem der Befehl gesendet wurde.

instanceId

String

Die Instance, auf die der Befehl abzielt.

Status

String

Befehlsstatus für diesen Aufruf.

Um Amazon SNS-Benachrichtigungen einzurichten, wenn ein Befehl seinen Status ändert, führen Sie die folgenden Aufgaben aus.

Anmerkung

Wenn Sie keine Amazon SNS-Benachrichtigungen für Ihr Wartungsfenster konfigurieren, können Sie Aufgabe 5 weiter unten in diesem Thema überspringen.

Aufgabe 1: Erstellen und Abonnieren eines Amazon SNS-Themas

Ein Amazon SNS SNS-Thema ist ein Kommunikationskanal, der Run Command and Run Command Aufgaben, die für ein Wartungsfenster registriert sind, dienen dazu, Benachrichtigungen über den Status Ihrer Befehle zu senden. Amazon SNS unterstützt verschiedene Kommunikationsprotokolle, darunter HTTP/S, E-Mail und andere Protokolle AWS-Services wie Amazon Simple Queue Service (Amazon SQS). Für den Anfang empfehlen wir, mit dem E-Mail-Protokoll anzufangen. Weitere Informationen zum Erstellen eines Themas finden Sie unter Erstellen eines Amazon-SNS-Themas im Entwicklerhandbuch zu Amazon Simple Notification Service.

Anmerkung

Nachdem Sie das Thema erstellt haben, kopieren oder notieren Sie sich die Thema-ARN. Sie legen diesen ARN fest, wenn Sie einen Befehl senden, der so konfiguriert wurde, dass er Statusbenachrichtigungen zurückgibt.

Nachdem Sie das Thema erstellt haben, abonnieren Sie es, indem Sie einen Endpunkt angeben. Wenn Sie das E-Mail-Protokoll gewählt haben, ist der Endpunkt die E-Mail-Adresse, an die Sie Benachrichtigungen erhalten möchten. Weitere Informationen zum Abonnieren eines Themas finden Sie unter Abonnieren eines Amazon-SNS-Themas im Entwicklerhandbuch zu Amazon Simple Notification Service.

Amazon SNS sendet eine Bestätigungs-E-Mail von AWS Notifications an die von Ihnen angegebene E-Mail-Adresse. Öffnen Sie die E-Mail und wählen Sie den Link Abonnement bestätigen aus.

Sie erhalten eine Bestätigungsnachricht von. AWS Amazon SNS ist jetzt so konfiguriert, dass Benachrichtigungen empfangen und als E-Mail an die angegebene E-Mail-Adresse gesendet werden.

Aufgabe 2: Erstellen einer IAM-Richtlinie für Amazon SNS-Benachrichtigungen

Gehen Sie wie folgt vor, um eine benutzerdefinierte Richtlinie AWS Identity and Access Management (IAM) zu erstellen, die Berechtigungen für die Initiierung von Amazon SNS SNS-Benachrichtigungen bereitstellt.

So erstellen Sie eine benutzerdefinierte IAM-Richtlinie für Amazon SNS-Benachrichtigungen
  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie im Navigationsbereich Richtlinien und dann Richtlinie erstellen. (Wenn die Schaltfläche Get Started (Erste Schritte) angezeigt wird, klicken Sie darauf und wählen Sie anschließend Create Policy (Richtlinie erstellen) aus.)

  3. Wählen Sie den Tab JSON.

  4. Ersetzen Sie den Standardinhalt durch folgenden Inhalt.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:region:account-id:sns-topic-name" } ] }

    regionsteht für die Kennung einer Region, die von AWS-Region unterstützt wird AWS Systems Manager, z. B. us-east-2 für die Region USA Ost (Ohio). Eine Liste der unterstützten region Werte finden Sie in der Spalte Region der Systems Manager Manager-Dienstendpunkte in der Allgemeine Amazon Web Services-Referenz.

    account-idsteht für den 12-stelligen Bezeichner für Ihren AWS-Konto, im folgenden Format. 123456789012

    sns-topic-namesteht für den Namen des Amazon SNS SNS-Themas, das Sie für die Veröffentlichung von Benachrichtigungen verwenden möchten.

  5. Wählen Sie Weiter: Tags aus.

  6. (Optional) Fügen Sie ein oder mehrere Tag-Schlüssel-Wert-Paare hinzu, um den Zugriff für diese Richtlinie zu organisieren, zu verfolgen oder zu steuern.

  7. Wählen Sie Weiter: Prüfen aus.

  8. Geben Sie auf der Seite Richtlinie prüfen im Feld Name einen Namen für die Inline-Richtlinie ein. Beispiel: my-sns-publish-permissions.

  9. (Optional) Geben Sie im Feld Beschreibung eine Beschreibung für die Richtlinie ein.

  10. Wählen Sie Create Policy (Richtlinie erstellen) aus.

3Aufgabe 2: Erstellen einer IAM-Role für Amazon SNS-Benachrichtigungen

Verwenden Sie das folgende Verfahren zum Erstellen einer IAM-Rolle für Amazon SNS-Benachrichtigungen. Diese Service-Rolle wird von Systems Manager verwendet, um Amazon SNS-Benachrichtigungen zu initiieren. In allen nachfolgenden Verfahren wird diese Rolle als Amazon SNS IAM-Rolle bezeichnet.

So erstellen Sie eine IAM-Service-Rolle für Amazon SNS-Benachrichtigungen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die IAM-Konsole unter. https://console.aws.amazon.com/iam/

  2. Klicken Sie im Navigationsbereich der IAM-Konsole auf Rollen, und wählen Sie dann Rolle erstellen.

  3. Wählen Sie den AWS-Service-Rollentyp und dann Systems Manager aus.

  4. Wählen Sie den Systems-Manager-Anwendungsfall aus. Wählen Sie anschließend Weiter.

  5. Markieren Sie auf der Seite Attach permissions policies (Richtlinien für Berechtigungen anfügen) das Kontrollkästchen links neben dem Namen der benutzerdefinierten Richtlinie aus, die Sie in Aufgabe 2 erstellt haben. Beispiel: my-sns-publish-permissions.

  6. (Optional) Legen Sie eine Berechtigungsgrenze fest. Dies ist ein erweitertes Feature, das für Servicerollen verfügbar ist, aber nicht für servicegebundene Rollen.

    Öffnen Sie den Abschnitt Permissions boundary (Berechtigungsgrenze) und wählen Sie Use a permissions boundary to control the maximum role permissions (Eine Berechtigungsgrenze verwenden, um die maximalen Rollen-Berechtigungen zu steuern). IAM enthält eine Liste der AWS verwalteten und kundenverwalteten Richtlinien in Ihrem Konto. Wählen Sie die Richtlinie aus, die für die Berechtigungsgrenze verwendet werden soll, oder wählen Create policy (Richtlinie erstellen), um eine neue Registerkarte im Browser zu öffnen und eine vollständig neue Richtlinie zu erstellen. Weitere Informationen finden Sie unter Erstellen von IAM-Richtlinien im IAM-Benutzerhandbuch. Nachdem Sie die Richtlinie erstellt haben, schließen Sie die Registerkarte und kehren zur ursprünglichen Registerkarte zurück, um die Richtlinie auszuwählen, die für die Berechtigungsgrenze verwendet werden soll.

  7. Wählen Sie Weiter.

  8. Geben Sie möglichst einen Rollennamen oder ein Rollennamen-Suffix ein, mit dem der Zweck dieser Rolle einfach zu erkennen ist. Rollennamen müssen innerhalb Ihres AWS-Konto-Kontos eindeutig sein. Es wird hierbei nicht zwischen Groß- und Kleinschreibung unterschieden. z. B. können Sie keine Rollen erstellen, die PRODROLE bzw. prodrole heißen. Da möglicherweise verschiedene Entitäten auf die Rolle verweisen, kann der Rollenname nach der Erstellung nicht bearbeitet werden.

  9. (Optional) Geben Sie unter Role description (Rollenbeschreibung) eine Beschreibung für die neue Rolle ein.

  10. Wählen Sie in den Abschnitten Step 1: Select trusted entities (Schritt 1: Vertrauenswürdige Entitäten auswählen) oder Step 2: Add permissions (Schritt 2: Berechtigungen hinzufügen) die Option Edit (Bearbeiten), um die Anwendungsfälle und Berechtigungen für die Rolle zu bearbeiten.

  11. (Optional) Fügen Sie dem Benutzer Metadaten hinzu, indem Sie Markierungen als Schlüssel-Wert-Paare anfügen. Weitere Informationen zur Verwendung von Tags in IAM finden Sie unter Markieren von IAM-Ressourcen im IAM-Benutzerhandbuch.

  12. Prüfen Sie die Rolle und klicken Sie dann auf Create Role (Rolle erstellen).

  13. Wählen Sie den Namen der Rolle und kopieren Sie dann oder notieren Sie sich den Wert der Role ARN (Rollen-ARN). Dieser Amazon-Ressourcenname (ARN) für die Rolle wird verwendet, wenn Sie einen Befehl senden, der so konfiguriert wurde, dass er Amazon-SNS-Benachrichtigungen zurückgibt.

  14. Lassen Sie die Seite Summary (Übersicht) geöffnet.

Aufgabe 4: Konfigurieren des Benutzerzugriffs

Wenn einer IAM-Entität (Benutzer, Rolle oder Gruppe) Administratorrechte zugewiesen wurden, hat der Benutzer oder die Rolle Zugriff auf Run Command and Maintenance Windows, Werkzeuge in AWS Systems Manager.

Für Entitäten ohne Administratorrechte muss ein Administrator der IAM-Entität die folgenden Berechtigungen gewähren:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::account-id:role/sns-role-name" } ] }

Um Zugriff zu gewähren, fügen Sie Ihren Benutzern, Gruppen oder Rollen Berechtigungen hinzu:

So konfigurieren Sie Benutzerzugriff und fügen die Richtlinie iam:PassRole an ein Benutzerkonto an
  1. Wählen Sie im IAM-Navigationsbereich die Option Users (Benutzer) und anschließend das Benutzerkonto aus, das Sie konfigurieren möchten.

  2. Prüfen Sie auf der Registerkarte Permissions (Berechtigungen) in der Richtlinienliste, ob entweder die AmazonSSMFullAccess-Richtlinie aufgeführt ist, oder ob es eine vergleichbare Richtlinie gibt, die dem Konto Berechtigungen für den Zugriff auf Systems Manager erteilt.

  3. Wählen Sie Inline-Richtlinie hinzufügen.

  4. Wählen Sie auf der Seite Richtlinie erstellen die Registerkarte Visueller Editor aus.

  5. Wählen Sie Choose a service und dann IAM aus.

  6. Geben Sie für Aktionen in das Textfeld Aktionen filtern den Text einPassRole, und aktivieren Sie dann das Kontrollkästchen neben PassRole.

  7. Vergewissern Sie sich bei Resources (Ressourcen), dass Specific (spezifisch) ausgewählt ist, und wählen Sie dann Add ARN (ARN hinzufügen).

  8. Fügen Sie im Feld Specify ARN for role (ARN für Rolle angeben) den ARN der Amazon SNS IAM-Rolle ein, den Sie am Ende von Aufgabe 3 kopiert haben. Das System füllt die Felder Account (Konto) und Role name with path (Rollenname mit Pfad) automatisch aus.

  9. Wählen Sie Hinzufügen aus.

  10. Wählen Sie Richtlinie prüfen.

  11. Geben Sie auf der Seite Review Policy (Richtlinie überprüfen) einen Namen ein und wählen Sie anschließend Create Policy (Richtlinie erstellen) aus.

Aufgabe 5: Hängen Sie die iam: PassRole -Richtlinie an Ihre Rolle im Wartungsfenster an

Wenn Sie ein registrieren Run Command Aufgabe mit einem Wartungsfenster, Sie geben eine Servicerolle Amazon Resource Name (ARN) an. Diese Servicerolle wird von Systems Manager zur Durchführung von Aufgaben verwendet, die beim Wartungsfenster registriert sind. So konfigurieren Sie Amazon SNS SNS-Benachrichtigungen für ein registriertes Run Command Aufgabe: Fügen Sie der angegebenen Service-Rolle für das Wartungsfenster eine iam:PassRole Richtlinie hinzu. Wenn Sie nicht beabsichtigen, die registrierte Aufgabe für Amazon SNS-Benachrichtigungen zu konfigurieren, können Sie diese Aufgabe überspringen.

Die iam:PassRole Richtlinie ermöglicht Maintenance Windows Service-Rolle, um die in Aufgabe 3 erstellte Amazon SNS SNS-IAM-Rolle an den Amazon SNS SNS-Service weiterzuleiten. Das folgende Verfahren zeigt, wie Sie die Richtlinie an das iam:PassRole anhängen Maintenance Windows Servicerolle.

Anmerkung

Verwenden Sie eine benutzerdefinierte Servicerolle für Ihr Wartungsfenster, um Benachrichtigungen zu senden im Zusammenhang mit Run Command registrierte Aufgaben. Weitere Informationen finden Sie unter Einrichtung Maintenance Windows.

Wenn Sie eine benutzerdefinierte Servicerolle für Wartungsfenster-Aufgaben erstellen müssen, finden Sie weitere Informationen dazu unter Einrichtung Maintenance Windows.

Um die iam:PassRole Richtlinie an Ihre anzuhängen Maintenance Windows role
  1. Öffnen Sie unter https://console.aws.amazon.com/iam/ die IAM-Konsole.

  2. Wählen Sie im Navigationsbereich erst Roles (Rollen) und dann die in Aufgabe 3 erstellte Amazon SNS IAM-Rolle aus.

  3. Kopieren oder notieren Sie den Role ARN (Rollen-ARN) und kehren Sie zum Abschnitt Roles (Rollen) der IAM-Konsole zurück.

  4. Wählen Sie das benutzerdefinierte Maintenance Windows Servicerolle, die Sie aus der Liste Rollennamen erstellt haben.

  5. Stellen Sie in der Registerkarte Permissions (Berechtigungen) sicher, dass entweder die AmazonSSMMaintenanceWindowRole-Richtlinie oder eine vergleichbare Richtlinie angegeben ist, durch die Wartungsfenster Berechtigungen für die Systems-Manager-API erhalten. Wenn dies nicht der Fall ist, wählen Sie Berechtigungen hinzufügen, Richtlinien anfügen, um sie anzufügen.

  6. Wählen Sie Berechtigungen hinzufügen, eingebundene Richtlinie erstellen.

  7. Wählen Sie die Registerkarte Visual Editor (Visueller Editor) aus.

  8. Wählen Sie unter Service die Option IAM aus.

  9. Geben Sie für Aktionen in das Textfeld Aktionen filtern den Text einPassRole, und aktivieren Sie dann das Kontrollkästchen neben PassRole.

  10. Wählen Sie unter Resources (Ressourcen), die Option Specific (Spezifisch) und dann Add ARN (ARN hinzufügen)aus.

  11. Fügen Sie im Feld Specify ARN for role (ARN für Rolle angeben) den ARN der in Aufgabe 3 erstellten Amazon SNS IAM-Rolle ein und wählen Sie dann Add (Hinzufügen) aus.

  12. Wählen Sie Richtlinie prüfen.

  13. Geben Sie auf der Seite Richtlinie überprüfen einen Namen für die PassRole-Richtlinie an und wählen Sie dann Richtlinie erstellen aus.