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

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

什么是 Amazon AppConfig?

Amazon AppConfig 功能标志和动态配置可帮助软件开发者快速安全地调整生产环境中的应用程序行为,而无需部署完整的代码。 Amazon AppConfig 加快软件发布频率,提高应用程序弹性,并帮助您更快地解决紧急问题。通过功能标志,您可以逐步向用户发布新功能,并在向所有用户全面部署新功能之前,衡量这些更改的影响。通过操作标志和动态配置,您可以更新阻止列表、允许列表、节流限制、日志记录冗余度,并执行其他操作调整,以快速应对生产环境中的问题。

注意

Amazon AppConfig 的能力是 Amazon Systems Manager。

提高效率并更快地发布变更

使用带有新功能的功能标志可加快向生产环境发布变更的过程。功能标志使您能够使用基于主干的开发方法编写软件,而不是依赖需要在发布前进行复杂合并的长期开发分支。功能标志使您能够在 CI/CD 管道中安全地推出对用户隐藏的预发布代码。准备发布更改时,可以更新功能标志,而无需部署新代码。启动完成后,该标志仍可作为区块开关,禁用新功能或能力,而无需回滚代码部署。

借助内置安全功能,避免意外更改或故障

Amazon AppConfig 提供了以下安全功能,可帮助您避免启用功能标志或更新可能导致应用程序故障的配置数据。

  • 验证程序:在将更改部署到生产环境之前,验证程序确保配置数据在语法和语义上正确无误。

  • 部署策略:部署策略使您能够在几分钟或几小时内缓慢地将更改发布到生产环境。

  • 监控和自动回滚: Amazon AppConfig 与 Amazon 集成 CloudWatch ,可监控应用程序的更改。如果您的应用程序由于配置更改不当而变得不健康,并且该更改触发了警报 CloudWatch,则 Amazon AppConfig 会自动回滚更改,以最大限度地减少对应用程序用户的影响。

安全且可扩展的功能标志部署

Amazon AppConfig 与 Amazon Identity and Access Management (IAM) 集成,提供基于角色的细粒度服务访问权限。 Amazon AppConfig 还与 Amazon Key Management Service (Amazon KMS) 集成,用于加密和 Amazon CloudTrail 审计。在向外部客户发布之前,所有 Amazon AppConfig 安全控制措施最初都是由大规模使用该服务的内部客户共同开发和验证的。

Amazon AppConfig 用例

尽管应用程序的配置内容可能因应用程序而异,但它 Amazon AppConfig 支持以下用例,这些用例涵盖了广泛的客户需求:

  • 功能标志和切换 — 在受控环境中安全地向客户发布新功能。如果您遇到问题,请立即回滚更改。

  • 应用程序调整— 谨慎引入应用程序变更,同时在生产环境中测试这些变更对用户的影响。

  • 允许列表或阻止列表— 无需部署新代码,即可控制高级功能的访问权限或即时阻止特定用户。

  • 集中式配置存储 — 在所有工作负载中保持配置数据的有序性和一致性。您可以使用 Amazon AppConfig 部署存储在 Amazon AppConfig 托管配置存储 Amazon Secrets Manager、Systems Manager 参数存储或 Amazon S3 中的配置数据。

使用的好处 Amazon AppConfig

Amazon AppConfig 为您的组织提供以下好处:

  • 减少客户的意外停机时间

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

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

    • 为了进行语义验证, Amazon AppConfig 可以调用您拥有的 Amazon Lambda 函数来验证配置中的数据。

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

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

    目标不需要配置 Systems Manager SSM Agent 或其他 Systems Manager 功能所需的 IAM 实例配置文件。这意味着它 Amazon AppConfig 适用于非托管实例。

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

    Amazon AppConfig 在运行时将配置更改部署到您的目标,而无需进行繁重的构建过程或使目标停止服务。

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

    在将配置更改部署到目标时, Amazon AppConfig 允许您使用部署策略将风险降至最低。部署策略允许您缓慢地向您的设备群部署配置更改。如果在部署过程中遇到问题,您可以在配置更改影响到大多数主机之前将其回滚。

如何 Amazon AppConfig 运作

本节简要描述了 Amazon AppConfig 工作原理和入门方式。

1. 确定要在云端管理的代码中的配置值

在开始创建 Amazon AppConfig 构件之前,我们建议您在代码中标识要使用动态管理的配置数据 Amazon AppConfig。好的例子包括功能标志或切换、允许和阻止列表、日志冗长度、服务限制和节流规则等。

如果您的配置数据已经存在于云端,您可以利用 Amazon AppConfig 验证、部署和扩展功能进一步简化配置数据管理。

2. 创建应用程序命名空间

要创建命名空间,您需要创建一个名为应用程序的 Amazon AppConfig 构件。应用程序只是一个像文件夹一样的组织构造。

3. 创建环境

您可以为每个 Amazon AppConfig 应用程序定义一个或多个环境。环境是目标的逻辑分组,例如Production环境中的应用程序、 Amazon Lambda 函数或容器。Beta您也可以为应用程序子组件定义环境,例如应用程序的 WebMobileBack-end

您可以为每个环境配置 Amazon CloudWatch 警报。系统在部署配置期间监控警报。如果触发警报,系统将回滚配置。

4. 创建配置文件

除其他外,配置文件包括一个 Amazon AppConfig 允许在存储位置查找配置数据的 URI 和配置文件类型。 Amazon AppConfig 支持两种配置文件类型:功能标志和自由格式配置。功能标志配置文件将其数据存储在 Amazon AppConfig 托管配置存储中,URI 很简单hosted。对于自由格式配置文件,您可以将数据存储在 Amazon AppConfig 托管配置存储库或与集成的任何 Amazon 服务中 Amazon AppConfig,如中所在中创建自由表单配置文件 Amazon AppConfig述。

配置文件还可以包括可选的验证器,以确保您的配置数据在语法和语义上都是正确的。 Amazon AppConfig 开始部署时使用验证器执行检查。如果检测到任何错误,部署将回滚到之前的配置数据。

5. 部署配置数据

创建新配置时,应指定以下内容:

  • 应用程序 ID

  • 配置文件 ID

  • 配置版本

  • 要在其中部署配置数据的环境 ID

  • 部署策略 ID,可定义更改生效的速度

当您调用 StartDeploymentAPI 操作时, Amazon AppConfig 会执行以下任务:

  1. 使用配置文件中的位置 URI 从底层数据存储中读取配置数据。

  2. 使用在创建配置文件时指定的验证程序,验证配置数据在语法和语义上是否正确。

  3. 缓存数据副本,以便应用程序随时检索。此缓存副本被称为已部署数据

6. 检索配置

您可以将 Amazon AppConfig Agent 配置为本地主机,并让代理轮 Amazon AppConfig 询配置更新。代理调用StartConfigurationSessionGetLatestConfigurationAPI 操作并在本地缓存您的配置数据。要检索数据,您的应用程序需要对本地主机服务器进行 HTTP 调用。 Amazon AppConfig 代理支持多种用例,如中所述简化的检索方法

如果您的用例不支持 Amazon AppConfig 代理,则可以通过直接调用StartConfigurationSessionGetLatestConfigurationAPI 操作将应用程序配置 Amazon AppConfig 为轮询配置更新。

开始使用 Amazon AppConfig

以下资源可以帮助您直接使用 Amazon AppConfig。

视频: Amazon AppConfig 功能标志简介

观看有关 Amazon AppConfig 功能标记功能的视频介绍。

亚马逊 Web Services YouTube 频道上观看更多 Amazon 视频。

以下博客可以帮助您详细了解 Amazon AppConfig 其功能:

的定价 Amazon AppConfig

的定 Amazon AppConfig 价 pay-as-you-go 基于配置数据和功能标志检索。我们建议使用 Amazon AppConfig 代理来帮助优化成本。有关更多信息,请参阅Amazon Systems Manager 定价

Amazon AppConfig 配额

有关 Amazon AppConfig 端点和服务配额以及其他 Systems Manager 配额的信息,请参阅Amazon Web Services 一般参考

注意

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