简单入门 CloudFront 分销 - Amazon CloudFront
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

简单入门 CloudFront 分销

此部分中的过程将介绍如何使用 CloudFront 设置执行以下操作的基本配置:

  • 在 Amazon Simple Storage Service (Amazon S3) 存储桶中存储对象的原始版本

  • 分配文本或图形等内容

  • 使您的对象可供所有人访问

  • 将 URL 中的 CloudFront 域名用于您的对象(例如,http://d111111abcdef8.cloudfront.net/image.jpg

  • 在 CloudFront 边缘站点上将您的对象保留默认 24 小时持续时间(最短持续时间为 0 秒)

其中的大多数选项是可自定义的。例如,您可以将内容存储在您自己的 Web 服务器上,而不是存储在 S3 存储桶中,并且您可以限制可使用签名 URL 或 Cookie 访问该内容的人员。有关如何自定义 CloudFront 分配选项的信息,请参阅创建分配的步骤(概述)

您仅需完成几个基本步骤即可开始使用 CloudFront 交付您的内容。第一步是注册。接下来,您创建一个 CloudFront 分配,然后使用网页或应用程序的 URL 中的 CloudFront 域名引用内容。

Prerequisites

开始之前,请确保您已完成设置 Amazon CloudFront中的步骤。

步骤 1. 上传内容至 Amazon S3 并授予对象权限

Amazon S3 存储桶是一个可以包含文件(对象)或文件夹的容器。CloudFront 可将 Amazon S3 存储桶作为源,为您分配几乎任何类型的文件。例如,CloudFront 可以分配文本、图像和视频。您可创建多个存储段,并且,您可在 Amazon S3 上存储的数据量没有最大值。

默认情况下,您的 Amazon S3 存储桶和其中的所有文件都是私有的,只有创建该存储桶的 AWS 账户对这些文件具有读取/写入权限。如果要允许任何人使用 CloudFront URL 访问您的 Amazon S3 存储桶中的对象,您必须授予对象公共读取权限。(这是最常见的错误之一,在使用 CloudFront 和 Amazon S3...您必须明确授予对每个对象的权限 Amazon S3 桶)

注意

如果您想限制能够下载您的内容的人,您可以使用 CloudFront 私有内容功能。有关分配私有内容的更多信息,请参阅 使用签名 URL 和已签名的 Cookie 提供私有内容

要将内容上传到 Amazon S3 并向每个人授予读取权限

  1. 登录 AWS 管理控制台并通过以下网址打开 Amazon S3 控制台:https://console.amazonaws.cn/s3/

  2. 在 Amazon S3 控制台上,选择创建存储桶

  3. 创建存储桶对话框中的名称和区域页面上,执行以下操作:

    1. 输入存储桶名称。

      重要

      对于与 CloudFront 一起使用的存储桶,其名称必须符合 DNS 命名要求。有关更多信息,请参阅 https://docs.amazonaws.cn/AmazonS3/latest/dev/BucketRestrictions.html 中的Amazon Simple Storage Service 开发人员指南存储桶局限和限制

    2. 对于区域,请为您的存储桶选择一个 AWS 区域。默认情况下,Amazon S3 在 美国东部(弗吉尼亚北部) 区域中创建存储桶。我们建议您选择一个靠近您的区域,以优化延迟并尽可能降低成本,或者,您可以选择另一个区域以满足法规要求。

  4. 选择 Next (下一步)

  5. 配置选项页面上,选择版本控制、标签和其他功能的选项。

  6. 选择 Next (下一步)

  7. 设置权限页面上,清除以下复选框:

    • 阻止所有公有访问

    您必须允许公开读取存储桶和文件,以便 CloudFront URL 可以提供来自存储桶的内容。但是,您可以使用 CloudFront 私有内容功能限制对特定内容的访问。有关更多信息,请参阅 使用签名 URL 和已签名的 Cookie 提供私有内容。)

    选择复选框 我确认,当前设置可能会导致此桶和对象成为公共内容.

  8. 选择下一步,然后选择创建存储桶

  9. 存储桶窗格中,选择您的存储桶,然后选择上传

  10. 选择文件页面上,将您的文件拖放到存储桶中。或者选择添加文件,然后选择要上传的文件。

  11. 选择 Next (下一步)

  12. 设置权限 页面, 管理公共权限,选择 授予对此对象的公众读取访问权限.

  13. 选择 Next (下一步)

  14. 为对象设置所需的任何属性(例如加密和添加标记),然后选择下一步

  15. 选择 Upload

    上传完成后,您可通过其 URL 导航到该项目。例如:。

    https://<bucket name>.s3-<AWS Region>.amazonaws.com/<object name>

    使用您的 Amazon S3 URL 验证是否可以公开访问您的内容,但要记住,这不是您准备通过 CloudFront 分发内容时使用的 URL。

步骤 2. 创建A CloudFront 分销

创建 CloudFront 分配

  1. https://console.amazonaws.cn/cloudfront/ 打开 CloudFront 控制台。

  2. 选择 Create Distribution

  3. Select a delivery method for your content 页面上的 Web 部分中,选择 Get Started

  4. Create Distribution (创建分配) 页面上,对于 Origin Domain Name (源域名),选择您之前创建的 Amazon S3 存储桶。

    对于其他设置 原始设置,接受默认值。

  5. 对于下列设置 默认缓存行为设置,接受默认值。

    CloudFront 会:

    • 将在您的分配中使用 CloudFront URL(例如,https://d111111abcdef8.cloudfront.net/image.jpg)的所有请求转发到您在此过程的步骤 4 中指定的 Amazon S3 存储桶中。

    • 允许最终用户使用 HTTP 或 HTTPS 访问您的对象。

    • 响应对象请求

    • 尝试缓存您的对象在 CloudFront 默认情况下,Edge位置为24小时。

    • 仅将默认请求标头转发到源,并且不基于标头中的值来缓存对象。

    • 在将对象请求转发到源时,排除 Cookie 和查询字符串参数(如有)。(Amazon S3 不处理 Cookie,并且仅处理一些查询字符串参数。)

    • 允许每个人查看您的内容。

    CloudFront 不会:

    • 配置为分配 Microsoft 平滑流格式的媒体文件。

    • 自动压缩您的内容。

    有关缓存行为选项的更多信息,请参阅 缓存行为设置

  6. 分配设置下面,为您的分配选择值。

    价格级别

    选择与您想要为 CloudFront 服务支付的最高价对应的价格级别。默认情况下,CloudFront 从所有 CloudFront 区域的边缘站点提供您的对象。

    有关价格级别以及您的价格级别选择如何影响分配的 CloudFront 性能的更多信息,请参阅选择价格类别 CloudFront 分销。有关 CloudFront 定价的信息(包括价格级别与 CloudFront 区域的对应关系),请参阅 Amazon CloudFront 定价

    AWS WAF Web ACL

    接受默认值,即 None (无)

    备用域名 (CNAME)

    接受默认值,即,将字段留空。

    SSL 证书

    接受默认值,即默认 CloudFront 证书 (*.cloudfront.net)

    支持的 HTTP 版本

    接受默认值,即 HTTP/2、HTTP/1.1、HTTP/1.0

    默认根对象(可选)

    当浏览者请求分配的根 URL (https://d111111abcdef8.cloudfront.net) 而不是分配中的对象 (https://d111111abcdef8.cloudfront.net/product-description.html) 时,您希望 CloudFront 从源(例如,index.html)中请求的对象。指定一个默认根对象,以避免公开分配的内容。

    日志记录(可选)

    接受默认值,即 Off (关闭)

    启用 IPv6

    接受默认值。

    注释(可选)

    输入您想与分配一起保存的任何评论。

    分配状态

    选择 Enabled (已启用)

  7. 选择 Create Distribution

  8. 在 CloudFront 创建了分配后,分配的 Status (状态) 列的值将从 In Progress (正在进行) 更改为 Deployed (已部署)。这通常需要几分钟。

    CloudFront 指派给您的分配的域名将出现在分配列表中。(它同时也出现在选定分配的“General”选项卡上。)

步骤 3 测试您的链接

在创建分配后,CloudFront 知道您的 Amazon S3 源服务器所在的位置,而且您知道与分配关联的域名。您可创建指向具有该域名的 Amazon S3 存储桶内容的链接,并使 CloudFront 服务于它。

注意

在测试您的链接之前,您必须等待,直到分配的状态变为已部署

链接到您的对象

  1. 将以下 HTML 复制到新文件中:

    • 将 <domain name> 替换为 CloudFront 为您的分配指定的域名。

    • 将 <object name> 替换为 Amazon S3 存储桶中的文件的名称。

    <html> <head>My CloudFront Test</head> <body> <p>My text content goes here.</p> <p><img src="https://<domain name>/<object name>" alt="my test image"/></p> </body> </html>

    例如,如果您的域名为 d111111abcdef8.cloudfront.net,且对象为 image.jpg,则链接的 URL 将为:

    https://d111111abcdef8.cloudfront.net/image.jpg.

    如果您的对象是在存储桶中的一个文件夹里,则将该文件夹包括在 URL 中。例如,如果 image.jpg 位于 images 文件夹中,则 URL 将为:

    https://d111111abcdef8.cloudfront.net/images/image.jpg

  2. 将文本保存在具有 .html 文件扩展名的文件中。

  3. 在浏览器中打开您的网页,以确保您可以看到您的内容。如果您无法看到内容,请确认您正确执行了所有步骤。您还可看到 问题排查 中的提示。

浏览器返回带嵌入图像文件的页面,该文件由边缘站点提供,且 CloudFront 确定该边缘站点适合于提供对象。

有关使用 CloudFront 的更多信息,请参阅Amazon CloudFront 相关信息