View a markdown version of this page

Verwendung der AWS AppConfig Ereignisse bei der Bereitstellung der Amazon SQS-Erweiterung - AWS AppConfig

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 Ereignisse bei der Bereitstellung der Amazon SQS-Erweiterung

Bei der AWS AppConfig deployment events to Amazon SQS Erweiterung handelt es sich um eine eigens AWS entwickelte Erweiterung, die Ihnen hilft, den Workflow zur Konfigurationsbereitstellung zu überwachen und entsprechend zu handeln. AWS AppConfig Die Erweiterung stellt Nachrichten in Ihre Amazon Simple Queue Service (Amazon SQS) -Warteschlange ein, wenn eine Konfiguration bereitgestellt wird. Nachdem Sie die Erweiterung einer Ihrer AWS AppConfig Anwendungen, Umgebungen oder Konfigurationsprofile zugeordnet haben, stellt sie nach jedem Start, AWS AppConfig Ende und Rollback eine Nachricht in die Warteschlange.

Wenn Sie mehr Kontrolle darüber haben möchten, an welchen Aktionspunkten Amazon SQS-Benachrichtigungen gesendet werden, können Sie eine benutzerdefinierte Erweiterung erstellen und den Amazon Resource Name (ARN) der Amazon SQS-Warteschlange 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 SQS Erweiterung verwenden.

Schritt 1: Konfigurieren AWS AppConfig um Nachrichten in die Warteschlange zu stellen

Fügen Sie Ihrer Amazon SQS-Warteschlange eine Amazon SQS-Richtlinie hinzu, die AWS AppConfig (appconfig.amazonaws.com) die Erlaubnis zum Senden von Nachrichten erteilt (). sqs:SendMessage 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 mit einem anderen AWS Konto die Erweiterung verwendet, um Nachrichten an Ihre Warteschlange 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 Grundlegende Beispiele für Amazon SQS-Richtlinien.

Mit der folgenden Beispielrichtlinie können AWS AppConfig Sie Nachrichten nur dann an Ihre Warteschlange senden, wenn die Anfrage von Ihrem eigenen Konto stammt. Ersetzen Sie MySQSQueue und die Beispielkonto-ID durch Ihre eigenen Werte.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAppConfigSendMessage", "Effect": "Allow", "Principal": { "Service": "appconfig.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "arn:aws:sqs:us-east-1:111122223333:MySQSQueue", "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 SQS-Warteschlangenrichtlinie aufnehmen, um den kontoübergreifenden Zugriff zu verhindern. Ohne diese Bedingungen könnte ein anderes AWS Konto seine AWS AppConfig deployment events to Amazon SQS Erweiterung so konfigurieren, dass Bereitstellungsereignisse an Ihre Warteschlange 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 Here Parameter eingeben, der den ARN der Amazon SQS-Warteschlange enthält, die Sie verwenden möchten.

Nachdem Sie die Zuordnung erstellt haben und eine Konfiguration für die angegebene AWS AppConfig Ressource erstellt oder 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)
  1. Öffnen Sie die AWS Systems Manager Konsole unter https://console.aws.amazon.com/systems-manager/appconfig/.

  2. Wählen Sie im Navigationsbereich AWS AppConfig aus.

  3. Wählen Sie auf der Registerkarte Erweiterungen die Option Zur Ressource hinzufügen aus.

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

  5. Wählen Sie Verknüpfung zur Ressource erstellen aus.

Hier ist ein Beispiel für die Nachricht, die an die Amazon SQS-Warteschlange gesendet wird, wenn die Erweiterung aufgerufen wird.

{ "InvocationId":"7itcaxp", "Parameters":{ "queueArn":"arn:aws:sqs:us-east-1:111122223333:MySQSQueue" }, "Application":{ "Id":"1a2b3c4d", "Name":MyApp }, "Environment":{ "Id":"1a2b3c4d", "Name":MyEnv }, "ConfigurationProfile":{ "Id":"1a2b3c4d", "Name":"MyConfigProfile" }, "Description":null, "DeploymentNumber":"3", "ConfigurationVersion":"1", "Type":"OnDeploymentComplete" }