
使用 Amazon CloudFront 分发来提供静态网站
使用 Amazon CloudFront 分发来提供静态网站
本入门教程向您展示如何执行以下任务:
- 注册一个域名,例如 example.com。
- 为您的域名创建证书。
- 创建一个 Amazon S3 存储桶并配置托管网站。
- 创建一个示例网站并将文件保存在您的 S3 存储桶中。
- 为 S3 存储桶创建 CloudFront 分发。
- 配置 Amazon Route 53 以将流量路由到 CloudFront 分发。
完成后,您将能够打开浏览器,输入您的域名,并安全地查看您的网站。
主题
- 先决条件
- [步骤 1:注册域名](#步骤 1:注册域名)
- [步骤 2:请求公共证书](#步骤 2:请求公共证书)
- [步骤 3:创建 S3 存储桶来托管您的域名](#步骤 3:创建 S3 存储桶来托管您的域名)
- [步骤 4:将网站文件上传到您的域名存储桶](#步骤 4:将网站文件上传到您的域名存储桶)
- [步骤 5:为您的域名创建 Amazon CloudFront 分配](#步骤 5:为您的域名创建 Amazon CloudFront 分配)
- [步骤 6:将您的域的 DNS 流量路由到您的 CloudFront 分配](#步骤 6:将您的域的 DNS 流量路由到您的 CloudFront 分配)
- [步骤 7:测试您的网站](#步骤 7:测试您的网站)
先决条件
在开始之前,请确保您已完成设置 Amazon Route 53中的步骤。
步骤 1:注册域名
要使用域名(例如 example.com),您必须找到一个尚未使用的域名并注册。注册域名后,您将在互联网上保留该域名供您独享,通常为一年。默认情况下,我们会在每年年底自动续订您的域名,但您可以关闭自动续订。有关更多信息,请参阅注册新域名。
步骤 2:请求公共证书
您的 Amazon CloudFront 分配需要公共证书来配置 CloudFront,要求查看器使用 HTTPS,以便在 CloudFront 与查看器通信时加密连接。
请求 AWS 证书管理器 (ACM) 公有证书(控制台)
登录 AWS 管理控制台并通过 https://console.aws.amazon.com/acm/home打开 ACM 控制台。
确保在美国东部(弗吉尼亚北部)地区创建证书。这是 Amazon CloudFront 所必需的。
在左侧导航栏中,选择“请求证书”,在“请求证书”页面上, 选择“请求公共证书”,然后选择“下一步”。
在域名部分,输入您的域名,例如
example.com
。选择为此证书添加其他名称,在域名前输入星号,即可为所有子域名申请通配符证书,例如
*.example.com
。在验证方法部分中,选择DNS 验证。
在密钥算法部分中,选择RSA 2048。
在添加标签部分,您可以选择标记您的证书。标签是键值对,用作识别和组织 AWS 资源的元数据。
选择请求以进入证书页面。
当您的新证书出现在“待处理”状态时,请选择证书 ID,然后在证书详细信息页面上,选择Route 53 中的“创建记录” 以自动添加您的域的 CNAME 记录,然后选择“创建记录”。
证书状态页面应打开,并显示一个状态横幅,报告已成功创建 DNS 记录。
您的新证书可能会继续显示“待验证”状态长达 30 分钟。
步骤 3:创建 S3 存储桶来托管您的域名
为 your -domain-name创建 S3 存储桶
Amazon S3 可让您在互联网上的任何地方存储和检索数据。在此步骤中,您将创建一个 S3 存储桶来存储您网站的所有文件。
打开 Amazon S3 控制台 https://console.aws.amazon.com/s3/。
选择创建存储桶。
输入以下值:
存储桶名称
输入 **
your-domain-name
**。例如,如果您注册了域名 example.com,则输入 example.com。地区
为您的存储桶选择一个区域。
要接受默认设置并创建存储桶,请选择 创建存储桶。
有关 S3 存储桶设置的更多信息,请参阅Amazon S3 用户指南中的查看存储桶属性。
步骤 4:将网站文件上传到您的域名存储桶
现在您有了 S3 存储桶,您可以上传您的网站文件。在本教程中,您只需上传一个在页面上显示文本的简单 index.html 文件。
启用 S3 存储桶以进行网站托管
打开 Amazon S3 控制台 https://console.aws.amazon.com/s3/。
在Buckets列表中,选择您要上传网站文件的存储桶的链接名称,例如
example.com
。复制创建简单单页网站的示例文本,将其粘贴到文本编辑器中,并将其保存为index.html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21<html>
<head>
<title>Amazon Route 53 Getting Started</title>
</head>
<body>
<h1>Routing Internet traffic to Cloudfront distributions for your website stored in an S3 bucket</h1>
<p>For more information, see
<a href="https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/getting-started.html">Getting Started with Amazon Route 53</a>
in the <emphasis>Amazon Route 53 Developer Guide</emphasis>.</p>
</body>
</html>
解释在“对象”选项卡中,选择 “上传”。
在文件和文件夹下,选择添加文件并上传您的网站文件。在本教程中,上传您在此过程的第 3 步中保存的 index.html 文件。
步骤 5:为您的域名创建 Amazon CloudFront 分配
在此步骤中,您将为域名(例如 example.com)创建 CloudFront 分配,以允许您的网站使用 HTTPS,以便人们可以安全地查看它。
创建 CloudFront 分配
打开 CloudFront 控制台https://console.aws.amazon.com/cloudfront/v4/home。
选择创建分发。
在Origin下,对于Origin 域,选择您之前创建的Amazon S3 存储桶。格式类似于
www.example.com.s3.<Region>.amazonaws.com
。对于Origin access,选择Legacy access identities。对于Origin access Identity,您可以从列表中选择,或者选择 Create new OAI(两者都可以)。
对于存储桶策略,选择是,更新存储桶策略。
对于默认缓存行为设置下的设置,在 查看器下,将查看器协议策略设置为将 HTTP 重定向到 HTTPS,并接受其余的默认值。
有关缓存行为选项的更多信息,请参阅Amazon CloudFront 开发人员指南中的缓存行为设置。
在**Web 应用程序防火墙 (WAF)**部分,您可以选择启用或禁用 AWS WAF 安全保护。
对于“设置”下的字段,执行以下操作:
在 CloudFront 创建您的分配后,分配的 Status列的值将从In Progress更改为 Deployed。这通常需要几分钟。
记录 CloudFront 分配给您的分配的域名,该域名显示在分配列表中。您可以使用此域名来测试分配。
步骤 6:将您的域的 DNS 流量路由到您的 CloudFront 分配
现在,您的 S3 存储桶中有一个使用 CloudFront 分配的单页网站。要开始将您的域的互联网流量路由到 CloudFront 分配,请执行以下步骤。
有关将流量路由到 CloudFront 分配的更多信息,请参阅使用域名将流量路由到 Amazon CloudFront 分配。
将流量路由至您的网站
打开 Route 53 控制台: https://console.aws.amazon.com/route53/。
在导航窗格中,选择托管区域。
笔记
当您注册域名时,Amazon Route 53 会自动创建一个同名的托管区域。托管区域包含有关您希望 Route 53 如何为该域路由流量的信息。
在托管区域列表中,选择您的域名。
选择创建记录。
如果您处于快速创建记录视图,请选择切换到向导。
笔记
每条记录都包含有关您希望如何为一个域(例如 example.com)或子域(例如 www.example.com 或 test.example.com)路由流量的信息。记录存储在您域的托管区域中。
选择简单路由,然后选择下一步。
选择“定义简单记录”。
在记录名称中,在默认值前面输入
www
,即您的托管区域和域的名称。在记录类型中,选择A‐将流量路由到 IPv4 地址和一些 AWS 资源。
在值/路由流量到中,选择别名为 CloudFront 分布。
选择分布。
分发名称应与分发列表中域名框中显示的名称相匹配,例如。
dddjjjkkk.cloudfront.net
对于评估目标健康状况,选择否。
选择“定义简单记录”。
为根域添加别名记录 ( example.com
)
还为您的根域添加一个别名记录,以便它指向将流量重定向到的 S3 存储桶www.example.com
。有关将流量路由到 CloudFront 分配的更多信息,请参阅使用您的域名将流量路由到 Amazon CloudFront 分配。
在导航窗格中,选择托管区域。
在托管区域列表中,选择您的域名。
选择创建记录。
如果您处于快速创建记录视图,请选择切换到向导。
笔记
每条记录都包含有关您希望如何为一个域(例如 example.com)或子域(例如 www.example.com 或 test.example.com)路由流量的信息。记录存储在您域的托管区域中。
选择简单路由,然后选择下一步。
选择“定义简单记录”。
在记录名称中,接受默认值。
在记录类型中,选择A‐将流量路由到 IPv4 地址和一些 AWS 资源。
在值/路由流量到中,选择别名为 CloudFront 分布。
选择分布。
分发名称应与分发列表中 域名框中显示的名称相匹配 ,例如 。
dddjjjkkk.cloudfront.net
对于评估目标健康状况,选择 否。
选择“定义简单记录”。
在配置记录页面上,选择 创建记录。
步骤 7:测试您的网站
要验证网站是否正常运行,请打开 Web 浏览器并浏览以下 URL:
your-domain-name
例如 https://www. – 显示存储桶www.example.com
中的索引文档www.your-domain-name
your-domain-name
例如https://example.com
– 将您的请求重定向到www.your-domain-name
存储桶
在某些情况下,您可能需要清除缓存才能看到预期的行为。
有关路由互联网流量的更多高级信息,请参阅将Amazon Route 53 配置为您的 DNS 服务。 有关将互联网流量路由到 AWS 资源的信息,请参阅将互联网流量路由到您的 AWS 资源。