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 代理支持的任何计算环境,包括亚马逊 EC2 AWS Lambda、亚马逊 ECS 和亚马逊 EKS。团队可以将实验任务数据导出到 Amazon Redshift、Snowflake 或 Databricks 等数据仓库以进行结果分析。随着人工智能继续加快团队构建和迭代软件的速度, AWS AppConfig 实验提供了一种通过可衡量的生产数据和降低运营风险来验证 AI-driven 变更的方法。

开始使用 AWS AppConfig

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

视频:简介 AWS AppConfig

观看 AWS AppConfig 功能介绍视频。

亚马逊网络服务 YouTube 频道上观看更多 AWS 视频

AWS AppConfig 使用案例

AWS AppConfig 支持多种用例:

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

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

  • 应用程序优化 — 在生产环境中安全地引入变更、衡量其影响并完善行为,而无需重新部署代码。

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

  • 集中化配置存储 -一致地管理工作负载中的配置数据。 AWS AppConfig 可以从 AWS AppConfig 托管配置存储 AWS Secrets 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 参数存储或 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 代理

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

4. 检索配置数据

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

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

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

的定价 AWS AppConfig

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