AWS CloudFront 介绍及配置

1. 什么是 Amazon CloudFront ?

Amazon CloudFront 是 AWS 的 CDN,是一个用于加快将静态和动态的 Web 内容(如: .html, css, .js, 图片文件)分发给用户的Web 服务。举个简单的例子来说明。比如你在中国,想请求一张 Web 服务器位于美国的图片,在检索到图片之前,这个请求会从一个网络路由到另一个网络,在经历 n 多个路由后,才能到达该图片所在的服务器,这是一个非常大的跳数,同时会对性能、可用性和可靠性产生很大影响。但是如果将原始服务器与 CloudFront 关联(关联后 CloudFront 知道从哪些原始服务器获取资源),这时不再通过原始服务器访问图片,而是通过 CloudFront 分配的 URL 访问图片,则该请求将被路由到迟延最短的 CloudFront 边缘站点。如果该内容在迟延最短的 CloudFront 边缘站点的缓存中存在,则将直接从该边缘站点的缓存中返回图片。如果请求的内容不在该边缘站点的缓存中,才从源去取(请求的内容不在缓存中,这里写的比较笼统,这种情况下 CloudFront 是如何工作的,详细工作流程,见下面 Note 的解释)。这样大大减少了路由数,从而提高了性能。


Note:如果请求的内容不在迟延最短的边缘站点的缓存中,CloudFront 的处理如下:

① CloudFront 将比较该请求与分配中的说明,然后根据对应的文件类型将文件请求转发到适用的源服务器。例如,对于图像文件,转发到 Amazon S3 存储桶;对于 HTML 文件,转发到 HTTP 服务器。

② 原始服务器将这些文件发回 CloudFront 边缘站点。

③ 当从源返回的第一个字节到达 CloudFront 时,CloudFront 就开始将这些文件转发给用户,同时将这些文件添加到边缘站点的缓存中,方便有人再次请求这些文件。

2. 配置原始服务器(以 AWS S3 为例)

1. 登录AWS S3 控制台,点击 “Create bucket” 。

2. 创建 bucket。在 “Create bucket” 对话框中,输入 “Bucket name” 和 “Region”  ,一直点 “Next” ,直至创建成功。

3. 上传文件至 S3。选择刚刚创建成功的 bucket,点击 “Upload” ->  “Add Files” ,一直点 “Next” ,直至上传成功。

4. 文件设为公开。设置成功后点击下面的 Link Url 验证是否可以访问。也可以指定哪些人可访问。

3. 创建 CloudFront Distribution。

Distribution 将告诉 CloudFront 从哪些原始服务器获取您请求的文件。

1. 登录 CloudFront 控制台。

2. 选择 “Create Distribution”。

3. 在 “Web” 区域,选择 “Get Started”。

4. 设置 “Origin Settings”。在 “Origin Domain Name”中,选择之前创建的S3 bucket, 选择完成后,“Origin ID” 会自动填充。“Origin Path”,“Restrict Bucket Access”,“Origin Custom Headers” 接受默认值即可。

5. 设置 “Default Cache Behavior Settings”。

6. 设置 “Distrubution Settings”。

8. 完成创建。在所有这些都设置完后,点击“Create Distribution” 按钮。

9. 新域名访问。

在 CloudFront 创建完 Distribution 之后,你的 Distribution 的 “Status” 这一栏将会从 “InProgress” 变为 “Deployed” (该过程大约需要 15 分钟,因为需要将 Distributin 的配置发送到其所有的边缘站点)。在确定状态变为 “Deployed” 之后,就可以通过 CloudFront 分配的域名去访问源上的文件了。如:CloudFront 分配的域名为d111111abcdef8.cloudfront.net,AWS S3 上的图片为picture.png,就可以通过http://d111111abcdef8.cloudfront.net/picture.png 访问到图片。

参考文档:https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/Introduction.html

  • 7
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员X小鹿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值