AWS Resilience Hub
定义应用程序的弹性目标(RTO/RPO),持续评估架构是否满足目标并提供改进建议的服务
概述
AWS Resilience Hub 是一项帮助定义、跟踪和管理应用程序弹性的服务。设置应用程序的恢复时间目标(RTO)和恢复点目标(RPO),自动发现应用程序的 AWS 资源并评估当前架构是否满足弹性目标。对于不满足目标的组件提供具体的改进建议,并生成运维程序(SOP)和故障注入测试计划。
应用程序定义与弹性策略
Resilience Hub 中首先定义应用程序——指定组成应用程序的 AWS 资源集合。资源发现支持从 CloudFormation 堆栈、Resource Groups、EKS 集群或手动添加。弹性策略为每个应用程序设置 RTO 和 RPO 目标,可按故障类型(基础设施、应用程序、AZ 级别、区域级别)分别设置不同目标。例如,AZ 故障的 RTO 设为 5 分钟,区域故障的 RTO 设为 1 小时。策略模板提供预定义的弹性级别(关键任务、重要、非关键),简化初始设置。评估运行后,Resilience Hub 分析每个资源的当前配置是否满足策略目标。
弹性评估与改进建议
弹性评估分析应用程序的每个组件,判断在各种故障场景下是否能满足 RTO/RPO 目标。评估结果以合规/不合规状态显示,不合规项附带具体的改进建议。例如「RDS 实例未启用 Multi-AZ,AZ 故障时无法满足 5 分钟 RTO」或「S3 存储桶未启用跨区域复制,区域故障时无法满足 RPO」。建议按影响度和实施难度排序,帮助优先处理最关键的改进。评估可手动运行或通过 CI/CD 管道自动运行,在每次部署后验证弹性是否退化。弹性评分(0-100)提供应用程序整体弹性的量化指标,便于跟踪改进趋势。
运维程序生成与故障注入测试
Resilience Hub 基于评估结果自动生成标准运维程序(SOP)。SOP 包括故障转移步骤、恢复步骤和验证步骤,可导出为 Systems Manager 文档直接执行。这确保运维团队在故障发生时有明确的操作手册。故障注入测试建议与 AWS Fault Injection Simulator(FIS)集成,生成验证弹性的测试计划。例如建议「终止一个 AZ 的所有 EC2 实例,验证应用程序在 RTO 内恢复」。定期运行这些测试验证弹性策略在实际故障中是否有效。与 CloudWatch 集成监控弹性相关指标(故障转移时间、恢复时间),在弹性退化时发出告警。