前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CloudFront 配置与分析:开篇

CloudFront 配置与分析:开篇

作者头像
lukachen
发布2024-05-15 21:45:15
1690
发布2024-05-15 21:45:15
举报
文章被收录于专栏:LukaChen BlogLukaChen Blog

作为云产品开发,玩好云产品、理解云产品的底层逻辑,也是重要功课之一。 本系列对 AWS CloudFront 产品做一下基础配置体验与使用分析。

太长不看

  • CloudFront 是什么
  • CDN 原理与解决的问题
  • CloudFront 基础配置流程
  • tcpdump 抓包与分析
  • 结语

01/CloudFront 是什么

这里摘录一段官网的说明。CloudFront 是一项网络服务,它可以加快向用户分发静态和动态网页内容的速度,例如 html、css、js、image 文件。它通过一个遍布全球的数据中心网络(称为边缘节点)来传递您的内容。

当用户请求您通过 CloudFront 提供的内容时,请求会被路由到提供最低延迟(时间延迟)的边缘节点,以便以最佳性能交付内容。

CloudFront 直译过来是 “云前端”,它是一个 CDN 产品。

02/CDN 原理与解决的问题

原理 关于 CDN 原理,下述有一张比较形象的图用于解释(外部引用)

从上述流程图可知:

  • 用户发起请求:用户向 http://www.test.com/1.jpg 请求资源。
  • DNS 解析:浏览器向 DNS 服务器发起域名解析,域名解析发现配置 CNAME 到 CDN 的调度域名,DNS 递归查询到 CDN 调度系统。
  • 调度决策:调度服务会将最佳接入节点(边缘节点)IP 返回。
  • 缓存判断:浏览器向 IP 发起请 1.jpg 访问请求,此时进入 CDN 接入节点,接入节点会检查其缓存是否有用户请求内容。
  • 缓存命中:如果内容存在于缓存中,接入节点直接将内容返回给用户。
  • 缓存未命中:如果内容不在缓存中,接入节点向源服务器发起请求,获取内容(其中可能会经过多层中间源节点,这里涉及请求收敛策略,进一步降低源站压力)。
  • 缓存并传输内容:接入节点将从源服务器获取的内容存储在缓存中,并将内容传输给用户。
  • 浏览器渲染:用户设备接收到内容,浏览器开始渲染页面。

解决的问题 概要的说,CDN 服务是为了降低服务提供方成本(资源成本、运营成本),提高用户体验。 因为其能通过大量就近接入节点,提供快速请求响应和资源缓存,并提供访问控制、边缘计算、安全等增值能力。

费用案例:

以 100G 流量为例月消费,优惠后大约为 96.89 人民币,这通常比带宽费用要实惠,且比非 CDN 方案投入去运营服务器和带宽人工、技术成本要低,只需做一些配置接入即可。

03/CloudFront 基础配置流程

创建分配

源站配置

缓存配置

函数、WAF、备用域名等(都按默认不配置)

配置完毕后,分配了一个域名 d37z7ecg72nt7t.cloudfront.net(本篇直接使用该域名,后续篇章再配置自定义域名)

04/tcpdump 抓包与分析

登录源站 sg.lukachen.work 所在服务器,抓包并写入 test.pcap 文件(把网卡出入的包全抓了,用 wireshark 再做过滤重组。注意!抓包会消耗大量 CPU 和硬盘资源,如果在现网服务器,需在负载低峰或经过较为合理的过滤参数与评估决策后执行)

代码语言:javascript
复制
tcpdump -i eth0 -w test.pcap

本地浏览器访问资源(也可以用 curl),发现响应 404,翻车了。。。排查原因

代码语言:javascript
复制
curl https://d37z7ecg72nt7t.cloudfront.net/1.txt

登录服务器,终止抓包,并将抓包文件发送到本地 wireshark 分析

代码语言:javascript
复制
sz test.pcap -y

wireshark 包定位,1.txt 关键字过滤并使用 Follow TCP Stream 进行 TCP 包重组

重组后可看到,请求头,通过分析根因是请求头中的 Host,我服务器并没有配

去配置上,重载 nginx 配置

再请求,通啦!

重复上述抓包动作,再看一下相关头部信息

05/结语

好了,上述就是本次开篇的内容,并涉猎了 tcpdump 服务端抓包与 wireshark 重组分析。

CDN 是现代互联网基础设施的重要组成部分,尤其对于需要全球分发内容的大型网站和服务来说,CDN 是提高性能和用户满意度的关键技术。

在本章中,我们已经探讨了 CloudFront CDN 基本概念、工作原理和基础配置。 在接后续章节中,我们将更深入了解 CloudFront 每个配置项的用法和抓包分析,进一步探讨如何针对不同的业务需求进行优化,并通过测试案例展示。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 太长不看
  • 01/CloudFront 是什么
  • 02/CDN 原理与解决的问题
  • 03/CloudFront 基础配置流程
  • 04/tcpdump 抓包与分析
  • 05/结语
相关产品与服务
内容分发网络 CDN
内容分发网络(Content Delivery Network,CDN)通过将站点内容发布至遍布全球的海量加速节点,使其用户可就近获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档