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

AWS CloudFront 介绍及配置相关推荐

  1. 如何使用AWS和Azure的配置存储服务保存读取配置

    原文:Want to yank configuration values from your .NET Core apps? 作者:pauljwheeler 译文:https://www.cnblog ...

  2. aws lambda使用_使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存

    aws lambda使用 快速提供内容对于任何网站或应用程序具有更好的客户体验都是必不可少的. 如果您将网站或应用程序托管在AWS Cloud中,那么无论从何处访问应用程序,都可以以较低的延迟快速提供 ...

  3. 使用AWS Lambda,S3和AWS CloudFront进行动态内容缓存

    快速提供内容对于任何网站或应用程序具有更好的客户体验至关重要. 如果您将网站或应用程序托管在AWS Cloud中,那么无论从何处访问应用程序,都可以以较低的延迟快速提供内容. AWS提供了CloudF ...

  4. aws cloudfront

    aws cloudfront cloudfront为亚马逊的CDN,默认全球边缘节点加速 申请流程 1.源必须是域名,以www.ppiaas.net为例,aws-cache.ppiaas.com指向4 ...

  5. 基于aws cloudfront的前端应用灰度方案

    背景 前端应用发布时有测试环境发现不了的一些问题,导致发布经常会出现js或者图片之类的访问不生效问题,故需要引入灰度部署的能力,降低发布风险. 应用是在aws cloudfront上部署的,针对全球加 ...

  6. JSTL 及 tablibs 的简单介绍和配置方法

    JSTL 及 tablibs 的简单介绍和配置方法 jstl 简介 jstl 的全称就是jsp standard tag libraries, 就是jsp里的标准标签库. 引用jstl技术能在jsp种 ...

  7. 03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

     1 PersonTestMapper.xml中的内容如下: <?xmlversion="1.0"encoding="UTF-8"?> < ...

  8. Redis数据库(一)——介绍、配置与优化

    Redis数据库(一)--介绍.配置与优化 一.关系数据库与非关系型数据库 1.关系数据库 2.非关系型数据库 3.关系数据库与非关系型数据库区别(三个方向) 数据存储方式不同 扩展方式不同 对事务性 ...

  9. CCNA课堂练习:OSPF的介绍及配置

      CCNA浅谈OSPF的配置 今天我们来谈谈路由器OSPF的配置,那我先来介绍一下OSPF的特点: 1.对网络发生的变化能够快速响应 2.当网络发生变化的时候发送触发式更新 •3.支持VLAN 4. ...

最新文章

  1. .net中close和dispose及关闭流操作
  2. php 检测密码,php检测密码强度
  3. win7如何设置通电自动开机_电脑自动开机,教您怎么设置电脑自动开机
  4. C#变量命名的几种方式—C#基础回顾
  5. You third iOS app,这个APP要放到手机上面运行,才会成功,才会新建记录。
  6. HTML中光移动边框,CSS 边框各边
  7. stc89c51单片机音乐盒系统设计_基于单片机的火控系统语音报读设计
  8. Ruby On Rails --环境搭建之回眸一笑
  9. 编译cwm-recovery(含部分修改步骤)[转]
  10. 【Android】OKHTTP使用
  11. CSDN内容变现渠道
  12. 阿里巴巴2011公开赛1004 Level up HDU 3954 线段树
  13. html5+JS制作音乐播放器
  14. 浅谈mysql的执行计划是何方神圣
  15. poi版本冲突导致连续报错NoSuchMethodError、VerticalAlignment无法转换为short和ClassNotFoundException的解决办法及兼容性问题解决
  16. 跟着老猫来搞GO-基础语法
  17. Qt for python QChartView鼠标滚动放大缩小
  18. TCP 聊天工具[python]
  19. fre740变频器参数_三菱变频器参数设置教程
  20. vnc server下载,vnc server下载怎么下载?教程详解

热门文章

  1. 练习--手机产品信息--函数、文件读写
  2. 大数据架构师之路-大数据解决方案大全
  3. 【MAYA】如何用MAYA将mixamo中导出的动画制作成RootMotion根骨骼动画
  4. cesium学习--初识
  5. (翻譯) 註解程式碼的13個建議 (C/C++)
  6. TA-Lib 在linux下的安装
  7. Java输入输出(IO)和流的基本概念以及几种方法
  8. ubuntu12.04打字软件
  9. 【ELT.ZIP】OpenHarmony啃论文俱乐部——即刻征服3D网格压缩编码
  10. 音乐相册怎么做?3步快速学会制作微信朋友圈的精美音乐相册效果