租户和租户项目

本指南概述了 App Lifecycle Manager 租户,以及如何使用它们来整理 SaaS 产品。

租户和租户项目

App Lifecycle Manager 租户资源 代表 SaaS 产品的逻辑客户、客户端或 租户。它主要充当一种组织工具,可帮助您将属于特定租户的单元分组。

如果您的 SaaS 产品有多个租户,我们建议您将每个租户的资源预配到单独的项目中。 Google Cloud 如需将租户资源划分为专用 Google Cloud 项目,您需要创建至少两个项目:

  • 生产者项目 :用于配置 SaaS 产品的项目。 您的 SaaS 应用只需要 一个生产者项目
  • 租户项目:包含 特定租户的 App Lifecycle Manager 资源的项目。我们建议您为每个租户创建一个项目。

为每个租户使用单独的项目,可让您在租户项目中设置配置(例如 IAM 政策或网络对等互连),并帮助您跟踪每个租户的费用和管理资源。

租户项目中的执行服务账号

执行服务账号 需要在租户项目中拥有权限,才能创建和管理 Terraform 配置中定义的资源。我们建议您为每个租户设置单独的执行账号。

如需详细了解执行服务账号及其可能需要的权限,请参阅执行服务账号

租户项目中的 API

当 App Lifecycle Manager(通过 Infrastructure Manager 和执行服务账号)尝试在租户项目中创建资源(例如虚拟机)时,必须在 该租户项目 中启用必要的 API。否则,预配将失败。

您必须在租户项目中为 Terraform 配置使用的 所有 资源类型启用 API。

使用临时单元种类自动执行租户设置

为每个新租户手动创建项目、启用 API 和配置 IAM 既耗时又容易出错。您可以使用 App Lifecycle Manager 自动执行租户设置流程,方法是创建包含 Terraform 配置的 临时单元种类 ,该配置可以:

  • 为租户创建一个新 Google Cloud 项目。
  • 在该新项目中启用必要的 API。
  • 为预配的租户创建一个专用执行服务帐号(在生产者项目或租户项目中)。
  • 租户项目中的 服务账号授予必要的 IAM 权限。
  • 设置网络、日志记录或其他基准基础架构。

您的临时单元种类应:

  • tenant_project_idtenant_project_number 和它创建的 actuation_sa 电子邮件定义 Terraform output 变量。
  • tenant_id 作为 input 变量接收。

将应用单元种类配置为依赖于临时单元种类,并将输出变量映射到应用单元的相应输入变量。

配置单元种类依赖项后,App Lifecycle Manager 会先验证底层租户基础架构单元是否已预配(创建租户项目并设置其权限),然后再预配包含应用的单元。

如需详细了解如何实现此模式,请参阅管理单元之间的依赖关系使用变量

后续步骤