Ü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 oder sendenMaintenance Windows, bei denen es sich um Tools in AWS Systems Manager handelt. 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 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 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)

  • Abgebrochen

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

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

Ausgänge: 3 BucketName

String

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

Ausgänge 3 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 die Run Command Aufgabe IDs direkt auf die Instanz abzielte. Instanzen IDs sind nicht in der Übersichtsnachricht enthalten, wenn die Run Command Aufgabe mithilfe von Tag-basiertem Targeting ausgegeben wurde.

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 von Run Command erstellte ID, 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-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, 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 einen der folgenden Inhalte, je nachdem, ob das Amazon SNS SNS-Thema AWS KMS Verschlüsselung verwendet:

    SNS topic not encrypted
    { "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.

    SNS topic encrypted
    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": "arn:aws:sns:region:account-id:sns-topic-name" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "arn:aws:kms:region:account-id:key/kms-key-id" } ] }

    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.

    kms-key-idstellt die ID des KMS-Schlüssels für die symmetrische Verschlüsselung dar, der für AWS KMS die Verschlüsselung und Entschlüsselung des Themas verwendet werden soll, im folgenden Format. 1234abcd-12ab-34cd-56ef-12345EXAMPLE

    Anmerkung

    Die Verwendung der Verschlüsselung ist kostenpflichtig. AWS KMS Weitere Informationen finden Sie unter Verwaltung von Amazon SNS SNS-Verschlüsselungsschlüsseln und Kosten im AWS Key Management Service Entwicklerhandbuch.

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

  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 undMaintenance Windows, Tools 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 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 Einrichtung Maintenance Windows.

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

Anhängen der iam:PassRole-Richtlinie an Ihre Maintenance Windows-Rolle
  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 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 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.