View a markdown version of this page

什么是AWS AppConfig? - AWS AppConfig

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

什么是AWS AppConfig?

AWS AppConfig无需重新部署代码,即可帮助您安全地更改生产环境中的应用程序行为。使用功能标志和动态自由格式配置,您可以控制应用程序的实时运行方式。这种方法可以降低风险,加快发布速度,并可以更快地响应问题。您可以逐步向特定用户推出新功能,监控其影响并满怀信心地扩展可用性。您还可以立即更新阻止列表、允许列表、限制限制和日志记录级别,从而无需部署即可缓解问题并微调性能。

AWS AppConfig实验使软件团队能够使用生产 A/B 流量运行测试和逐步推出功能。该服务建立在亚马逊超过25年的软件实验专业知识(包括上 Amazon.com)的基础上,将实验直接集成到您现有的AWS AppConfig功能标志工作流程中。团队可以定义假设,定位特定的受众,在治疗之间分配流量,并逐步增加暴露量,同时使用 CloudWatch 或其他首选的监测工具监控运营指标。AWS AppConfig实验适用于AWS AppConfig代理支持的任何计算环境,包括 Amazon EC2 AWS Lambda、Amazon ECS 和 Amazon EKS。团队可以将实验任务数据导出到 Amazon Redshift、Snowflake 或 Databricks 等数据仓库进行结果分析。随着人工智能不断加快团队构建和迭代软件的速度,AWS AppConfig实验提供了一种使用可衡量的生产数据和降低的运营风险来验证 AI-driven 变更的方法。

开始使用AWS AppConfig

以下视频可以帮助您了解的功能AWS AppConfig。

视频:简介AWS AppConfig

观看AWS AppConfig功能简介视频。

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

AWS AppConfig使用案例

AWS AppConfig支持广泛的用例:

  • 应用实验 — 使用受控的受众曝光度和基于特征标志的处理方法,安全地评估生产中的应用程序变化。

  • 功能标记和切换-逐步向目标用户发布新功能,监控影响,并在出现问题时立即回滚更改。

  • 应用程序调整-在生产环境中安全地引入更改,衡量其影响,并在不重新部署代码的情况下优化行为。

  • 允许列表或阻止列表-无需修改应用程序代码即可实时控制对功能的访问或限制特定用户。

  • 集中式配置存储-跨工作负载一致地管理配置数据。AWS AppConfig可以从AWS AppConfig托管的配置存储AWS Secrets Manager、Systems Manager 参数存储或 Amazon S3 部署配置。

优势概述

以下简要概述列出了使用AWS AppConfig的优势。

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

功能标志可帮助您以更快的速度和更低的风险发布对生产环境的更改。您可以采用基于主干的开发并通过标志控制功能的可用性,而不必管理长期存在的开发分支和复杂的合并。这种方法允许您部署在准备发布之前一直对用户隐藏的代码。该功能准备就绪后,无需重新部署代码即可将其启用。如果发布后出现问题,则可以立即禁用该功能,而无需回滚部署。

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

AWS AppConfig包括有助于防止配置更改导致应用程序故障的安全功能:

  • 验证器:在部署之前,请确保配置数据在语法和语义上都是正确的。

  • 部署策略:在规定的时间段内逐步推出变更以降低风险。

  • 监控和自动回滚:AWS AppConfig与 Amazon 集成 CloudWatch 以监控应用程序运行状况。如果配置更改触发警报,则AWS AppConfig会自动回滚更改以最大限度地减少影响。

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

AWS AppConfig与AWS Identity and Access Management(IAM) 集成,提供基于角色的精细访问控制。它还与AWS Key Management Service(AWS KMS) 集成,用于加密和AWS CloudTrail审计。

AWS与内部团队一起开发并验证了AWS AppConfig安全控制措施,这些团队在向外部客户提供之前大规模运营。此基础有助于确保该服务安全、可靠,并为生产工作负载做好准备。

操作方法AWS AppConfig方式

本节对AWS AppConfig工作原理进行了高级描述。

AWS AppConfig工作原理示意图
1. 确定要管理的配置数据AWS AppConfig

在创建配置文件之前,请在代码中标识要使用动态管理的配置数据AWS AppConfig。常见的示例包括功能标志、允许列表和阻止列表、日志级别、服务限制和限制规则。这些值往往会经常更改,如果配置不当,可能会导致问题。

如果您的配置数据已存在于 SSM Parameter Store 或 Amazon S3 等云服务中,则可以使用AWS AppConfig来更有效地验证、部署和管理这些数据。

2. 在中创建配置文件AWS AppConfig

配置文件定义如何AWS AppConfig查找和管理您的配置数据。它包括指向数据源的 URI 和配置文件类型。

AWS AppConfig支持两种配置文件类型

  • 功能标志-启用受控功能发布、逐步推出和在生产环境中进行测试。

  • Free-form 配置-存储和检索来自外部来源的配置数据,并在不重新部署代码的情况下对其进行更新。

这两种配置文件类型都有助于将配置与代码分离,支持持续交付,并降低部署风险。

您还可以添加可选的验证器,以确保配置数据在语法和语义上都是正确的。在部署期间,AWS AppConfig评估这些验证器,并在验证失败时自动回滚更改。

每个配置文件都与一个应用程序相关联,该应用程序充当配置资源的逻辑容器。有关创建配置配置文件的更多信息,请参阅 在中创建配置文件AWS AppConfig

3. 部署配置数据

当你开始部署时,AWS AppConfig:

  1. 从配置文件中定义的来源检索配置数据

  2. 使用配置的验证器验证数据

  3. 将经过验证的配置提供给AWS AppConfig Agent

交付的配置将成为您的应用程序使用的已部署版本。有关部署配置的更多信息,请参阅 在中部署功能标志和配置数据 AWS AppConfig

4. 检索配置数据

您的应用程序通过调用 Agent 公开的本地端点来检索配置数据,AWS AppConfig代理会缓存已部署的配置。检索数据是一个按流量计量的事件。AWS AppConfig代理支持各种用例,如中所述如何使用AWS AppConfig用于检索配置数据的代理

如果代理不适合您的用例,则您的应用程序AWS AppConfig可以通过调用StartConfigurationSessionGetLatestConfigurationAPI 操作直接从中检索配置数据。

有关检索配置的更多信息,请参阅 正在检索中的功能标志和配置数据AWS AppConfig

的定价AWS AppConfig

的定价AWS AppConfig是根据配置数据和功能标志检索按量付费。我们建议使用AWS AppConfig代理来帮助优化成本。有关更多信息,请参阅AWS Systems Manager定价