

# 了解多租户分配的工作原理
<a name="distribution-config-options"></a>

可以使用可在多个分配租户之间重用的设置来创建 CloudFront 多租户分配。使用多租户分配，可以让 CloudFront 根据内容源类型为您配置分配设置。有关预配置设置的更多详细信息，请参阅 [预配置的分配设置参考](template-preconfigured-origin-settings.md)。

使用多租户分配而不是标准分配的优势包括：
+ 减轻运营负担。
+ 面向 Web 管理员和软件提供商的可重用配置，用于管理向终端用户交付内容的多个 Web 应用程序的 CloudFront 分配。
+ 与其它 Amazon Web Services 服务的增强集成，可大规模提供自动证书管理、统一的安全控制和轻松的配置控制。
+ 在实施中保持一致的资源模式。定义必须共享的设置，然后为要覆盖的设置指定自定义项。
+ 可自定义的源和安全设置，以满足分配租户级别的特定需求。
+ 将分配租户组织成不同的层级。例如，如果一些分配租户需要源护盾，而一些分配租户不需要，您可以将分配租户分组为不同的多租户分配。
+ 在多个域间共享通用 DNS 配置。

与标准分配不同，无法直接访问多租户分配，因为它没有 CloudFront 路由端点。因此，它必须与连接组和一个或多个分配租户结合使用。尽管标准分配具有其自己的 CloudFront 端点，并且可以由终端用户直接访问，但它们不能用作其它分配的模板。

有关多租户分配配额的信息，请参阅[有关多租户分配的配额](cloudfront-limits.md#limits-template)。

**Topics**
+ [工作原理](#how-template-distribution-works)
+ [术语](#template-distributions-concepts)
+ [不支持的功能](#unsupported-saas)
+ [分配租户自定义](tenant-customization.md)
+ [为 CloudFront 分配租户申请证书](managed-cloudfront-certificates.md)
+ [创建自定义连接组（可选）](custom-connection-group.md)
+ [迁移到多租户分配](template-migrate-distribution.md)

## 工作原理
<a name="how-template-distribution-works"></a>

在*标准分配*中，分配包含您要为网站或应用程序启用的所有设置，例如源配置、缓存行为和安全设置。如果您想创建一个单独的网站并使用许多相同的设置，则每次都需要创建新的分配。

CloudFront 多租户分配的不同之处在于，您可以创建一个初始多租户分配。对于每个新网站，您都要创建一个分配租户，该租户会自动继承其源分配的已定义值。然后，可以为分配租户自定义特定的设置。

**概述**

1. 首先，您需要创建一个多租户分配。CloudFront 根据内容源类型为您配置分配设置。可以为除 VPC 源以外的所有源自定义设置。VPC 源设置是在 VPC 源资源本身上自定义的。有关您可以自定义的多租户分配设置的更多信息，请参阅 [预配置的分配设置参考](template-preconfigured-origin-settings.md)。
   + 分配租户可以继承您用于多租户分配的 TLS 证书。多租户分配本身是不可路由的，因此它不会有与之关联的域名。

1. 默认情况下，CloudFront 会为您创建一个连接组。连接组控制着查看器对内容的请求如何连接到 CloudFront。您可以在连接组中自定义一些路由设置。

   您可以通过手动创建自己的连接组来对此进行更改。有关更多信息，请参阅 [创建自定义连接组（可选）](custom-connection-group.md)。

1. 然后，创建一个或多个分配租户。分配租户是查看器访问您的内容的“前门”。每个分配租户都引用多租户分配，并自动与 CloudFront 为您创建的连接组关联。分配租户支持单独的域或子域。

1. 然后，您可以自定义一些分配租户设置，例如虚拟域和源路径。有关更多信息，请参阅 [分配租户自定义](tenant-customization.md)。

1. 最后，您必须更新 DNS 主机中的 DNS 记录，才能将流量路由到分配租户。为此，请从连接组中获取 CloudFront 端点值，然后创建指向 CloudFront 端点的 CNAME 记录。

**Example 示例**  
下图演示了多租户分配、分配租户和连接组如何协同工作，来为多个域的查看器提供内容。  

1. 多租户分配定义了每个分配租户的继承设置。可以使用多租户分配作为模板。

1. 从多租户分配中创建的每个分配租户都有其自己的域。

1. 分配租户会自动添加到当您创建多租户分配时 CloudFront 为您创建的连接组中。连接组控制着查看器请求如何连接到 CloudFront 网络。

![\[多租户分配如何与分配租户结合使用。\]](http://docs.amazonaws.cn/AmazonCloudFront/latest/DeveloperGuide/images/template_distribution.png)


有关创建多租户分配的详细说明，请参阅[在控制台中创建 CloudFront 分配](distribution-web-creating-console.md#create-console-distribution)。

## 术语
<a name="template-distributions-concepts"></a>

以下概念描述了多租户分配的组件：

**多租户分配**  
一种蓝图、多租户分配，它为任何分配租户指定所有共享配置设置，包括缓存行为、安全保护和源。多租户分配无法直接提供流量。它们必须与连接组和分配租户结合使用。

**标准分配**  
不具有多租户功能的分配。这些分配最适合支持单个网站或应用程序。

**分配租户**  
分配租户继承多租户分配配置。某些配置设置可以在分配租户级别进行自定义。分配租户必须拥有有效的 TLS 证书，只要该证书涵盖分配租户域或子域，就可以从多租户分配中继承该证书。  
分配租户必须与连接组关联。当您创建分配租户时，CloudFront 会为您创建一个连接组，并自动将所有分配租户分配给该连接组。

**多租户**  
可以使用多租户分配跨多个域提供内容，同时共享配置和基础设施。这种方法可让不同的域（称为租户）共享多租户分配中的通用设置，同时保持自己的自定义设置。

**连接组**  
提供向查看器提供内容的 CloudFront 路由端点。您必须将每个分配租户与一个连接组关联，才能为您针对分配租户域或子域创建的 CNAME 记录获取相应的 CloudFront 路由端点。连接组可以在多个分配租户间共享。连接组管理分配租户的路由设置，例如 IPv6 和任播 IP 列表设置。

**参数**  
占位符值（例如源路径和域名）的键值对列表。您可以在多租户分配中定义参数，并在分配租户级别为这些参数提供值。您可以选择是否需要为分配租户输入参数值。  
如果您没有为分配租户中的某个可选参数提供值，则多租户分配中的默认值将用作该值。

**CloudFront 路由端点**  
连接组的规范 DNS，例如 `d123.cloudfront.net`。在分配租户域或子域的 CNAME 记录中使用。

**自定义内容**  
您可以自定义分配租户，以便它们使用与多租户分配*不同*的设置。对于每个分配租户，您可以指定不同的 Amazon WAF Web 访问控制列表（ACL）、TLS 证书和地理限制。

## 不支持的功能
<a name="unsupported-saas"></a>

以下功能不能用于多租户分配。如果您想使用与标准分配相同的设置来创建新的多租户分配，请注意某些设置不可用。

**备注**  
目前，Amazon Firewall Manager 策略仅适用于标准分配。Firewall Manager 将在未来的版本中增加对多租户分配的支持。
与标准分配不同，您可以在*分配租户*级别指定域名（别名）。有关更多信息，请参阅[为 CloudFront 分配租户申请证书](managed-cloudfront-certificates.md)和 [CreateDistributionTenant](https://docs.amazonaws.cn/cloudfront/latest/APIReference/API_CreateDistributionTenant.html) API 操作。
+ [持续部署](continuous-deployment.md)
+ [来源访问身份（OAI）](private-content-restricting-access-to-s3.md#private-content-restricting-access-to-s3-oai)：改用[来源访问控制（OAC）](private-content-restricting-access-to-origin.md)。
+ [专用 IP 自定义 SSL 支持](DownloadDistValuesGeneral.md#DownloadDistValuesClientsSupported)：仅支持 `sni-only` 方法。
+ [Amazon WAF 经典（V1）Web ACL](DownloadDistValuesGeneral.md#DownloadDistValuesWAFWebACL)：仅支持 Amazon WAF V2 Web ACL。
+ [标准日志记录（旧版）](standard-logging-legacy-s3.md)
+ [最小 TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMinTTL)
+ [默认 TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesDefaultTTL)
+ [最大 TTL](DownloadDistValuesCacheBehavior.md#DownloadDistValuesMaxTTL)
+ [ForwardedValues](https://docs.amazonaws.cn/cloudfront/latest/APIReference/API_ForwardedValues.html)
+ [PriceClass](https://docs.amazonaws.cn/cloudfront/latest/APIReference/API_DistributionConfig.html)
+ [可信签署人](DownloadDistValuesCacheBehavior.md#DownloadDistValuesTrustedSigners)
+ [Smooth Streaming](DownloadDistValuesCacheBehavior.md#DownloadDistValuesSmoothStreaming)
+ [Amazon Identity and Access Management（IAM）服务器证书](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_server-certs.html)
+ [专用 IP 地址](cnames-https-dedicated-ip-or-sni.md#cnames-https-dedicated-ip)
+ [最低协议版本 SSLv3](DownloadDistValuesGeneral.md#DownloadDistValues-security-policy)

无法在多租户分配或分配租户中配置以下设置。相反，可以在连接组中设置所需的值。连接组中关联的所有分配租户都将使用这些设置。有关更多信息，请参阅 [创建自定义连接组（可选）](custom-connection-group.md)。
+ [启用 IPv6（查看器请求）](DownloadDistValuesGeneral.md#DownloadDistValuesEnableIPv6)
+ [任播静态 IP 列表](request-static-ips.md)