步骤 3:创建自定义 Amazon AppConfig 扩展 - Amazon AppConfig
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

步骤 3:创建自定义 Amazon AppConfig 扩展

扩展程序定义它在 Amazon AppConfig 工作流期间执行的一个或多个操作。例如,Amazon 编写的 Amazon AppConfig deployment events to Amazon SNS 扩展程序包含向 Amazon SNS 主题发送通知的操作。当您与 Amazon AppConfig 交互或 Amazon AppConfig 代表您执行进程时,都会调用每个操作。这些称为操作点。 Amazon AppConfig 扩展程序支持以下操作点:

PRE_* 操作点:在 PRE_* 操作点上配置的扩展操作在请求验证之后应用,但在 Amazon AppConfig 执行与操作点名称对应的活动之前。这些操作调用与请求同时处理。如果发出多个请求,则操作调用将按顺序运行。另请注意,PRE_* 操作点接收并可以更改配置的内容。 PRE_* 操作点还可以响应错误并防止操作发生。

  • PRE_CREATE_HOSTED_CONFIGURATION_VERSION

  • PRE_START_DEPLOYMENT

ON_* 操作点:扩展也可以通过使用 Amazon AppConfig 操作点与 ON_* 工作流并行运行。ON_* 操作点是异步调用的。ON_* 操作点不接收配置内容。如果扩展程序在 ON_* 操作点期间遇到错误,服务将忽略该错误并继续工作流。

  • ON_DEPLOYMENT_START

  • ON_DEPLOYMENT_STEP

  • ON_DEPLOYMENT_BAKING

  • ON_DEPLOYMENT_COMPLETE

  • ON_DEPLOYMENT_ROLLED_BACK

AT_* 操作点:在 AT_* 操作点上配置的扩展操作是同步调用的,并与 Amazon AppConfig 工作流并行。如果扩展在 AT_* 操作点期间遇到错误,服务将停止工作流并回滚部署。

  • AT_DEPLOYMENT_TICK

注意

AT_DEPLOYMENT_TICK 操作点支持第三方监控集成。AT_DEPLOYMENT_TICK 在配置部署处理编排期间被调用。如果您使用第三方监控解决方案(例如 Datadog),可以创建 Amazon AppConfig 扩展,在 AT_DEPLOYMENT_TICK 操作点检查警报,并作为安全防护措施在触发警报时回滚部署。要查看使用 AT_DEPLOYMENT_TICK 操作点与 Datadog 集成的 Amazon AppConfig 扩展代码示例,请参阅 GitHub 上的 aws-samples / aws-appconfig-tick-extn-for-datadog

示例 扩展程序

以下示例扩展程序定义了一个调用 PRE_CREATE_HOSTED_CONFIGURATION_VERSION 操作点的操作。在 Uri 字段中,该操作指定在本演练前面创建的 MyS3ConfigurationBackUpExtension Lambda 函数的 Amazon 资源名称(ARN)。该操作还指定在本演练前面创建的 Amazon Identity and Access Management (IAM) 代入角色 ARN。

示例 Amazon AppConfig 扩展程序

{ "Name": "MySampleExtension", "Description": "A sample extension that backs up configurations to an S3 bucket.", "Actions": { "PRE_CREATE_HOSTED_CONFIGURATION_VERSION": [ { "Name": "PreCreateHostedConfigVersionActionForS3Backup", "Uri": "arn:aws:lambda:aws-region:111122223333:function:MyS3ConfigurationBackUpExtension", "RoleArn": "arn:aws:iam::111122223333:role/ExtensionsTestRole" } ] }, "Parameters" : { "S3_BUCKET": { "Required": false } } }
注意

若要在创建扩展时查看请求语法和字段说明,请参阅 Amazon AppConfig API 参考中的 CreateExtension 主题。

创建扩展程序(控制台)
  1. 访问 https://console.aws.amazon.com/systems-manager/appconfig/,打开 Amazon Systems Manager 控制台。

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

  3. 扩展程序 选项卡上,选择 创建扩展程序

  4. 对于 扩展程序名称,输入唯一的名称。在本演练中,请输入 MyS3ConfigurationBackUpExtension。(可选)输入描述。

  5. 操作 部分中,选择 添加新操作

  6. 对于 操作名称,输入唯一的名称。在本演练中,请输入 PreCreateHostedConfigVersionActionForS3Backup。此名称描述操作使用的操作点和扩展程序目的。

  7. 操作点列表中,选择 PRE_C REATE_HOSTED_CONFIGURATION_VERSION

  8. 对于 Uri,选择 Lambda 函数,然后在 Lambda 函数列表中选择该函数。如果看不到函数,请验证是否在创建函数的同一 Amazon Web Services 区域 中。

  9. 对于 IAM 角色,选择您之前在本演练中创建的角色。

  10. 扩展参数(可选) 部分中,选择添加新参数

  11. 对于参数名称,请输入名称。在本演练中,请输入 S3_BUCKET

  12. 重复步骤 5-11,为 PRE_START_DEPLOYMENT 操作点创建第二个操作。

  13. 选择 创建扩展程序