本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
什么是 AWS AppConfig?
AWS AppConfig 功能标志和动态配置可帮助软件开发者快速安全地调整生产环境中的应用程序行为,而无需部署完整的代码。 AWS AppConfig 加快软件发布频率,提高应用程序弹性,并帮助您更快地解决紧急问题。
通过功能标志,您可以逐步向用户发布新功能,并在向所有用户全面部署新功能之前,衡量这些更改的影响。通过操作标志和动态配置,您可以更新阻止列表、允许列表、节流限制、日志记录冗余度,并执行其他操作调整,以快速应对生产环境中的问题。
开始使用 AWS AppConfig
以下视频可以帮助您了解的功能 AWS AppConfig。
视频:简介 AWS AppConfig
观看 AWS AppConfig 功能简介视频。
在亚马逊 Web Services YouTube 频道
AWS AppConfig 用例
AWS AppConfig 支持广泛的用例:
-
功能标志和切换 — 在受控环境中安全地向客户发布新功能。如果您遇到问题,请立即回滚更改。
-
应用程序调整— 谨慎引入应用程序变更,同时在生产环境中测试这些变更对用户的影响。
-
允许列表或阻止列表— 无需部署新代码,即可控制高级功能的访问权限或即时阻止特定用户。
-
集中式配置存储 — 在所有工作负载中保持配置数据的有序性和一致性。您可以使用 AWS AppConfig 部署存储在 AWS AppConfig 托管配置存储 AWS Secrets Manager、Systems Manager 参数存储或 Amazon S3 中的配置数据。
福利概述
以下简要概述了使用的好处 AWS AppConfig。
- 提高效率并更快地发布变更
-
使用带有新功能的功能标志可加快向生产环境发布变更的过程。功能标志使您能够使用基于主干的开发方法编写软件,而不是依赖需要在发布前进行复杂合并的长期开发分支。功能标志使您能够在对用户隐藏的 CI/CD 管道中安全地推出预发布代码。准备发布更改时,可以更新功能标志,而无需部署新代码。启动完成后,该标志仍可作为区块开关,禁用新功能或能力,而无需回滚代码部署。
- 借助内置安全功能,避免意外更改或故障
-
AWS AppConfig 提供了以下安全功能,可帮助您避免启用功能标志或更新可能导致应用程序故障的配置数据。
-
验证程序:在将更改部署到生产环境之前,验证程序确保配置数据在语法和语义上正确无误。
-
部署策略:部署策略使您能够在几分钟或几小时内缓慢地将更改发布到生产环境。
-
监控和自动回滚: AWS AppConfig 与 Amazon 集成 CloudWatch ,可监控应用程序的更改。如果您的应用程序由于配置更改不当而变得不健康,并且该更改触发了警报 CloudWatch,则 AWS AppConfig 会自动回滚更改,以最大限度地减少对应用程序用户的影响。
-
- 安全且可扩展的功能标志部署
-
AWS AppConfig 与 AWS Identity and Access Management (IAM) 集成,提供基于角色的细粒度服务访问权限。 AWS AppConfig 还与 AWS Key Management Service (AWS KMS) 集成,用于加密和 AWS CloudTrail 审计。在向外部客户发布之前,所有 AWS AppConfig 安全控制措施最初都是由大规模使用该服务的内部客户共同开发和验证的。
如何 AWS AppConfig 运作
本节简要描述了 AWS AppConfig 工作原理和入门方式。
- 1. 确定要在云端管理的代码中的配置值
-
在开始创建 AWS AppConfig 构件之前,我们建议您在代码中标识要使用动态管理的配置数据 AWS AppConfig。好的例子包括功能标志或切换、允许和阻止列表、日志冗长度、服务限制和节流规则等。
如果您的配置数据已经存在于云端,您可以利用 AWS AppConfig 验证、部署和扩展功能进一步简化配置数据管理。
- 2. 创建应用程序命名空间
-
要创建命名空间,您需要创建一个名为应用程序的 AWS AppConfig 构件。应用程序只是一个像文件夹一样的组织构造。有关更多信息,请参阅 在 AWS AppConfig中为应用程序创建命名空间。
- 3. 创建环境
-
您可以为每个 AWS AppConfig 应用程序定义一个或多个环境。环境是目标的逻辑分组,例如
Production
环境中的应用程序、 AWS Lambda 函数或容器。Beta
您也可以为应用程序子组件定义环境,例如应用程序的Web
、Mobile
和Back-end
。有关更多信息,请参阅 在 AWS AppConfig中为应用程序创建环境。您可以为每个环境配置 Amazon CloudWatch 警报。系统在部署配置期间监控警报。如果触发警报,系统将回滚配置。要使用此功能,您必须创建一个 AWS AppConfig 可以监控警报的 AWS Identity and Access Management 角色。有关更多信息,请参阅 配置自动回滚的权限。
- 4. 创建配置文件
-
除其他外,配置文件包括一个 AWS AppConfig 允许在存储位置查找配置数据的 URI 和配置文件类型。 AWS AppConfig 支持两种配置文件类型:功能标志和自由格式配置。功能标志配置文件将其数据存储在 AWS AppConfig 托管配置存储中,URI 很简单
hosted
。对于自由格式配置文件,您可以将数据存储在 AWS AppConfig 托管配置存储库或与集成的任何 AWS 服务中 AWS AppConfig,如中所在中创建自由表单配置文件 AWS AppConfig述。有关创建配置文件的更多信息,请参阅在 AWS AppConfig中创建配置文件。配置文件还可以包括可选的验证器,以确保您的配置数据在语法和语义上都是正确的。 AWS AppConfig 开始部署时使用验证器执行检查。如果检测到任何错误,部署将回滚到之前的配置数据。
- 5. 部署配置数据
-
创建新配置时,应指定以下内容:
-
应用程序 ID
-
配置文件 ID
-
配置版本
-
要在其中部署配置数据的环境 ID
-
部署策略 ID,可定义更改生效的速度
开始部署时,将 AWS AppConfig 执行以下任务:
-
使用配置文件中的位置 URI 从底层数据存储中读取配置数据。
-
使用在创建配置文件时指定的验证程序,验证配置数据在语法和语义上是否正确。
-
缓存数据副本,以便应用程序随时检索。此缓存副本被称为已部署数据。
有关部署配置的更多信息,请参阅在 AWS AppConfig中部署功能标志和配置数据。
-
- 6. 检索配置
-
您可以将 AWS AppConfig Agent 配置为本地主机,并让代理轮 AWS AppConfig 询配置更新。代理调用StartConfigurationSession和 GetLatestConfigurationAPI 操作并在本地缓存您的配置数据。要检索数据,您的应用程序需要对本地主机服务器进行 HTTP 调用。 AWS AppConfig 代理支持多种用例,如中所述如何使用 AWS AppConfig 代理检索配置数据。
如果您的用例不支持 AWS AppConfig 代理,则可以通过直接调用StartConfigurationSession和 GetLatestConfigurationAPI 操作将应用程序配置 AWS AppConfig 为轮询配置更新。
有关检索配置的更多信息,请参阅正在检索 AWS AppConfig中的功能标志和配置数据。
的定价 AWS AppConfig
的定 AWS AppConfig 价 pay-as-you-go基于配置数据和功能标志检索。我们建议使用 AWS AppConfig 代理来帮助优化成本。有关更多信息,请参阅AWS Systems Manager 定价