使用扩AWS AppConfig deployment events to Amazon SNS展 - AWS AppConfig

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用扩AWS AppConfig deployment events to Amazon SNS

AWS AppConfig deployment events to Amazon SNS扩展程序是 AWS 编写的扩展,可帮助您监控 AWS AppConfig 配置部署工作流程并对其采取行动。每当部署配置时,扩展程序都会SNS向 Amazon 主题发布消息。将扩展程序与您的一个 AWS AppConfig 应用程序、环境或配置文件关联后,在每次配置部署开始、结束和回滚之后,都会向该主题 AWS AppConfig 发布一条消息。

如果您想更好地控制哪些操作点会发送亚马逊SNS通知,则可以创建自定义扩展,并在该URI字段中输入亚马逊SNS主题亚马逊资源名称 (ARN)。有关创建扩展程序的信息,请参阅 演练:创建自定义扩展 AWS AppConfig

使用扩展程序

本节介绍如何使用 AWS AppConfig deployment events to Amazon SNS 扩展程序。

步骤 1:配置 AWS AppConfig 为向主题发布消息

在您的 Amazon SNS 主题中添加访问控制策略,授予 AWS AppConfig (appconfig.amazonaws.com) 发布权限 (sns:Publish)。有关更多信息,请参阅 Amazon SNS 访问控制的示例案例

步骤 2:创建扩展程序关联

通过创建扩展关联,将扩展附加到您的一个 AWS AppConfig 资源。您可以使用 AWS AppConfig 控制台或CreateExtensionAssociationAPI操作创建关联。创建关联时,您可以指定 AWS AppConfig 应用程序、环境或配置文件的。ARN如果将扩展程序关联到应用程序或环境,则会针对指定应用程序或环境中包含的任何配置文件发送通知。创建关联时,必须为包含要使用的亚马逊SNS主题ARN的topicArn参数输入一个值。

创建关联后,部署指定 AWS AppConfig 资源的配置时,会 AWS AppConfig 调用该扩展程序并根据扩展中指定的操作点发送通知。

注意

此扩展程序由以下操作点调用:

  • ON_DEPLOYMENT_START

  • ON_DEPLOYMENT_COMPLETE

  • ON_DEPLOYMENT_ROLLED_BACK

您无法自定义此扩展程序的操作点。若要调用不同的操作点,可以创建自己的扩展程序。有关更多信息,请参阅 演练:创建自定义扩展 AWS AppConfig

使用以下过程通过 AWS Systems Manager 控制台或控制台创建 AWS AppConfig 扩展关联 AWS CLI。

创建扩展程序关联(控制台)
  1. https://console.aws.amazon.com/systems-manager/appconfig/上打开 AWS Systems Manager 控制台。

  2. 在导航窗格中,选择 AWS AppConfig

  3. 扩展程序 选项卡上,选择 添加到资源

  4. 扩展资源详细信息部分的资源类型中,选择一种 AWS AppConfig 资源类型。根据您选择的资源, AWS AppConfig 会提示您选择其他资源。

  5. 选择创建与资源的关联

以下是调用扩展程序时发送到 Amazon SNS 主题的消息示例。

{ "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" } } }