作者:MeshCloud脉时云 架构师 王一凡
前言
Amazon Simple Storage Service (Amazon S3) 除了用于对象存储之外还可用于托管静态网站,无需 Web 服务器(S3成本极低)。利用S3 存储桶Website hosting功能,可用于快速托管整个静态网站的 HTML、CSS 和 JavaScript 文件。
优势
性能:S3托管网站将具有高性能和可扩展性,成本仅为传统 Web 服务器的一小部分。
可扩展性: Amazon S3 本质上是可扩展的。对于流行的网站,Amazon S3 架构将无缝扩展,以每秒处理数千个 HTTP 请求,而无需对架构进行任何更改。
可用性:此外,通过使用 Amazon S3 托管,该网站本身就具有高可用性。
具体操作
- 创建存储桶
- 启用静态网站托管
配置完成后会得到这个网址此时对网址进行访问
- 将S3 存储桶设置为公开
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::my-website-bucket-test01/*"
}
]
}
此时再对网站进行访问可以看到页面变成404
- 部署网站文件
将示例静态文件存储到本地
git clone https://github.com/sami-dev/aws-s3-static-website-sample.git
使用 S3 CLI 将Website文件夹中的内容上传至S3
aws s3 sync Website s3://my-website-bucket-test01 --profile ezmsp_global_s3
在S3上进行查看
- 测试网站访问(目前使用S3托管静态网站仅支持使用Http访问,如果需要使用Https可以搭配CloudFront使用)