AWS 的cloudfront是如何实现S3桶的file缓存的

CloudFront介绍:

CloudFront 边缘站点 已经包含了超过 410 个节点(超过 400 个边缘站点和 13 个区域性边缘缓存)的全球网络,该网络覆盖 47 个国家/地区的 90 余个城市。目的是通过边缘站点来就近提供给使用者需要的访问资源,来提高使用者体验。

CloudFront安全性:

CloudFront与AWS Shield、AWS Web 应用程序防火墙 (WAF) 和 Amazon Route 53 无缝协作,创建了灵活的分层安全边界来抵御多种类型的攻击,包括网络和应用层 DDoS 攻击。

下图说明了请求和响应如何流经 CloudFront 边缘站点和区域边缘缓存。

 运作原理说明如下:1.所有cache 都放在edge 端;但Regional Edge Caches 的出现,变成了Edge Location 与origin server 之间的cache2. client送出HTTP reuqest 后,当origin server 回应,会同时存在于Regional Edge Caches & Edge Location 中3. Regional Edge Caches 的储存容量更大,可以cache 更多且更久的object (等于是第二层cache)4. 透过Regional Edge Caches,可以提升Edge Location 运作的效率,回源时可以只回到Regional Edge Caches 而非origin server

经过上面的介绍大家大概也了解了CloudFront,其实就是我们平时所说的DNS,那么如何使用CloudFront来缓存我们WEB页面的内容呢?接下来我们就开始带大家进行构建一下。

1. 创建一个我们自己的CloudFront

当你点击创建的时候我们会创建第一个分配(distribution)

CloudFront distribution 的作用是什么呢?
distribution的作用是用来告诉 CloudFront 您希望从哪里交付内容,以及有关如何跟踪和管理内容交付的详细信息。




这里我要说一下我们要根据具体需求来变更缓存策略,因为我们配置的是缓存S3桶的image所以我这里选的是缓存优先。

我们来说下origins
origins是文件存储内容的位置,CloudFront 从该位置获取内容以提供给查看者。

源都可以是些什么呢?可以是S3bucket, 可以是API Gateway(自定义URL)、ELB、MediaPackages、MediaStore,


**我们来说下behaviors **
behaviors 这里的行为讲的是响应行为。

那么默认的响应行为有那些行为呢?1. 将尚未cache的内容,就会把request发送给S32. 允许clinet 通过http/https 进行存取资料3. 边缘站点会负责响应client4. 将未缓存的数据cache起来,保存时间为24小时5. 仅会将基本的 header 转发回 origins server,而且 cache 时不会以这些 header value 为基础进行 cache,当然还可以自定义header头6. 所有人都可以透过 CloudFront 存取放在 S3 的内容7. 不会自动对传输内容进行压缩

好!我们刚才通过cloudfront 创建了针对s3桶缓存源和响应行为,那我们来看看效果如何!

这是两个相同的请求,那么既然是缓存 那么第一次请求肯定是miss状态,因为缓存里面并没有我们想要的东西。

那么接下来我们看第二个请求,这时候你会发现我们命中了缓存,因为第一次请求的时候cloudfront 帮我们记录了相同请求的响应数据,当你发生第二次请求的时候cloudfront会给你返回缓存数据。

AWS 的cloudfront是如何实现S3桶的file缓存的相关推荐

  1. aws搭建java项目_AWS下S3之java开发

    记住一定要在本地生成证书确保S3权限(~/.aws/credentials)(C:\Users\USERNAME.aws\credentials)格式如下: image.png 另外在开发前,一定要在 ...

  2. cloudfront s3_如何使用S3,CloudFront和Route53托管静态网站

    cloudfront s3 by Paul Berg 保罗·伯格 如何使用S3,CloudFront和Route53托管静态网站 (How to Host a Static Website with ...

  3. 亚马逊云AWS的cloudfront配置,跟国内阿里云的CDN相比,有一个大坑

    在亚马逊云AWS上,CDN的服务名称叫CloudFront,跟国内CDN的叫法略有不一样,但整体用法都差不多. 首先创建完一个CDN实例,填写一些简单的信息 然后选择S3存储的数据源,作为CDN缓存的 ...

  4. 阿里巴巴 OSS与AWS(亚马逊) S3 和腾讯云cos 存储服务 介绍篇

    前言 对象存储服务,简单来说,可以把它当成一个"网盘",可以上传下载数据,也可以直接在这个"网盘"中对文件进行某些操作. 1.定时或者基于某种条件自动地,每天从 ...

  5. php s3 创建bucket,AWS管理控制台:五步创建S3 bucket策略

    亚马逊简单存储服务(S3)因其基于对象存储数据而闻名,但是S3 bucket策略可以帮助AWS实现亚马逊S3资源的设置和管理复杂访问权限的时间节省.这篇技巧指南为开发者提供了基本的S3实践.需要指出的 ...

  6. aws cli 上传文件到s3命令_使用 AWS CLI 分段上传到 Amazon S3

    如何使用 AWS CLI 将文件分段上传到 Amazon S3? 上次更新时间:2020 年 11 月 10 日 我想将一个大文件作为多个部分或使用分段上传复制到 Amazon Simple Stor ...

  7. AWS EC2上传文件到S3(python boto)

    1.获得所有存储桶 >>>import boto.s3.connection >>>conn=boto.s3.connect_to_region('cn-north ...

  8. 使用 Lambda 函数URL + CloudFront 实现S3镜像回源

    1.背景说明 亚马逊云科技S3是一种对象存储服务,提供行业领先的可扩展性.数据可用性.安全性和性能.各种规模和行业的客户都可以在S3存储和保护任意量的数据.为提高数据安全性,很多客户会选择将现有数据迁 ...

  9. 2021/09/06 Terraform 从入门到精通(二)

    P38 Route53 demo 在这个演示中,我将向你展示Route 53如何使用Terraform.这里我们有一个文件"route53.tf".有一个资源"aws_r ...

最新文章

  1. ajaxsetup无效_Ajax请求session失效该如何解决
  2. 关于动态门户WEB博雅互动的源代码(HTML+CSS+javascript)
  3. pythontkinter在一块区域中绘图_用Python中的tkinter模块作图(续)
  4. ABAP久违的操作符
  5. 从n个数中随机选取m个
  6. 【HDU - 5456】Matches Puzzle Game(数位dp,思维)
  7. NIPS 2018 | 中科院自动化所两篇入选论文:高清真实图像生成领域及GAN研究在人脸识别领域的进展...
  8. 信息系统项目管理02——信息系统项目管理基础
  9. C语言 将大写字母转换为小写字母
  10. 生成BMP格式图片备忘
  11. Linux下安装ODI
  12. jsp、html通过添加注册表打开本地应用
  13. Excel中取值函数三剑客:LEFT、RIGHT、MID
  14. unable to close due to unfinalized statements or unfinished backups
  15. 毕业生的档案都有什么意义,为什么说它那么重要|智测优聘总结
  16. 国产大飞机C919首飞成功 瑞星安全保驾护航
  17. 五个国外在线时间管理(GTD)工具推荐
  18. 青村茶舍||“城乡居民基本养老保险”社会治理创新活动
  19. EasyRecovery 15 mac中文免费密钥数据恢复 安装软件的方法教程及版本对比
  20. Vue组织架构树图组件vue-org-tree的使用

热门文章

  1. 28马力轮式拖拉机最终传动及驱动轴设计(说明书+CAD图纸+文献翻译)
  2. chrome auto switch配置
  3. 元宇宙,是噱头还是创新?
  4. ①隔若干行插入分页符②排签排版③按条件分页④按行拆分工作表
  5. 巯基修饰碳点|巯基修饰碳量子点SH-CQDs
  6. react-native 展示后台获取的接口返回的html文本协议内容的几种尝试以及最佳尝试
  7. 编译原理-实验二-LL(1)语法分析程序的设计
  8. 请求参数与请求头FUZZ(参考“我的Web应用安全模糊测试之路“)
  9. 使用autoindex标签给DEDECMS文章列表添加自动编号
  10. 最早游戏空当接龙计算机,Windows空当接龙30周年!至今每月还有3500万名玩家