什么是 AWS AppConfig? - AWS AppConfig
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

什么是 AWS AppConfig?

使用 AWS AppConfig, AWS Systems Manager,以创建、管理和快速部署应用配置。 AWS AppConfig 支持对任何规模的应用进行控制部署,包括内置验证检查和监控。您可以将 AWS AppConfig 与 EC2 实例上托管的应用程序、AWS Lambda、容器、移动应用程序或 IoT 设备一起使用。

在部署应用配置时防止错误,尤其是 一个简单的类型可能导致n 意外停电, AWS AppConfig 包括验证器。验证程序提供语法或语义检查,以确保要部署的配置正常工作。要验证应用程序配置数据,请需要提供针对该配置运行的架构或 Lambda 函数。只有在配置数据有效时,才能执行配置部署或更新。

在配置部署期间,AWS AppConfig 监控应用程序以确保部署成功。如果系统遇到错误,AWS AppConfig 将回滚更改以最大限度减少对应用程序用户的影响。您可以为每个应用程序或环境配置一个包含部署条件的部署策略,包括速度、烘焙时间和要监控的警报。与错误监控类似,如果部署触发一个警报,则 AWS AppConfig 自动回滚到以前的版本。

AWS AppConfig 支持多个使用案例。下面是一些示例:

  • 应用程序调整: 使用 AWS AppConfig 仔细介绍只能使用生产流量测试的应用程序的更改。

  • 功能切换: 使用 AWS AppConfig 要开启需要及时部署的新功能,例如产品发布或公告。

  • 允许列表: 使用 AWS AppConfig 允许优质订户访问已付内容。

  • 运营问题: 使用 AWS AppConfig 在依赖性或其他外部因素影响系统时,减少应用对应用的压力。

我的组织如何从 AWS AppConfig 获益?

AWS AppConfig 具有以下优点。

  • 快速部署一组目标的变化

    通过从中心位置部署配置更改,AWS AppConfig 简化了批量管理应用程序的过程。AWS AppConfig 支持 Systems Manager Parameter Store、Systems Manager (SSM) 文档和 Amazon S3 中存储的配置。您可以将 AWS AppConfig 与 EC2 实例上托管的应用程序、AWS Lambda、容器、移动应用程序或 IoT 设备一起使用。

  • 减少配置更改中的错误

    AWS AppConfig 允许您创建规则以验证配置,从而减少应用程序停机时间。无法部署无效的配置。AWS AppConfig 提供了两种方法以验证配置。

    • 对于语法验证,您可以使用 JSON 架构。AWS AppConfig 使用 JSON 架构验证配置,以确保配置更改符合应用程序要求。

    • 对于语义验证,您可以调用 AWS Lambda 函数以在部署之前运行配置。

  • 更新应用程序而不会发生中断

    AWS AppConfig 在运行时将配置更改部署到目标,而无需执行繁重的生成过程或停止使用目标。

  • 控制在应用程序中部署更改

    在将配置更改部署到目标时,AppConfig 允许您使用部署策略以最大限度降低风险。您可以使用部署策略的速率控制,以确定希望应用程序目标接收配置更改的速度。

支持哪些类型的目标?

您可以将 AWS AppConfig 与 EC2 实例上托管的应用程序、AWS Lambda、容器、移动应用程序或 IoT 设备一起使用。目标不需要配置 Systems Manager SSM Agent 或其他 Systems Manager 功能所需的 AWS Identity and Access Management (IAM) 实例配置文件。这意味着,AWS AppConfig 适用于非托管实例。

使用 AWS AppConfig 是否需要支付费用?

是 有关更多信息,请参阅 AWS Systems Manager 定价

我是否必须更改应用程序才能使用 AWS AppConfig?

是 您必须使用 GetConfiguration API 操作配置应用程序以轮询新的配置更新。在新配置或更新的配置准备就绪后,AWS AppConfig 将配置文件部署到部署策略中的每个目标。

AWS AppConfig 是如何工作的?

概括来说,可通过三个过程使用 AWS AppConfig。

  1. 配置 AWS AppConfig 以与应用程序一起使用。

  2. 允许应用程序代码定期检查并从 AWS AppConfig 接收配置数据。

  3. 部署新配置或更新的配置。

配置 AWS AppConfig 以与应用程序一起使用。

要配置 AWS AppConfig 以与应用程序一起使用,您需要设置三种类型的资源。

Resource Details (详细信息)。

应用程序

AWS AppConfig 中的应用程序是为客户提供功能的代码的逻辑单元。例如,应用程序可以是在 EC2 实例上运行的微服务、用户安装的移动应用程序、使用 Amazon API Gateway 和 AWS Lambda 的无服务器应用程序或您代表其他人运行的任何系统。

Environment

对于每个应用程序,您可以定义一个或多个环境。环境是 AWS AppConfig 应用程序的逻辑部署组,例如 BetaProduction 环境中的应用程序。您也可以为应用程序子组件定义环境,例如应用程序的 WebMobileBack-end 组件。您可以为每个环境配置 Amazon CloudWatch 警报。系统在部署配置期间监控警报。如果触发警报,系统将回滚配置。

配置文件

A 配置文件 启用 AWS AppConfig 在其存储位置访问配置。您可以按以下格式和位置存储配置:

  • AWS AppConfig 托管配置存储中的 YAML、JSON 或文本文档

  • Amazon Simple Storage Service (Amazon S3) 存储桶中的对象

  • Systems Manager 文档存储中的文档

  • Parameter Store 中的参数

配置配置文件还可以包括可选验证器,以确保配置数据的协同和语义正确。 AWS AppConfig 启动部署时,使用验证器执行检查。在对配置目标进行任何更改之前,如果检测到任何错误,部署将会停止。

允许应用程序代码定期检查并从 AWS AppConfig 接收配置数据

通过使用 GetConfiguration API 操作,AWS AppConfig 以受控方式提供动态配置更新。您必须配置应用程序代码以定期调用该 API 操作。在调用时,代码发送以下信息:

  • AWS AppConfig 应用程序、环境和配置文件的 ID。

  • 唯一的应用程序实例标识符,称为客户端 ID。

  • 应用程序代码已知的上一配置版本。

在部署新配置时(这意味着,具有新版本的配置),AWS AppConfig 响应 GetConfiguration 请求并返回新的配置数据。

部署新配置或更新的配置。

AWS AppConfig 允许您按最适合应用程序使用案例的方式部署配置。您可以在几秒钟内部署更改,也可以缓慢部署更改以评估更改的影响。帮助您控制部署的 AWS AppConfig 资源称为部署策略。部署策略包含以下信息:

您可以使用涵盖常见方案的内置部署策略,也可以创建自己的策略。在创建或选择部署策略后,您可以开始部署。在开始部署时,将调用 StartDeployment API 操作。该调用包括应用程序、环境和配置文件的 ID 以及(可选)要部署的配置数据版本。该调用还包括要使用的部署策略的 ID,该策略确定如何部署配置数据。

什么是 AWS AppConfig 的服务配额?

Resource 配额

AWS AppConfig 应用程序数

-100

部署策略数

20

每个 AWS AppConfig 应用程序的环境数

20

每个 AWS AppConfig 应用程序的配置文件数

-100

注意

有关存储 AWS AppConfig 配置的服务的配额的信息,请参阅 关于配置存储配额和限制