控制面板和数据面板 - AWS故障隔离边界

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

控制面板和数据面板

AWS将大多数服务分为控制平面数据平面的概念。这些术语来自网络世界,特别是路由器。路由器的数据平面是其主要功能,它根据规则四处移动数据包。但是路由策略必须从某个地方创建和分发,而这正是控制平面的用武之地。

控制平面提供用于创建、读取/描述、更新、删除和列出 (CRUDL) 资源的管理 API。例如,以下都是控制平面操作:启动新的亚马逊弹性计算云 (Amazon EC2) 实例、创建亚马逊简单存储服务 (Amazon S3) 存储桶以及描述亚马逊简单队列服务 (Amazon SQS) 队列。当您启动 EC2 实例时,控制平面必须执行多项任务,例如查找具有容量的物理主机、分配网络接口、准备 A mazon Elastic Block Store (Amazon EBS) 卷、生成 IAM 证书、添加安全组规则等。控制平面往往是复杂的编排和聚合系统。

数据平面是提供服务主要功能的平面。例如,以下是所涉及的每项服务的数据平面的所有部分:正在运行的 EC2 实例本身、读取和写入 EBS 卷、获取和放入 S3 存储桶中的对象,以及 Route 53 应答 DNS 查询和执行运行状况检查。

与控制平面相比,数据平面故意不那么复杂,活动部件更少,控制平面通常实现由工作流程、业务逻辑和数据库组成的复杂系统。这使得从统计学上讲,与控制平面相比,数据平面中发生故障事件的可能性较小。虽然数据平面和控制平面都为服务的整体运营和成功做出了贡献,但AWS认为它们是截然不同的组成部分。这种分离具有性能和可用性两方面的好处。