

# 创建分配
<a name="distribution-web-creating-console"></a>

本主题介绍如何使用 CloudFront 控制台创建分配。<a name="create-download-distribution-task-list"></a>

**概述**

1. 根据您的源服务器创建一个或多个 Amazon S3 存储桶或配置 HTTP 服务器。*源*是您存储内容的原始版本的位置。当 CloudFront 获得您的文件请求时，它将转到源，以获取其在边缘站点分配的文件。您可使用 Amazon S3 存储桶和 HTTP 服务器的任意组合作为您的源服务器。
   + 如果您使用 Amazon S3，则存储桶的名称必须全部小写，并且不能包含空格。
   + 如果您使用 Amazon EC2 服务器或其他自定义源，请查看[使用 Amazon EC2（或其他自定义源）](DownloadDistS3AndCustomOrigins.md#concept_CustomOrigin)。
   + 有关您可以为分配创建的源的当前最大数量或要请求提高限额，请参阅[分配的一般配额](cloudfront-limits.md#limits-web-distributions)。

1. 将内容上传到源服务器。您可以使对象公开可读，也可以使用 CloudFront 签名的 URL 来限制对内容的访问。
**重要**  
您负责确保源服务器的安全。您必须确保 CloudFront 有权限访问服务器，并确保安全设置可保护您的内容。

1. 创建 CloudFront 分配：
   + 有关在 CloudFront 控制台中创建分配的详细步骤，请参阅[在控制台中创建 CloudFront 分配](#create-console-distribution)。
   + 有关使用 CloudFront API 创建分配的信息，请参阅《Amazon CloudFront API 参考》**中的 [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html)。

1. （可选）如果您使用 CloudFront 控制台创建分配，则可为分配创建更多缓存行为或源。有关行为和源的更多信息，请参阅[更新多租户分配](HowToUpdateDistribution.md#HowToUpdateDistributionProcedure)。

1. 测试您的分配。有关测试的更多信息，请参阅 [测试分配](distribution-web-testing.md)。

1. 开发您的网站或应用程序，以使用 CloudFront 在您在第 3 步创建分配后返回的域名访问您的内容。例如，如果 CloudFront 返回 d111111abcdef8.cloudfront.net 作为分配的域名，则 Amazon S3 存储桶中或 HTTP 服务器上根目录中的文件 `image.jpg` 的 URL 为 `https://d111111abcdef8.cloudfront.net/image.jpg`。

   如果您在创建分配时指定了一个或多个备用域名 (CNAME)，则可使用您自己的域名。在这种情况下，`image.jpg` 的 URL 可能是 `https://www.example.com/image.jpg`。

   请注意以下几点：
   + 如果您想使用签署的 URL 来限制对内容的访问，请参阅 [使用签名 URL 和签名 Cookie 提供私有内容](PrivateContent.md)。
   + 如果您想提供压缩的内容，请参阅 [提供压缩文件](ServingCompressedFiles.md)。
   + 有关 CloudFront 请求和 Amazon S3 的响应行为以及自定义源的信息，请参阅[请求和响应行为](RequestAndResponseBehavior.md)。

**Topics**
+ [在控制台中创建 CloudFront 分配](#create-console-distribution)
+ [CloudFront 在控制台中显示的值](#distribution-web-values-returned)
+ [其他链接](#distribution-helpful-links)
+ [将域添加到 CloudFront 标准分配中](add-domain-existing-distribution.md)

## 在控制台中创建 CloudFront 分配
<a name="create-console-distribution"></a>

当您创建分配时，CloudFront 会根据内容源类型为您配置分配设置。有关预配置设置的更多详细信息，请参阅 [预配置的分配设置参考](template-preconfigured-origin-settings.md)。还可以使用可在多个分配租户之间重用的设置来创建多租户分配。有关更多信息，请参阅 [了解多租户分配的工作原理](distribution-config-options.md)。或者，您可以手动配置您自己的分配设置。

------
#### [ Multi-tenant ]<a name="CreatingDownloadDistributionsConsoleProcedure"></a>

**创建多租户分配**

1. 登录 AWS 管理控制台，并通过以下网址打开 CloudFront 控制台：[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在导航窗格中，选择**分配**，然后选择**创建分配**。

1. 依次选择**多租户架构**和**下一步**。

1. 输入多租户分配的**分配名称**。该名称将作为 `Name` 键的值出现。您以后可以更改此值。最多可以为多租户分配添加 50 个标签。有关更多信息，请参阅 [标记分配](tagging.md)。

1. （可选）对于**通配符证书**，请选择将涵盖根域下所有子域的 AWS Certificate Manager（ACM）证书，例如 *\$1.example.com*。该证书必须位于美国东部（弗吉尼亚州北部）区域中。

1. 选择**下一步**。

1. 在**指定源**页面上，选择 CloudFront 将从中获取内容的源类型。CloudFront 将为多租户分配使用该源类型的建议设置。有关建议设置的更多信息，请参阅 [预配置的分配设置参考](template-preconfigured-origin-settings.md)。

1. 对于**源**，在您选择的源类型下，选择或输入要使用的源。

1. 对于**源路径**，输入正斜杠 (`/`) 字符，然后输入源路径。

1. （可选）要添加参数，请为源域名或源路径选择**插入参数**。最多可以为每个字段输入两个参数。

   1. 选择**创建新参数**。

   1. 在**创建新参数**对话框上，对于**参数名称**，输入参数的唯一名称以及（可选）描述。

   1. 对于**必需参数**，选中该复选框，以使此参数值在分配租户级别成为必需的。如果该值不是必需的，请输入分配租户将继承的**默认值**。

   1. 选择**创建参数**。此参数出现在相应的字段中。

1. 对于**选项**，请选择以下选项之一：
   + **使用建议的源设置**：对您选择的源类型使用默认的建议缓存和源设置。
   + **自定义源设置**：自定义缓存和源设置。如果您选择此选项，请指定将显示的您自己的值。

1. 选择**下一步**。

1. 在**启用安全保护**页面上，选择是否启用 AWS WAF 安全保护。可以稍后为特定的分配租户自定义 Web ACL。有关更多信息，请参阅 [为新分配启用 AWS WAF](WAF-one-click.md#enable-waf-new-distribution)。

1. 依次选择**下一步**和**创建分配**。

1. 在**分配**页面上，多租户分配将显示在资源列表中。可以选择**所有分配**下拉列表，以便按标准分配或多租户分配进行筛选。也可以选择**类型**列，以便按标准分配或多租户分配进行筛选。

默认情况下，CloudFront 会为您创建一个连接组。连接组控制着查看器对内容的请求如何连接到 CloudFront。您可以在连接组中自定义一些路由设置。有关更多信息，请参阅 [了解多租户分配的工作原理](distribution-config-options.md)。

您可以使用多租户分配作为模板来创建其它分配租户。

**创建分配租户**

1. 登录 AWS 管理控制台，并通过以下网址打开 CloudFront 控制台：[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在导航窗格中，执行下列操作之一：
   + 选择**分配**，选择多租户分配，然后选择**创建租户**。
   + 选择**分配租户**，然后选择**创建租户**。

1. 对于**分配租户名称**，输入名称。该名称在您的 AWS 账户中必须是唯一的，并且在创建后不能更改。

1. 对于**模板分配**，请从列表中选择多租户分配 ID。

1. 对于**管理标签**，最多可以为分配租户添加 50 个键值对。有关更多信息，请参阅[标记分配](tagging.md)。****

1. 选择**下一步**。

1. 在**添加域**页面上，对于**证书**，选择是否要为分配租户使用**自定义 TLS 证书**。该证书会验证您是否获得授权可使用该域名。该证书必须存在于美国东部（弗吉尼亚州北部）区域中。

1. 对于**域**，请输入域名。
**注意**  
如果您输入的域名不在证书的涵盖范围内，您需要验证您拥有该域。您现在仍然可以创建分配租户，稍后验证域所有权。有关更多信息，请参阅 [为 CloudFront 分配租户申请证书](managed-cloudfront-certificates.md)。

1. 选择**下一步**。

1. 在**定义参数**页面上，将显示您在多租户分配中指定的参数。对于必需的参数，请在参数名称旁边输入一个值并保存所做的更改。

1. 要添加其它参数，请选择**添加参数**，然后输入名称和值。

1. 选择**下一步**。

1. （可选）对于**安全性自定义**，如果您选择**覆盖分配设置**，请选择适合用例的选项。

1. （可选）对于**地理限制自定义**，如果您选择**覆盖分配设置**，请为分配租户选择相应的**限制类型**和**国家/地区**。有关更多信息，请参阅 [限制您的内容的地理分配](georestrictions.md)。

1. 选择**下一步**。

1. 选择**创建分配租户**。

您可以在**分配租户**页面上找到所有分配租户。可以按以下条件进行筛选：

**关联**
+ 分配 ID
+ 证书 ID
+ 连接组 ID
+ Web ACL ID

**属性**
+ 名称
+ 域

可以编辑分配租户以自定义特定设置。有关更多信息，请参阅 [分配租户自定义](tenant-customization.md)。

------
#### [ Standard ]

**创建标准分配**

1. 登录 AWS 管理控制台，并通过以下网址打开 CloudFront 控制台：[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在导航窗格中，选择**分配**，然后选择**创建分配**。

1. 输入标准分配的**分配名称**。该名称将显示为 `Name` 键的值（作为标签）。您以后可以更改此值。最多可以为标准分配添加 50 个标签。有关更多信息，请参阅 [标记分配](tagging.md)。

1. 选择**单个网站或应用程序**，然后选择**下一步**。

1. （可选）对于**域设置**，请输入您的 AWS 账户中已经向 Route 53 注册的域，或者注册一个新域。完成设置步骤。
   + 如果域使用 Route 53 以外的 DNS 提供商，您仍可以添加域，但需要在创建分配后添加它。暂时跳过域设置，以便继续创建分配。您必须稍后手动配置域和 TLS 证书。有关更多信息，请参阅 [将域添加到 CloudFront 标准分配中](add-domain-existing-distribution.md)。

1. 选择**下一步**。

1. 在**指定源**页面上，选择 CloudFront 将从中获取内容的源类型。CloudFront 将为分配使用该源类型的建议设置。有关建议设置的更多信息，请参阅 [预配置的分配设置参考](template-preconfigured-origin-settings.md)。

1. 对于**源**，选择或输入源。

1. 对于**设置**，选择下列选项之一：
   + **使用建议的源设置**：对您选择的源类型使用默认的建议缓存和源设置。
   + **自定义源设置**：自定义缓存和源设置。如果您选择此选项，请指定您自己的值。

1. 选择**下一步**。

1. 在**启用安全保护**页面上，选择是否启用 AWS WAF 安全保护。

1. 选择**下一步**。

1. （可选）如果您对域使用 Route 53，您将看到 **TLS 证书**页面。如果 CloudFront 在 `us-east-1` AWS 区域的您的 AWS 账户中找不到域的现有 AWS Certificate Manager（ACM）证书，您可以选择自动创建证书或手动创建证书。创建证书后，选择**下一步**。

1. 查看分配详细信息并选择**创建分配**。

1. 在 CloudFront 创建分配后，分配的**状态**列的值将从**正在部署**更改为部署分配的日期和时间。

   CloudFront 指派给分配的域名将出现在分配列表中。（它同时也出现在选定分发的**常规**选项卡上。） 
**提示**  
您可以按照[通过添加备用域名（CNAME）使用自定义 URL](CNAMEs.md)中的步骤使用备用域名，而不是 CloudFront 分配给您的名称

1. 当您的分配已经部署时，请确认您可以使用新的 CloudFront URL（d111111abcdef8.cloudfront.net）或 CNAME 访问您的内容。有关更多信息，请参阅 [测试分配](distribution-web-testing.md)。

1. 当您准备好向分配发送流量时，请务必更新 DNS 记录以指向 CloudFront。有关更多信息，请参阅 [将域指向 CloudFront（标准分配）](add-domain-existing-distribution.md#point-domains-standard)。

------

## CloudFront 在控制台中显示的值
<a name="distribution-web-values-returned"></a>

当您创建新分配或更新现有分配时，CloudFront 将在 CloudFront 控制台中显示以下信息。

**注意**  
有效的可信签署人，即具有有效 CloudFront 密钥对并可用于创建有效签名 URL 的 AWS 账户，目前在 CloudFront 控制台中不可见。

### 分配 ID
<a name="DownloadDistReturnID"></a>

当您使用 CloudFront API 对分配执行操作时，可使用分配 ID 指定要使用的分配，例如 `EDFDVBD6EXAMPLE`。您不能更改分配的分配 ID。

### 部署和状态
<a name="DownloadDistReturnStatus"></a>

部署分配时，您会在**上次修改时间**列下看到**正在部署**状态。等待分配完成部署，并确保**状态**列显示**已启用**。有关更多信息，请参阅 [分配状态](DownloadDistValuesGeneral.md#DownloadDistValuesEnabled)。

### 上次修改时间
<a name="DownloadDistReturnLastModDate"></a>

分配上一次修改的日期和时间，使用 ISO 8601 格式，例如，2012-05-19T19:37:58Z。有关更多信息，请参阅 [https://www.w3.org/TR/NOTE-datetime](https://www.w3.org/TR/NOTE-datetime)。

### 域名
<a name="DownloadDistReturnDomainName"></a>

在对象的链接中使用分配的域名。例如，如果分配的域名为 `d111111abcdef8.cloudfront.net`，`/images/image.jpg` 的链接将为 `https://d111111abcdef8.cloudfront.net/images/image.jpg`。您不能更改分配的 CloudFront 域名。有关对象链接的 CloudFront URL 的更多信息，请参阅[在 CloudFront 中自定义文件的 URL 格式](LinkFormat.md)。

如果您指定一个或多个备用域名 (CNAME)，则可使用自己的域名，以链接到您的对象，而不是使用 CloudFront 域名。有关别名记录 (CNAME) 的更多信息，请参阅 [备用域名 (CNAME)](DownloadDistValuesGeneral.md#DownloadDistValuesCNAME)。

**注意**  
CloudFront 域名是唯一的。分配的域名从来不用于先前的分配，并且在将来也绝不会重新用于其他的分配。

## 其他链接
<a name="distribution-helpful-links"></a>

有关创建分配的更多信息，请参阅以下链接。
+ 要了解如何创建使用 Amazon Simple Storage Service（Amazon S3）存储桶源和源访问控制（OAC）的分配，请参阅[开始使用 CloudFront 标准分配](GettingStarted.SimpleDistribution.md)。
+ 有关使用 CloudFront API 创建分配的信息，请参阅《Amazon CloudFront API 参考》**中的 [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html)。
+ 有关更新分配（例如，向标准分配添加缓存行为，或自定义分配租户）的信息，请参阅[更新分配](HowToUpdateDistribution.md)。
+ 要查看您可以为每个 AWS 账户创建的当前最大源数量或要请求提高配额（以前称为限制），请参阅[分配的一般配额](cloudfront-limits.md#limits-web-distributions)。

# 将域添加到 CloudFront 标准分配中
<a name="add-domain-existing-distribution"></a>

创建新的 CloudFront 标准分配后，您可将域添加到其中。（可选）您可以在创建标准分配时为其设置 Amazon Route 53 域。有关更多信息，请参阅 [在控制台中创建 CloudFront 分配](distribution-web-creating-console.md#create-console-distribution)。

## 将域添加到现有标准分配
<a name="add-domain-standard"></a>

**将域添加到标准分配**

1. 登录 AWS 管理控制台，并通过以下网址打开 CloudFront 控制台：[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home)。

1. 在导航窗格中，选择**分配**，然后选择分配 ID。

1. 在**设置**下的**备用域名**中，选择**添加域**。

1. 可以输入多达五个域来提供服务。

1. 选择**下一步**。

1. 对于 **TLS 证书**，如果 CloudFront 在 `us-east-1` AWS 区域的您的 AWS 账户中找不到域的现有 AWS Certificate Manager（ACM）证书，您可以创建一个证书。
   + 如果您使用的是 Amazon Route 53（Route 53），CloudFront 会自动为您创建证书。

1. 预置证书后，必须通过 DNS 提供商更新 DNS 记录来证明域所有权。然后，选择**验证证书**。有关更多信息，请参阅 [将域指向 CloudFront（标准分配）](#point-domains-standard)。
   + 如果您使用的是 Route 53，CloudFront 会为您更新 DNS 记录。

1. 选择**下一步**。

1. 查看更改并选择**添加域**。

1. 在向分配发送流量之前，请务必更新 DNS 记录以指向 CloudFront。有关更多信息，请在分配详细信息页面的**设置**部分中选择**将域路由到 CloudFront**。
   + 如果您使用的是 Route 53，则可以让 CloudFront 自动为您设置 DNS 路由。

## 将域指向 CloudFront（标准分配）
<a name="point-domains-standard"></a>

更新您的 DNS 记录，以便将来自每个域的流量路由到 CloudFront 主机名。您可以有多个域名，但它们必须全部解析到此主机名。

**将域指向 CloudFront**

1. 复制 CloudFront 主机名值，例如 d111111abcdef8.cloudfront.net。

1. 更新您的 DNS 记录，以便将来自每个域的流量路由到 CloudFront 主机名。

   1. 登录到域注册商或 DNS 提供商管理控制台。

   1. 导航到域的 DNS 管理部分。
      + **对于子域**：创建 CNAME 记录。例如：
        + **名称**：子域（例如 `www` 或 `app`）
        + **值/目标**：CloudFront 主机名
        + **记录类型**：CNAME
        + **TTL**：3600（或任何适合用例的值）
      + **对于顶级域/根域**：这需要唯一的 DNS 配置，因为不能在根域或顶级域级别使用标准 CNAME 记录。由于大多数 DNS 提供商不支持 ALIAS 记录，因此建议在 Route 53 中创建 ALIAS 记录。例如：
        + **名称**：顶级域（例如 `example.com`）
        + **记录类型**：A
        + **别名**：是
        + **别名目标**：CloudFront 主机名
        + **路由策略**：简单（或任何适合用例的策略）

   1. 验证 DNS 更改是否已传播。（这通常在 TTL 过期时发生。有时可能需要 24-48 小时。） 使用 `dig` 或 `nslookup` 之类的工具。

      ```
      dig www.example.com
      # Should eventually return a CNAME pointing to your CloudFront hostname
      ```

1. 返回 CloudFront 控制台并选择**提交**。当域处于活动状态时，CloudFront 会更新域状态，以表明域已准备好提供流量。

有关更多信息，请参阅 DNS 提供商的文档：
+ [Cloudflare](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/)
+ [ClouDNS](https://www.cloudns.net/wiki/article/9/)
+ [DNSimple](https://support.dnsimple.com/categories/dns/)
+ [Gandi.net](https://www.gandi.net/)
+ [GoDaddy](https://www.godaddy.com/help/manage-dns-records-680)
+ [Google Cloud DNS](https://cloud.google.com/dns/docs/records)
+ [Namecheap](https://www.namecheap.com/support/knowledgebase/article.aspx/767/10/how-to-change-dns-for-a-domain/)