【亚马逊云科技】通过Amazon CloudFront(CDN)快速访问资源

news/2025/3/4 14:58:16/

文章目录

  • 前言
  • 一、应用场景
  • 二、【亚马逊云科技】CloudFront(CDN)的优势
  • 三、入门使用
  • 总结


前言

前面有篇文章我们介绍了亚马逊云科技的云存储服务。云存储服务主要用于托管资源,而本篇文章要介绍的CDN则是一种对托管资源的快速访问服务,用于加速静态资源的加载速度。

亚马逊云科技 的Amazon CloudFront即是一种内容分发网络 (CDN) 服务,旨在获得优异性能、安全性和开发人员便利性。

CloudFront 通过全球数据中心(称作边缘站点)网络分发内容。当最终用户请求您用 CloudFront 提供的内容时,请求将以最低的延迟被路由至离最终用户最近的边缘站点。


一、应用场景

开发学习中,我们在引入知名度比较高的插件或者框架时,经常会遇到提供CDN引入的方式。比如vue.js的某个cdn服务:https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.cjs.js,比如jQuery的cdn地址:https://cdn.bootcdn.net/ajax/libs/jquery/3.7.1/jquery.js。

应用CDN服务,当我们需要对应的资源时,无需下载,也可以直接应用在项目中。只要在联网环境下,就能快速访问资源。

在日常开发场景中,CDN服务应用颇广,包括但不限于以下场景:

  1. 网站加速:CDN可以加速静态和动态内容的分发,如网页、图片、视频和JavaScript文件等,从而提升网站的整体性能和用户体验。
  2. 视频流媒体:对于需要分发大量视频内容的业务,如在线教育、在线娱乐等,CDN可以有效地加速视频的传输,减少加载时间,提高视频的流畅度和观看体验。
  3. 大文件分发:对于需要分发大文件的应用场景,如软件更新、游戏下载等,CDN可以高效地分发大文件,减少用户的等待时间。
  4. 电子商务:在电子商务领域,CDN可以加速产品图片的加载,提高用户浏览和购买的体验。同时,CDN还可以帮助减轻服务器负载,提高网站的稳定性和安全性。
  5. 游戏分发:CDN可以加速游戏更新和补丁的分发,提高玩家的游戏体验。
  6. 全球负载均衡:CDN可以在全球范围内提供负载均衡服务,将用户的请求分发到离用户最近的服务器上,从而提高响应速度和用户体验。
  7. 小程序静态资源传输:小程序由于体积限制,静态资源过多时不建议打包在项目中,图片、视频、插件等资源又需要很高的传输要求,以满足用户体验。所以小程序静态资源上云服务器时,一般都需要CDN服务,保证传输效率。

二、【亚马逊云科技】CloudFront(CDN)的优势

CloudFront有亚马逊云科技背书,已成功服务于本田、丰田、道琼斯等国际大企业,可以说在稳定性方面是无可挑剔的。官网列举的客户页面

对比其它友商,CloudFront提供的免费套餐,可谓是诚意满满:

  1. 每月传出 1TB 数据至互联网
  2. 每月 10000000 个 HTTP 或 HTTPS 请求
  3. 每月 200 万次 CloudFront 函数调用
  4. 每月 200 万次 CloudFront KeyValueStore 读取
  5. 免费 SSL 证书
  6. 无限制,所有功能均可用

免费套餐已经足以支撑大部分个人项目和小型初创公司的业务。如果您有定制需求,可以通过官网提供的报价页面地址:https://aws.amazon.com/cn/contact-us/sales-support/?pg=cloudfrontprice&cta=herobtn,便捷计算报价。

在这里插入图片描述

除了这些显而易见的优势,CloudFront还有以下优势:

1.网络节点覆盖全球:可靠、低延迟和高吞吐量网络连接
2. 安全性:针对网络和应用层攻击的保护、SSL/TLS 加密和 HTTPS、访问控制、合规性
3. 可用性:减少了来源上的工作负载,为源启用冗余
4. 边缘计算: 通过 CloudFront Functions 和 Amazon Lambda@Edge 提供可编程和安全的边缘 CDN 计算功能
5. 实时指标和日志记录
6. 适用于开发运维:快速更改传播和失效、功能完备的 API 和开发运维工具
7. 持续部署:CloudFront 的持续部署为您提供了高级别的部署安全性
8. 经济高效:提供大额免费套餐,并为每个使用级别制定价格选项

更多详细优势,同学们可以注册亚马逊云科技账号后,登录控制台,深入了解。具体注册流程如下:

  • 打开亚马逊注册页面,我们可以注册账户。与国内云厂家不同的是,亚马逊注册账户需要信用卡。
    在这里插入图片描述

  • 登录账户:注册账号后,输入刚才的账号,登录。
    在这里插入图片描述

三、入门使用

根据官网提示,使用CloudFront只需要三个步骤:

  1. 登录控制台
  2. 创建分配(创建CDN)
  3. 使用CDN服务获取资源
    在这里插入图片描述
    我们重点介绍第二步——创建分配:
  4. 准备资源,可以是任意云服务器资源,也可以是使用亚马逊S3云存储创建的静态资源。
  5. 打开CloudFront创建页面:在这里插入图片描述
    在这里插入图片描述
  6. 配置参数,入门级使用CDN服务,只需要关注三个参数:origin domain、name、origin access
  • origin domain——源服务器,可以写我们创建的S3存储桶
  • name——名称
  • origin access——来源访问,系统默认选择来源访问控制设置,如果第一次使用CDN服务,这个选项选择public(公开),可以让我们快速体验CDN服务。

其它选项均不用修改,选择默认即可。
在这里插入图片描述
创建成功后,会生成一个分配域名,如图:
在这里插入图片描述
这个域名再加上存储桶中的相对路径,即是CDN最终访问路径。下图中黑框隐掉的是分配域名,后面的地址为存储桶中资源相对地址:
在这里插入图片描述

总结

亚马逊云科技的CDN服务,不论是从产品性能还是性价比,都有很大的优势,是个人和企业的首选。并且亚马逊云科技其它配套产品质量稳定,种类齐全,使用亚马逊云科技全家桶,可以节省精力,省去很多成本,减轻使用者的心智负担。

官网地址:亚马逊云科技


http://www.ppmy.cn/news/1368166.html

相关文章

[⑥5G NR]: 无线接口协议,信道映射学习

5G系统整体包括核心网、接入网以及终端部分,接入网与终端间通过无线空口协议栈进行连接。无线接口可分为三个协议层:物理层(L1)、数据链路层(L2)和网络层(L3)。 L1:物理…

Pytorch学习 day02(加载数据)

加载数据 * Dataset提供一种方式:来获取数据及其label,给数据进行编号 * Dataloader为神经网络提供不同的数据形式 Dataset的组织形式有很多种,例如: 将label放在文件夹名上,如下: #Dateset # --train #…

MWC 2024丨美格智能发布全新5G-A模组及FWA解决方案,将5.5G带入现实

2月26日,在MWC 2024世界移动通信大会上,美格智能正式宣布推出5G-A模组SRM817WE以及全新的5G-A FWA解决方案,包含5G-A CPE解决方案SRT858M、5G-A MiFi解决方案SRT878H和5G-A ODU解决方案SRT853MX,旨在进一步提升网络性能&#xff0…

SpringCloud微服务-Eureka注册中心

Eureka注册中心 文章目录 Eureka注册中心前言1、Eureka的作用2、搭建EurekaServer3、服务注册4、启动多个实例5、服务拉取 -实现负载均衡 前言 在服务调用时产生的问题: //2. 利用RestTemplate发起HTTP请求,查询user String url "http://localho…

Unity AStar寻路算法与导航

在游戏开发中,寻路算法是一个非常重要的部分,它决定了游戏中角色的移动路径。Unity作为一款流行的游戏开发引擎,提供了许多内置的寻路算法,其中最常用的就是AStar算法。AStar算法是一种基于图的搜索算法,通过启发式搜索…

算法学习路径图

1.总览 算法学习路径 2.学习资料 2.1 Java算法与数据结构 Java算法与数据结构

SpringCloud gateway限流无效,redis版本低的问题

在使用springCloud gateway的限流功能的时候,配置RedisRateLimiter限流无效,后来发现是Redis版本过低导致的问题,实测 Redis版本为3.0.504时限流无效,改用7.0.x版本的Redis后限流生效。查了资料发现很多人都遇见过这个问题&#x…

Laravel框架: Call to a member function connect() on null 异常报错处理

Laravel框架: Call to a member function connect() on null 异常报错处理 Date: 2024.03.01 21:03:11 author: lijianzhan 原文链接: https://learnku.com/laravel/t/63721 问题: local.ERROR: Call to a member function connect() on null {"…