Ü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

Anmerkung

FIFO-Themen des Amazon Simple Notification Service werden nicht unterstützt.

Sie können Amazon Simple Notification Service (Amazon SNS) zum Senden von Benachrichtigungen über den Status der Befehle konfigurieren, die Sie mithilfe von Run Command oder Maintenance Windows, welche Funktionen von AWS Systems Manager sind, senden. 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 in der Amazon SNS-Benachrichtigung, die von Run Command und Maintenance Windows bereitgestellt wird, finden Sie unter Beispiel für SNS Amazon-Benachrichtigungen für AWS Systems Manager.

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

Run Command und Maintenance Windows-Aufgaben, die für ein Wartungsfenster registriert sind, können Amazon SNS-Benachrichtigungen zu Befehlsaufgaben senden, die in folgende Status wechseln:

  • 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 mit Run Command gesendet wurden, melden auch die Status „Cancelling (Abbrechen)“ und „Pending (Ausstehend)“. Diese Status werden nicht von Amazon SNS-Benachrichtigungen erfasst.

Amazon SNS-Benachrichtigungen

Wenn Sie Run Command oder eine Run Command-Aufgabe in Ihrem Wartungsfenster für Amazon SNS-Benachrichtigungen konfigurieren, sendet Amazon SNS zusammenfassende Nachrichten mit folgenden Informationen.

Feld Typ Beschreibung

eventTime

Zeichenfolge

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

Zeichenfolge

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

commandId

Zeichenfolge

Die von Run Command erstellte ID, nachdem der Befehl gesendet wurde.

expiresAfter

Datum

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

outputS3BucketName

Zeichenfolge

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

outputS3KeyPrefix

Zeichenfolge

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

requestedDateTime

Zeichenfolge

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

Instance-IDs sind nur in der zusammenfassenden Nachricht enthalten, wenn die Run Command-Aufgabe direkt auf Instance-IDs abzielt. Instance-IDs sind nicht Bestandteil der zusammenfassenden Nachricht, wenn die Run Command-Aufgabe mithilfe von Tag-basiertem Targeting ausgestellt wurde.

status

Zeichenfolge

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

Zeichenfolge

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

Zeichenfolge

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

requestedDateTime

Zeichenfolge

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

commandId

Zeichenfolge

Die von Run Command erstellte ID, nachdem der Befehl gesendet wurde.

instanceId

Zeichenfolge

Die Instance, auf die der Befehl abzielt.

status

Zeichenfolge

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-Thema ist ein Kommunikationskanal, über den Run Command und Run Command -Aufgaben, die in einem Wartungsfenster registriert sind, Benachrichtigungen über den Status Ihrer Befehle senden. Amazon SNS unterstützt verschiedene Kommunikationsprotokolle, einschließlich HTTP/S, E-Mail und andere 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 AWS Identity and Access Management (IAM)-Richtlinie zu erstellen, die Berechtigungen zum Auslösen von Amazon SNS-Benachrichtigungen bereitstellt.

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

  2. Wählen Sie im Navigationsbereich Policies und dann Create Policy. (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" } ] }

    region repräsentiert die Kennung für eine von AWS-Region unterstützte 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 unter Systems-Manager-Service-Endpunkte in der Allgemeine Amazon Web Services-Referenz.

    account-id repräsentiert den 12-stelligen Bezeichner für Ihr AWS-Konto im Format 123456789012.

    sns-topic-name repräsentiert den Namen des Amazon-SNS-Themas, das Sie zum Veröffentlichen von Benachrichtigungen verwenden möchten.

  5. Wählen Sie Next: Markierungen (Weiter: Markierungen).

  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 Review Policy (Richtlinie prüfen) im Feld Name (Name) einen Namen für die Inline-Richtlinie ein. Beispiel: my-sns-publish-permissions.

  9. (Optional) Geben Sie im Feld Description (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 AWS Management Console an und öffnen Sie die IAM-Konsole unter https://console.aws.amazon.com/iam/.

  2. Klicken Sie im Navigationsbereich der IAM-Konsole auf Roles und wählen Sie dann Create role.

  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 aus.

  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, die 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 von AWS verwalteten und vom Kunden verwaltete 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 Next (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. Beispielsweise 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) Administratorberechtigungen zugewiesen wurden, hat der Benutzer oder die Rolle Zugriff auf Run Command und Maintenance Windows, Funktionen von 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 Add inline Policy (Inline-Richtlinie auswählen).

  4. Wählen Sie auf der Seite Create policy die Registerkarte Visual editor aus.

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

  6. Geben Sie unter Actions (Aktionen) in das Textfeld Filter actions (Aktionen filtern) PassRole ein und wählen Sie das Kontrollkästchen PassRole aus.

  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 Add (Hinzufügen) aus.

  10. Wählen Sie Review policy (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: Anfügen der iam:PassRole-Richtlinie an die Wartungsfenster-Rolle

Wenn Sie eine Run Command-Aufgabe mit einem Wartungsfenster registrieren, geben Sie den Amazon-Ressourcennamen (ARN) einer Servicerolle an. Diese Servicerolle wird von Systems Manager zur Durchführung von Aufgaben verwendet, die beim Wartungsfenster registriert sind. Hängen Sie eine iam:PassRole-Richtlinie an die angegebene Wartungsfenster-Servicerolle an, um Amazon SNS-Benachrichtigungen für eine registrierte Run Command-Aufgabe zu konfigurieren Wenn Sie nicht beabsichtigen, die registrierte Aufgabe für Amazon SNS-Benachrichtigungen zu konfigurieren, können Sie diese Aufgabe überspringen.

Mithilfe der iam:PassRole-Richtlinie kann die Maintenance Windows-Servicerolle die in Aufgabe 3 erstellte IAM-Rolle an den Amazon SNS-Service übergeben. Das folgende Verfahren zeigt, wie die iam:PassRole-Richtlinie an die Maintenance Windows-Servicerolle angehängt wird.

Anmerkung

Verwenden Sie eine benutzerdefinierte Servicerolle für Wartungsfenster, um Benachrichtigungen mit Bezug zu den registrierten Run Command-Aufgaben zu senden. Weitere Informationen finden Sie unter Einrichten von Maintenance Windows.

Wenn Sie eine benutzerdefinierte Servicerolle für Wartungsfenster-Aufgaben erstellen müssen, finden Sie weitere Informationen dazu unter Konfigurieren Sie mit der Konsole Berechtigungen für Wartungsfenster.

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

  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 die benutzerdefinierte Maintenance Windows-Servicerolle aus, die Sie aus der Liste Role name (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 Add permissions, Create inline policy (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 unter Actions (Aktionen) in das Textfeld Filter actions (Aktionen filtern) PassRole ein und wählen Sie das Kontrollkästchen PassRole aus.

  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 Review policy (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.