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

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

什么是AmazonAppConfig

使用AmazonAppConfig,一种Amazon Web Services Systems Manager,以创建、管理以及快速部署应用程序配置。您可以使用Amazon具有在 Amazon Elastic Compute Cloud (Amazon EC2) 实例上托管应用程序的 AppConfigAmazon Lambda、容器、移动应用程序或 IoT 设备。

通过简化任务AmazonAppConfig

AmazonAppConfig 有助于简化以下任务:

  • 配置

    从 Amazon Simple Storage Service (Amazon S3) 获取配置AmazonAppConfig 托管配置、参数存储、Systems Manager 文档存储。使用Amazon CodePipeline集成来源于比特桶管道、GitHub 和Amazon CodeCommit。

  • 验证

    在部署应用程序配置时,简单的拼写错误可能导致意外中断。防止生产系统中的错误使用AmazonAppConfig 验证程序。AmazonAppConfig 验证器使用 JSON 模式提供语法检查,或使用Amazon Lambda函数来确保您的配置按预期进行部署。只有在配置数据有效时,才能执行配置部署。

  • 部署和监控

    定义部署标准和速率控制,以确定目标接收新配置的方式。使用Amazon用于设置部署速度、部署时间和烘焙时间的 AppConfig 部署策略。监视每个部署,使用AmazonAppConfig 与 Amazon CloudWatch Events 集成。如果AmazonAppConfig 遇到错误,系统将回滚部署以最大限度减少对应用程序用户的影响。

AmazonAppConfig 使用案例

AmazonAppConfig 可以在以下使用案例中帮助您:

  • 应用程序优化— 谨慎地将更改引入可以使用生产流量测试的应用程序。

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

  • 允许列表— 允许高级订户访问付费内容。

  • 业务问题— 在依赖项或其他外部因素影响系统时,减轻应用程序上的压力。

使用的优势AmazonAppConfig

AmazonAppConfig 为您的组织提供了以下好处:

  • 减少配置更改中的错误

    AmazonAppConfig 允许您创建规则以验证配置,从而减少应用程序停机时间。无法部署无效的配置。AmazonAppConfig 提供了以下两个用于验证配置的选项:

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

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

  • 快速在一组目标中部署更改

    AmazonAppConfig 通过从一个集中位置部署配置更改,简化了批量管理应用程序的过程。AmazonAppConfig 支持存储在 Systems Manager 参数存储、Systems Manager (SSM) 文档和 Amazon S3 中的配置。您可以使用AmazonEC2 实例上托管的 AppConfigAmazon Lambda、容器、移动应用程序或 IoT 设备。

    目标不需要配置 Systems Manager 或其他 Systems Manager 功能所需的 AWS Identity 和访问管理 (IAM) 实例配置文件。这意味着,AmazonAppConfig 适用于非托管实例。

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

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

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

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

开始使用AmazonAppConfig

以下资源可以帮助您直接使用AmazonAppConfig

视频:Amazon AppConfig 概述

查看视频介绍AmazonAppConfig (持续时间:9:12)

查看更多Amazon的视频Amazon Web Services YouTube 道

以下博客可以帮助您了解有关的更多信息AmazonAppConfig 及其功能:

操作方法AmazonAppConfig 工作原理

概括来说,可通过三个过程使用AmazonAppConfig:

  1. 配置 AmazonAppConfig 以与应用程序一起使用

  2. Enable (启用 Gem)应用程序代码定期检查并从接收配置数据AmazonAppConfig

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

以下各个部分介绍了每个步骤。

配置AmazonAppConfig 与应用程序一起使用

配置Amazon要与应用程序一起使用,您需要设 AppConfig 三种类型的资源,如下表所述。

资源 详细信息

应用程序

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

Environment

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

配置文件

A配置文件使能Amazon以访问位于其存储位置中的配置。您可以按以下格式和位置存储配置:

  • YAML、JSON 或文本文档AmazonAppConfig 托管配置存储

  • Amazon S3 存储桶中的对象

  • Systems Manager 文档存储中的文档

  • Parameter Store 中的参数

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

允许应用程序代码检查并接收配置数据

您必须配置应用程序以定期检查并使用接收配置更新GetConfigurationAPI 操作。在新配置或更新的配置准备就绪后,AmazonAppConfig 将配置文件部署到部署策略中的每个目标。

在调用时,代码发送以下信息:

  • 的 IDAmazonAppConfig 应用程序、环境和配置文件。

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

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

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

部署新配置或更新的配置

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

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

注意

有关的信息AmazonAppConfig 语言特定的软件开发工具包,请参阅AmazonAppConfig 开发工具包

定价AmazonAppConfig

使用会产生费用AmazonAppConfig 有关更多信息,请参阅 Amazon Web Services Systems Manager 定价

AmazonAppConfig

有关的信息AmazonAppConfig 终端节点和服务配额以及其他 Systems Manager 配额位于Amazon Web Services 一般参考

注意

有关存储AmazonAppConfig 的配置,请参阅。关于配置存储配额和限制