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.
Verwendung der AWS AppConfig Bereitstellungsereignisse für die Amazon SNS-Erweiterung
Bei der AWS AppConfig deployment events to Amazon SNS Erweiterung handelt es sich um AWS eine eigens entwickelte Erweiterung, mit der Sie den Workflow zur AWS AppConfig Konfigurationsbereitstellung überwachen und entsprechend handeln können. Die Erweiterung veröffentlicht Nachrichten zu einem Amazon SNS-Thema, wenn eine Konfiguration bereitgestellt wird. Nachdem Sie die Erweiterung einer Ihrer AWS AppConfig Anwendungen, Umgebungen oder Konfigurationsprofile zugeordnet haben, AWS AppConfig veröffentlicht sie nach jedem Start, Ende und Rollback der Konfigurationsbereitstellung eine Nachricht zum Thema.
Wenn Sie mehr Kontrolle darüber haben möchten, an welchen Aktionspunkten Amazon SNS-Benachrichtigungen gesendet werden, können Sie eine benutzerdefinierte Erweiterung erstellen und einen Amazon SNS-Thema (Amazon Resource Name, ARN) für das URI-Feld eingeben. Informationen zum Erstellen einer Erweiterung finden Sie unter. Exemplarische Vorgehensweise: Benutzerdefiniert erstellen AWS AppConfig Erweiterungen
Verwenden der Erweiterung
In diesem Abschnitt wird beschrieben, wie Sie die AWS AppConfig deployment events to Amazon SNS Erweiterung verwenden.
Schritt 1: Konfigurieren AWS AppConfig um Nachrichten zu einem Thema zu veröffentlichen
Fügen Sie Ihrem Amazon SNS-Thema eine Zugriffskontrollrichtlinie hinzu, die AWS AppConfig
(appconfig.amazonaws.com) die Erlaubnis erteilt, Nachrichten zu veröffentlichen (sns:Publish). Um sicherzustellen, dass nur Ihr eigenes Konto diese Nachrichten senden kann, fügen Sie der Richtlinie eine aws:SourceAccount Bedingung hinzu und setzen Sie sie auf Ihre AWS Konto-ID. Dadurch wird verhindert, dass jemand in einem anderen AWS Konto die Erweiterung verwendet, um Nachrichten zu deinem Thema zu senden. Um den Zugriff noch enger einzugrenzen, können Sie stattdessen eine aws:SourceArn Bedingung verwenden, die auf den ARN der Erweiterungszuordnung festgelegt ist. Weitere Informationen finden Sie unter Beispielfälle für die Amazon SNS-Zugriffskontrolle.
Mit der folgenden Beispielrichtlinie können Sie nur dann Beiträge zu Ihrem Thema AWS AppConfig veröffentlichen, wenn die Anfrage von Ihrem eigenen Konto stammt. Ersetzen Sie MySNSTopic und die Beispielkonto-ID durch Ihre eigenen Werte.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppConfigPublish", "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "SNS:Publish", "Resource": "arn:aws:sns:us-east-1:111122223333:MySNSTopic", "Condition": { "StringEquals": { "aws:SourceAccount": "111122223333" } } } ] }
Verhindern Sie den kontoübergreifenden Zugriff
Sie müssen entweder die aws:SourceArn Bedingung aws:SourceAccount oder in Ihre Amazon SNS-Themenrichtlinie aufnehmen, um den kontoübergreifenden Zugriff zu verhindern. Ohne diese Bedingungen könnte ein anderes AWS Konto seine AWS AppConfig deployment events to Amazon SNS Erweiterung so konfigurieren, dass Bereitstellungsereignisse an Ihr Thema gesendet werden. Beschränken Sie die Richtlinie immer auf Ihr eigenes Konto.
Schritt 2: Erstellen Sie eine Erweiterungszuordnung
Hängen Sie die Erweiterung an eine Ihrer AWS AppConfig Ressourcen an, indem Sie eine Erweiterungszuordnung erstellen. Sie erstellen die Zuordnung mithilfe der AWS AppConfig Konsole oder der CreateExtensionAssociation API-Aktion. Wenn Sie die Zuordnung erstellen, geben Sie den ARN einer AWS AppConfig Anwendung, einer Umgebung oder eines Konfigurationsprofils an. Wenn Sie die Erweiterung einer Anwendung oder Umgebung zuordnen, wird eine Benachrichtigung für jedes Konfigurationsprofil gesendet, das in der angegebenen Anwendung oder Umgebung enthalten ist. Wenn Sie die Zuordnung erstellen, müssen Sie einen Wert für den topicArn Parameter eingeben, der den ARN des Amazon SNS-Themas enthält, das Sie verwenden möchten.
Nachdem Sie die Zuordnung erstellt haben und eine Konfiguration für die angegebene AWS AppConfig Ressource bereitgestellt wird, wird die AWS AppConfig Erweiterung aufgerufen und Benachrichtigungen gemäß den in der Erweiterung angegebenen Aktionspunkten gesendet.
Anmerkung
Diese Erweiterung wird durch die folgenden Aktionspunkte aufgerufen:
-
ON_DEPLOYMENT_START -
ON_DEPLOYMENT_COMPLETE -
ON_DEPLOYMENT_ROLLED_BACK
Sie können die Aktionspunkte für diese Erweiterung nicht anpassen. Um verschiedene Aktionspunkte aufzurufen, können Sie Ihre eigene Erweiterung erstellen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Benutzerdefiniert erstellen AWS AppConfig Erweiterungen.
Verwenden Sie die folgenden Verfahren, um eine AWS AppConfig Erweiterungszuordnung zu erstellen, indem Sie entweder die AWS Systems Manager Konsole oder die AWS CLI verwenden.
So erstellen Sie eine Erweiterungszuordnung (Konsole)
Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/appconfig/
. -
Wählen Sie im Navigationsbereich AWS AppConfig aus.
-
Wählen Sie auf der Registerkarte Erweiterungen die Option Zur Ressource hinzufügen aus.
-
Wählen Sie im Abschnitt Details zur Erweiterungsressource für Ressourcentyp einen AWS AppConfig Ressourcentyp aus. Abhängig von der ausgewählten Ressource werden Sie AWS AppConfig aufgefordert, andere Ressourcen auszuwählen.
-
Wählen Sie Verknüpfung zur Ressource erstellen aus.
Hier ist ein Beispiel für die Nachricht, die an das Amazon SNS-Thema gesendet wird, wenn die Erweiterung aufgerufen wird.
{ "Type": "Notification", "MessageId": "ae9d702f-9a66-51b3-8586-2b17932a9f28", "TopicArn": "arn:aws:sns:us-east-1:111122223333:MySNSTopic", "Message": { "InvocationId": "7itcaxp", "Parameters": { "topicArn": "arn:aws:sns:us-east-1:111122223333:MySNSTopic" }, "Application": { "Id": "1a2b3c4d", "Name": MyApp }, "Environment": { "Id": "1a2b3c4d", "Name": MyEnv }, "ConfigurationProfile": { "Id": "1a2b3c4d", "Name": "MyConfigProfile" }, "Description": null, "DeploymentNumber": "3", "ConfigurationVersion": "1", "Type": "OnDeploymentComplete" }, "Timestamp": "2022-06-30T20:26:52.067Z", "SignatureVersion": "1", "Signature": "<...>", "SigningCertURL": "<...>", "UnsubscribeURL": "<...>", "MessageAttributes": { "MessageType": { "Type": "String", "Value": "OnDeploymentStart" } } }