REL10-BP03 组件的自动恢复受限于单个位置
如果工作负载的组件只能在单个可用区或本地部署数据中心内运行,您必须利用相关功能在定义的恢复目标内彻底重建工作负载。
在未建立这种最佳实践的情况下暴露的风险等级:中等
实施指导
如果由于技术限制无法使用将工作负载部署到多个位置的最佳实践,您必须实施其他的弹性路径。在这种情况下,您必须让重建必要基础设施、重新部署应用程序和重建必要数据的操作实现自动化。
例如,Amazon EMR 会为相同可用区内的特定集群启动全部节点,因为在相同区内运行集群可以改善作业流的性能,提高数据访问速率。如果这是工作负载弹性所需的必要组件,则您必须设法重新部署集群及其数据。同样对于 Amazon EMR,您还应该通过除多可用区以外的方式对冗余进行预置。您可以预置多个节点。使用 EMR 文件系统(EMRFS),EMR 中的数据可以存储在 Amazon S3 中,进而可以实现跨多个可用区或 AWS 区域复制。
同样,对于 Amazon Redshift 来说,它默认会在您选择的 AWS 区域内随机选择可用区,然后对其中的集群进行预置。相同区内的全部集群节点都会被预置。
对于部署到本地数据中心基于服务器的有状态工作负载,您可以使用 AWS Elastic Disaster Recovery 来保护 AWS 中的工作负载。如果您已在 AWS 中托管,则可以使用 Elastic Disaster Recovery 将工作负载保护到备用可用区或区域。Elastic Disaster Recovery 使用持续块级复制将数据复制到轻量级暂存区域,以便为本地和基于云的应用程序提供快速、可靠的恢复。
实施步骤
-
实施自我修复。尽可能使用弹性伸缩部署实例或容器。如果不能使用弹性伸缩,则使用 EC2 实例的自动恢复功能,或者基于 Amazon EC2 或 ECS 容器生命周期事件实施自我修复自动化。
-
将 Amazon EC2 Auto Scaling 组用于对单个实例 IP 地址、私有 IP 地址、弹性 IP 地址和实例元数据没有要求的实例和容器工作负载。
-
启动模板用户数据可以用于实现自动化,从而让大多数工作负载可以自我修复。
-
-
将 Amazon EC2 实例的自动恢复功能用于需要单个实例 IP 地址、私有 IP 地址、弹性 IP 地址和实例元数据的工作负载。
-
自动恢复功能会在检测到实例故障时,向 SNS 主题发送恢复状态提醒。
-
-
在无法使用弹性伸缩或 EC2 恢复的情况下,使用 Amazon EC2 实例生命周期事件或 Amazon ECS 事件实现自动化的自我修复。
-
使用这些事件调用自动化,该自动化将根据您需要的流程逻辑来修复组件。
-
-
使用 AWS Elastic Disaster Recovery 保护仅限于单个位置的有状态工作负载。
-
资源
相关文档: