弹性的责任共担模式 - 可靠性支柱

弹性的责任共担模式

弹性是 AWS 和您共同承担的一项责任。您要了解作为弹性一部分的灾难恢复(DR)和可用性在这个共担模式下如何运行,这很重要。

AWS 责任 - 云的弹性

对于运行 AWS Cloud 中提供的所有服务的基础设施,AWS 负责维持其弹性。此基础设施包括运行 AWS Cloud 服务的硬件、软件、网络产品和设施。AWS 作出在商业上合理的努力,提供这些 AWS Cloud 服务,确保服务可用性符合或超过 AWS 服务等级协议(SLA)

AWS 全球云基础设施旨在使客户可以构建高弹性工作负载架构。每个 AWS 区域完全隔离,包含多个可用区,可用区是在物理上隔离的基础设施分区。可用区隔离会影响工作负载弹性的故障,防止它们影响区域内的其他可用区。但同时,AWS 区域中的所有可用区都通过完全冗余的专用城域光纤,通过高带宽、低延迟的网络互联,从而在可用区之间实现高吞吐量、低延迟的联网。加密可用区之间的所有流量。网络性能足够,可以完成可用区之间的同步复制。跨可用区对应用程序进行分区时,公司可以更好地隔离并防止受到断电、雷击、龙卷风、飓风等灾害的影响。

客户责任 - 云中的弹性

您的责任由您选择的 AWS Cloud 服务决定。这决定了您承担弹性责任时必须执行的配置工作量。例如,Amazon Elastic Compute Cloud(Amazon EC2)等服务要求客户执行所有必要的弹性配置和管理任务。部署 Amazon EC2 实例的客户负责在多个地点部署 Amazon EC2 实例(例如 AWS 可用区)、使用 Auto Scaling 等服务实施自我修复,以及对实例上安装的应用程序使用弹性工作负载架构最佳实践。对于托管服务(例如 Amazon S3 和 Amazon DynamoDB),AWS 运行基础设施层、操作系统和平台,而客户访问端点以存储和检索数据。您负责管理数据的弹性,包括备份、版本控制和复制策略。

在 AWS 区域中的多个可用区部署工作负载是高可用性策略的一部分,通过将问题隔离在一个可用区,使用其他可用区的冗余来继续提供请求,旨在保护工作负载。多可用区架构也是 DR 策略的一部分,旨在更好地隔离工作负载并免受诸如停电、雷击、龙卷风、地震等问题的影响。DR 策略也可以使用多个 AWS 区域。例如,在主动/被动配置中,如果活动区域不再提供请求,则工作负载的服务从其活动区域失效转移到其灾难恢复区域。

说明弹性共担模式的图表。

客户和 AWS 对云中和云本身的弹性所承担的责任。

您可以使用 AWS 服务来实现弹性目标。作为客户,您负责管理系统的以下方面,以便实现云中的弹性。有关具体到每项服务的更多详细信息,请参阅 AWS 文档

联网、限额和限制

  • 基础部分下面详细说明了责任共担模式这一方面的最佳实践。

  • 根据预期的负载请求增长情况(如果适用),为您的架构规划足够的空间来扩展和了解所包含服务的服务限额和限制。

  • 网络拓扑设计为高可用、冗余和可扩展。

变更管理和运营韧性

  • 变更管理包括如何在环境中引入和管理变更。实施变更需要为应用程序和基础设施编制运行手册并使运行手册保持最新,还要制定部署策略。

  • 监控工作负载资源的弹性策略考虑到所有组件,包括技术和业务指标、通知、自动化和分析。

  • 云中的工作负载必须适应需求的变化,根据使用量的减损或波动进行扩展。

可观测性和故障管理

工作负载架构

  • 工作负载架构包括如何根据业务领域来设计服务、应用 SOA 和分布式系统设计来防止故障,以及内置功能,如节流、重试、队列管理、超时和紧急杠杆。

  • 依赖已被证明有效的 AWS 解决方案Amazon Builders Library无服务器模式来遵循最佳实践并快速开始实施。

  • 通过持续改进将系统分解为分布式服务,以便更快地扩展和创新。使用 AWS 微服务指导和托管服务选项来简化和加快引入变化和创新。

关键基础设施的持续测试

  • 测试可靠性是指在功能、性能和混沌级别进行测试,以及采用事件分析和实际试用实践来构建专业知识,解决没有很好地理解的问题。

  • 对于全云部署和混合应用程序,如果知道在出现问题或组件故障时应用程序会有怎样的表现,您就可以快速和可靠地从故障中恢复。

  • 创建和记录可重复的试验,了解在事情并不像预期的那样发展时,您的系统会怎样表现。这些测试会证明您的整体弹性的有效性,并在面对真正的故障场景之前,为您的运营过程提供反馈循环。