开始使用基本 CloudFront 分配
此部分中的过程将介绍如何使用 CloudFront 设置执行以下操作的基本配置:
-
创建用作分配源的存储桶。
-
将对象的原始版本存储在一个 Amazon Simple Storage Service (Amazon S3) 存储桶中
使用源访问控制(OAC)将经过身份验证的请求发送到您的 Amazon S3 源。OAC 通过 CloudFront 发送请求,以防止查看器直接访问您的 S3 存储桶。有关 OAC 的更多信息,请参阅限制对 Amazon Simple Storage Service 源的访问。
将 URL 中的 CloudFront 域名用于您的对象(例如,
https://d111111abcdef8.cloudfront.net/index.html
)-
在 CloudFront 边缘站点上将您的对象保留默认的 24 小时持续时间(最短持续时间为 0 秒)
其中的大多数选项是可自定义的。有关如何自定义 CloudFront 分配选项的信息,请参阅创建分配。
先决条件
开始之前,请确保您已完成设置您的 AWS 账户中的步骤。
创建 Amazon S3 存储桶
Amazon S3 存储桶是文件(对象)或文件夹的容器。当 Amazon S3 存储桶作为源时,CloudFront 可以为您分发几乎任何类型的文件。例如,CloudFront 可以分配文本、图像和视频。您可以在 Amazon S3 上存储的数据量没有上限。
在本教程中,您将使用提供的 hello world
文件示例创建一个 S3 存储桶,您将使用这些文件创建基本网页。
创建桶
登录到AWS Management Console,然后通过以下网址打开 Amazon S3 控制台:https://console.aws.amazon.com/s3/
。 -
建议您使用我们的 Hello World 示例作为入门指导。下载 hello world 网页:hello-world-html.zip。将其解压缩,然后将
css
文件夹和index
文件保存到方便的位置,例如运行浏览器的桌面。 -
选择创建存储桶。
-
输入符合《Amazon Simple Storage Service 用户指南》中通用存储桶命名规则的唯一存储桶名称。
-
对于区域,建议选择地理位置靠近您的 AWS 区域。(这可以降低延迟和成本。)
-
也可以选择其他区域。例如,您可以这样做来满足监管要求。
-
-
将所有其他设置保留默认值,然后选择创建存储桶。
将内容上传到存储桶
创建 Amazon S3 存储桶后,将解压缩的 hello world
文件内容上传到该存储桶。(您已在 创建 Amazon S3 存储桶 中下载并解压缩此文件。)
将内容上传到 Amazon S3
-
在通用存储桶部分,选择新存储桶的名称。
选择上传。
-
在上传页面,将
css
文件夹和index
文件拖到拖放区域。 -
将所有其他设置保留为原定设置值,然后选择上传。
创建将 Amazon S3 源与 OAC 结合使用的 CloudFront 分配
在本教程中,您将创建一个使用 Amazon S3 源和源访问控制(OAC)的 CloudFront 分配。OAC 可帮助您安全地将经过身份验证的请求发送到 Amazon S3 源。有关 OAC 的更多信息,请参阅限制对 Amazon Simple Storage Service 源的访问。
创建具有使用 OAC 的 Amazon S3 源的 CloudFront 分配
通过 打开 CloudFront 控制台https://console.aws.amazon.com/cloudfront/v4/home
-
选择 Create distribution(创建分配)。
-
对于源,请在源域中,选择您为本教程创建的 S3 存储桶。
-
对于源,请在源访问中,选择源访问控制设置(推荐)。
-
对于源访问控制,请选择创建新 OAC。
-
在创建新 OAC 窗格中,保留默认设置并选择创建。
-
对于Web 应用程序防火墙(WAF),请选择其中一个选项。
-
对于所有其他部分和设置,接受默认值。有关这些选项的详细信息,请参阅 分配设置。
-
选择创建分配。
-
在需要更新 S3 存储桶策略横幅中,阅读消息并选择复制策略。
-
在同一横幅中,选择转到 S3 存储桶权限以更新策略链接。(这将转至 Amazon S3 控制台中的存储桶详细信息页面)。
-
在 Bucket policy(存储桶策略)下,选择 Edit(编辑)。
-
在编辑语句字段中,粘贴您在步骤 10 中复制的策略。
-
选择 Save changes(保存更改)。
-
返回 CloudFront 控制台并查看您的新分配的详细信息部分。部署分配后,上次修改时间字段将从正在部署更改为部署日期和时间。
-
记录 CloudFront 指派给分配的域名。其内容类似于以下所示:
d111111abcdef8.cloudfront.net
。
在生产环境中使用本教程中的分配和 S3 存储桶之前,请务必对其进行配置以满足您的特定需求。有关在生产环境中配置访问权限的信息,请参阅配置安全访问和限制对内容的访问。
通过 CloudFront 访问您的内容
要通过 CloudFront 访问您的内容,请将 CloudFront 分配的域名与内容的主页组合在一起。(您在 创建将 Amazon S3 源与 OAC 结合使用的 CloudFront 分配 中记录了您的分配域名。)
-
您的分配域名可能如下所示:
d111111abcdef8.cloudfront.net
。 -
网站主页的路径通常为
/index.html
。
因此,通过 CloudFront 访问您的内容的 URL 可能如下所示:
https://d111111abcdef8.cloudfront.net/index.html
.
如果您按照上述步骤操作并使用了 hello world 网页,您应该看到显示 Hello world! 的网页。
将更多内容上传到此 S3 桶时,您可以将 CloudFront 分配域名与 S3 桶中的对象路径组合在一起,从而通过 CloudFront 访问内容。例如,如果您将一个名为 new-page.html
的新文件上传到 S3 桶的根目录,URL 如下所示:
https://d111111abcdef8.cloudfront.net/new-page.html
.
清理
如果您仅出于练习目的创建分配和 S3 存储桶,请删除它们,这样就不会再产生费用。首先删除分配。有关更多信息,请参阅以下链接:
增强基本分配
本入门教程提供创建分配所需的最小框架。建议您探索以下增强功能:
-
默认情况下,Amazon S3 存储桶中的文件(对象)设置为私有的。只有创建了该存储桶的 AWS 账户才有权读取或写入文件。如果要允许任何人使用 CloudFront URL 访问您的 Amazon S3 存储桶中的对象,您必须授予对象公共读取权限。
-
您可以使用 CloudFront 私有内容功能来限制对 Amazon S3 存储桶中内容的访问权限。更多有关分配私有内容的信息,请参阅 使用签名 URL 和签名 Cookie 提供私有内容。
-
您可以将 CloudFront 分配配置为使用自定义域名(例如,使用
www.example.com
而不是d111111abcdef8.cloudfront.net
)。有关更多信息,请参阅 使用自定义 URL。 -
本教程使用具有源访问控制(OAC)的 Amazon S3 源。但是,如果您的源是配置为网站端点的 S3 存储桶,则无法使用 OAC。在这种情况下,必须通过 CloudFront 将存储桶设置为自定义源。有关更多信息,请参阅 使用配置为网站端点的 Amazon S3 存储桶。有关 OAC 的更多信息,请参阅限制对 Amazon Simple Storage Service 源的访问。