匠心精神 - 良心品质腾讯认可的专业机构-IT人的高薪实战学院

咨询电话:4000806560

使用AWS S3和CloudFront轻松构建高可用性的静态网站

使用AWS S3和CloudFront轻松构建高可用性的静态网站

静态网站是指网站内容由静态HTML、CSS、JavaScript等文件组成,没有后台服务支持,不需要动态生成内容。静态网站优势在于易于管理、安全可靠、响应快速、成本低廉等方面,因此被广泛应用于企业官网、个人博客等领域。本文将介绍如何使用AWS S3和CloudFront轻松构建高可用性的静态网站。

AWS S3是一种对象存储服务,可用于存储任何类型的文件,包括图片、音频、视频和静态网站文件等,具有高可靠性、高可扩展性、高安全性的特点。而CloudFront是AWS的全球内容分发网络(CDN),能够将文件快速的分发到全球各个地方的边缘节点上,提高用户的访问速度和体验。下面我们就来看看如何使用AWS S3和CloudFront构建高可用性的静态网站。

1. 创建S3 Bucket

首先,在AWS控制台中打开S3服务,按下图所示创建一个新的Bucket,将Bucket的名称设置为您的域名。例如,如果您的域名是example.com,则Bucket名称应为example.com。

![image](https://user-images.githubusercontent.com/66695459/122666708-f6158f80-d1e5-11eb-9e00-09e9a4aa58b2.png)

2. 配置Bucket为静态网站托管

选择刚刚创建的Bucket,在【属性】标签页下,找到【静态网站托管】选项,单击【编辑】并选择【启用】选项卡。在【索引文档】和【错误文档】输入框中分别填写要作为该网站首页的HTML文件名和错误页面的文件名(如果没有自定义错误页面,这里可以不填写),然后单击【保存】。

![image](https://user-images.githubusercontent.com/66695459/122666720-00cf2480-d1e6-11eb-8391-a0c1ac0d2d42.png)

3. 设置Bucket公共访问权限

选择刚刚创建的Bucket,在【权限】标签页下,找到【区域桶策略】选项,单击【编辑】,输入以下JSON策略:

```
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadGetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws-cn:s3:::example.com/*"
    }
  ]
}
```

将example.com替换为您的Bucket名称,保存策略。

![image](https://user-images.githubusercontent.com/66695459/122666745-1b086280-d1e6-11eb-838a-6fca4e26d7f8.png)

4. 上传网站文件

选择刚刚创建的Bucket,在【对象】标签页下,单击【上传】按钮,将您的网站文件上传到Bucket中。例如,将index.html、style.css、app.js等文件上传到Bucket的根目录下。

![image](https://user-images.githubusercontent.com/66695459/122666776-42f7c600-d1e6-11eb-8a61-1428d99a4d7c.png)

5. 创建CloudFront分配

打开CloudFront控制台,在【分配】标签页下,单击【创建分配】,按照以下步骤进行配置:

- 【源域名】:选择刚刚创建的S3 Bucket的域名,例如example.com.s3-website.cn-north-1.amazonaws.com.cn。
- 【源协议策略】:选择【HTTP and HTTPS】。
- 【默认根对象】:输入您的网站首页文件名。
- 【价格类别】:选择【按需】。
- 【SSL证书】:选择您的证书或使用默认证书。
- 【域名别名】:输入您的域名,例如example.com。
- 【指定自定义首选域名】:选择【是】。
- 【路由策略】:选择【简单】。
- 【默认缓存时间】:选择【0秒】。
- 【分配标签】:选择【无】。

![image](https://user-images.githubusercontent.com/66695459/122666802-69b5fc80-d1e6-11eb-8219-bad4c9f1216d.png)

6. 配置DNS记录

最后,为您的域名配置DNS记录,将CNAME记录指向刚刚创建的CloudFront分配的域名。例如,将CNAME记录www.example.com指向d111111abcdef8.cloudfront.net(d111111abcdef8为CloudFront分配的域名)。

至此,您的高可用静态网站已经构建成功。您可以访问您的网站,查看网站是否正常。

总结

使用AWS S3和CloudFront构建高可用性的静态网站的步骤如上所述。相比传统的虚拟主机、云服务器等方式,使用AWS S3和CloudFront可以极大的提高网站的可靠性和安全性,同时也可以提高用户的访问速度和体验。希望这篇文章能够帮助您快速的搭建自己的静态网站。