亚马逊AWS官方博客

开发软件定义车辆平台 —— 大陆汽车CAEdge

本文由 Continental Automotive 首席软件架构专家 Martin Stamm 、AWS Professional Services 高级顾问 Andreas Falkenberg、AWS Professional Services 参与经理 Daniel Krumpholz 、AWS高级参与经理David Crescence和AWS 专业服务的首席顾问Junjie Tang共同撰写, 由参与中国区部署的AWS专业顾问团队Ryan Yang翻译,请参考原文链接

汽车制造商正在开启数字化转型之旅,以变得更加敏捷、高效和创新。作为这一转型的一部分,大陆集团创建了大陆集团汽车边缘 ( CAEdge )——一个将车辆连接到云端的模块化多租户硬件和软件框架。 Continental 与 Amazon Web Services (AWS) 合作开发和扩展此框架。

在本次 AWS re:Invent会议上,大陆集团和 AWS 展示了使用CAEdge构建的新型变革性车辆架构和软件。这些将为未来的汽车制造商、原始设备制造商 (OEM) 和合作伙伴提供用于软件密集型汽车架构的多租户开发环境。这些可用于实施软件、传感器和大数据解决方案,只需以前所需的开发时间的一小部分。因此,可以更有效地开发和测试车辆软件,然后安全地直接部署到车辆上。该框架已经在汽车制造商的系列开发中进行测试。

解决汽车行业核心痛点

大陆集团、原始设备制造商和其他主要一级公司需要在不了解产能或扩展需求的情况下快速适应新技术要求,同时保持市场领先地位。开发人员面临着一些挑战,特别是处理大量数据。例如,用于 AV/ADAS 的单个测试车辆每天生成 20 – 100 TB 的数据。这些数据集的处理和分布式站点的可用性时间可能会导致开发周期的重大延迟。由于模拟和验证中的大量测试用例,开发人员也会遇到延迟。在本地环境中,这会带来巨大的成本和扩展挑战,以提供所需的容量。

向以软件为中心的组织转型所需的步伐正在创造新的挑战和机遇,例如:

  • 当前的电子架构分散、昂贵且开发复杂,因此难以维护和扩展。
  • 车辆和云融合需要新的软件 (SW) 定义的架构、集成和运营能力。
  • 数字生命周期管理支持新的商业模式、进入市场的战略和合作伙伴关系。

除了庞大的数据集和分布式工作设置的分布之外,还需要尖端的安全技术。传输/静止时的加密、数据驻留法和安全的开发人员访问是常见的安全挑战,可以使用CAEdge技术解决。

在这篇博文中,我们描述了如何构建一个安全的多租户 AWS 环境,为CAEdge奠定基础。我们将讨论 AWS 如何帮助 Continental 构建基础基础设施,以便通过高度自动化的流程快速加入 OEM、合作伙伴和供应商。开发活动可以在几小时内开始,而不是几天或几周;为软件密集型车辆架构提供自举开发环境。这一切都是在满足最严格的安全性和合规性要求的同时。

CAEdge 框架概述

下图概述了CAEdge框架:

图 1 – CAEdge框架的架构图

该框架基于以下模块化构建块:

  • 可扩展计算平台– 具有汽车软件堆栈并连接到 AWS 云的高性能嵌入式计算机。
  • – 面向开发人员和最终用户的云服务。
  • DevOps Workbench – 涵盖整个软件生命周期的软件开发和维护工具链。

该框架的构建块由清晰的 API 操作定义,并且可以轻松集成到各种用例中,例如不同的中间件或 CI/CD 管道。

CAEdge 多租户框架概述

大陆集团汽车软件开发框架的核心架构和术语包括:

  • CAEdge 框架作为一个独立的 AWS 组织– Continental 的CAEdge框架在一个专用的AWS 组织中运行。此 AWS 组织中仅托管与CAEdge相关的工作负载。这确保了与CAEdge上下文之外的任何其他工作负载的分离。 CAEdge框架为其用户提供多种中央安全、访问管理和编排服务。
  • 独立租户——该框架完全支持租户。租户是代表 OEM、OEM 分部、合作伙伴或供应商的独立实体。该系统的一个关键特性是确保从一个租户到另一个租户完全隔离。我们使用深度防御安全方法来确保租户分离。
  • 租户拥有的资源和服务——每个租户都有一组专用的资源和服务,可供所有租户用户和服务使用和使用。租户拥有的资源和服务包括但不限于:
    • 专用的、特定于租户的数据湖,
    • 租户特定的日志记录、监控和操作,
    • 特定于租户的 UI。
  • 项目——每个租户可以托管任意数量的项目,并分配有 1-N 个用户。项目是一个高级构造,其目标是创建独特的产品或服务,例如新的“门锁”系统软件。项目一词的使用范围很广。任何事情都可以归类为项目。
  • 工作台——一个项目由 1-N 个定义明确的工作台组成。工作台代表特定“工作台类型”的完全配置的开发环境。例如,“模拟”类型的工作台允许基于驱动数据配置和执行模拟作业。每个工作台都是通过定义明确的 AWS 账户(称为 AWS 账户集)实现的。
    • AWS 账户集始终至少包含一个工具链账户、开发账户、QA 账户和产品账户。所有 AWS 账户都以 IAM 资源、安全服务和潜在的工作台特定蓝图为基准,因此最终用户可以快速开始开发。

下图说明了高级架构:

图 2 – 高级架构图

CAEdge 框架使用使用 AWS Lake Formation 和 Glue 的数据网格架构来创建租户级数据湖。自动驾驶数据湖参考架构用于设计仿真工作台。

实施细节

定义了核心架构和术语后,让我们看看上图中描述的架构的实现细节。

隔离租户——实现高度隔离

为了实现多租户环境,我们采用了多层安全加固方法:

  • 租户分离:从 AWS 账户级别开始,我们尽可能使用单独的 AWS 账户。一个 AWS 账户永远不能分配给多个租户。 AWS 账户的功能范围尽可能小。这增加了总 AWS 账户的数量,但在发生任何违规或事件时会显着降低爆炸半径。举个例子:
    • 工作台的每个开发、质量保证和生产阶段都是其自己的 AWS 账户。没有任何 AWS 账户可以同时组合多个阶段。
    • 每个CAEdge租户拥有的数据湖都由多个 AWS 账户组成。随着时间的推移,数据湖也需要更新。为了允许对数据湖基础设施进行无副作用且经过良好测试的更新,每个租户都带有一个 Dev、QA 和 Prod 数据湖。
  • 通过明确定义的组织单元 (OU) 结构和服务控制策略 (SCP) 进行租户分离:每个租户都被分配一个具有多个子 OU 的专用 OU 结构。这允许在 SCP 级别上进行特定于租户的安全强化以及潜在的自定义安全强化,以防专用租户具有特定的安全要求。 SCP 的设计方式允许单个 AWS 账户用户拥有最大程度的自由;同时保护CAEdge的完整性,同时根据特定要求保持合规性和安全性。
  • 通过 AWS 账户元数据层和自动 IAM 分配进行租户分离: CAEdge框架使用中央 Amazon DynamoDB 数据库,将 AWS 账户映射到租户,并将任何其他元数据存储在 AWS 账户的上下文中。这包括账户所有者、账户类型和成本相关信息。有了这个数据库,我们可以根据特定的租户、项目和工作台查询 AWS 账户。此外,这构成了强制任何租户、项目和工作台边界的全自动权限和 AWS 账户访问管理功能的基础。
  • 通过 AWS 安全服务进行租户分离安全控制:在标准 AWS 安全服务(例如 AWS GuardDuty 、AWS Config、AWS Inspector 和 AWS SecurityHub )之上,我们将IAM 访问分析器与我们的 DynamoDB 帐户元数据存储结合使用来检测创建跨 AWS 组织或可能具有跨租户影响的任何跨账户权限。

租户拥有的资源和服务、项目和工作台的自动创建和管理

CAEdge遵循“Everything-as-an-API 方法”,被设计为一个完全开放的互联网平台。所有关键功能都通过安全的公共 API 公开。这包括创建项目、工作台和 AWS 账户,包括以自助方式为授权用户管理访问权限,以及影响后续长期管理的任何更新。这只能通过非常高度的自动化来实现。

我们构建了以下服务来实现这种高度自动化:

  • AWS Control Tower – 用于创建账户和分配 OU 的 AWS 托管服务。
  • AWS 部署框架(AWS ADF) – 一个广泛而灵活的框架,用于跨 AWS 组织内的多个 AWS 账户和区域管理和部署资源。我们使用 ADF 为所有帐户设置所需资源的基线。这包括所有安全服务、默认 IAM 角色、网络相关资源(例如 VPC 和 DNS)以及特定于 AWS 账户类型的任何其他资源。
  • AWS Single Sign-On (AWS SSO) – 用于控制对 AWS 账户的访问的中央 IAM 解决方案。 AWS SSO 分配是完全自动化的,基于我们定义的访问模式,使用我们的自定义 Dispatch 应用程序和 AWS SSO Enterprise 解决方案的扩展版本。
  • AWS DynamoDB – 一种完全托管的 NoSQL 数据库服务,用于存储租户、项目和 AWS 账户数据。包括与所有权、成本管理、访问管理相关的信息。
  • Dispatch CAEdge Web 应用程序 – 一个完全无服务器的 Web 应用程序,通过 API 调用向最终用户公开功能。它处理身份验证、授权,并以AWS Lambda函数的形式提供业务逻辑,以协调所有上述服务。

下图提供了平台级别自动化机制的高级概述:

图 3 – 自动化机制的高级概述

有了这个解决方案,大陆集团使 OEM、供应商和其他合作伙伴能够在几分钟内在租户环境中启动开发人员工作台;从而使用自助服务方法将设置时间从几周缩短到几分钟。

结论

在这篇博文中,我们展示了大陆集团如何构建一个安全的多租户平台,作为软件密集型、车辆相关工作负载的可扩展基础。对于在转型为以软件为中心的组织时遇到挑战的其他组织,此解决方案简化了入职流程,因此开发人员可以在数小时内而不是数月内开始构建。

本篇作者

Ryan Yang

AWS 中国专业服务团队云基础架构师,在加入 AWS 之前,曾致力供职于 SAP和生态系统合作伙伴,并有15年以上的SAP大型项目的实施,升级和迁移经验。 现任职于 AWS 中国专业服务团队,主要为客户提供云上系统架构设计,SAP 上云迁移等咨询服务。