阿里云CDN搬站第二期 运维及管理

本文涉及的产品
.cn 域名,1个 12个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: CDN通过在现有网络中增加一层新的cache节点,将源站的内容发布到最接近用户的网络节点,使得客户端在请求时直接访问命中该资源,减少回源情况,提高网站访问速度,因此很多业务都需要使用CDN进行分发。因此本文就CDN的及优化策略提供思路,便于将业务切到CDN上来1、了解阿里CDN 阿里最初也是租用第三方 CDN,结果存在功能欠缺及不稳定等诸多问题,整个系统的 规模、性能、可用性和可管理性都不符合阿里的需求,为了满足更大规模的并发需求,阿里CDN也由此应运而生。

CDN通过在现有网络中增加一层新的cache节点,将源站的内容发布到最接近用户的网络节点,使得客户端在请求时直接访问命中该资源,减少回源情况,提高网站访问速度,因此很多业务都需要使用CDN进行分发。因此本文就CDN的及优化策略提供思路,便于将业务切到CDN上来
1、了解阿里CDN
阿里最初也是租用第三方 CDN,结果存在功能欠缺及不稳定等诸多问题,整个系统的 规模、性能、可用性和可管理性都不符合阿里的需求,为了满足更大规模的并发需求,阿里CDN也由此应运而生。
目前阿里CDN的简单架构如下图,CDN节点可分为L1节点和L2节点,L1节点分布在全国各省市,L2节点分布在几个大区:
_1

1.客户端在请求一个域名时,会先向本地的localdns查询域名对应的IP地址,localdns再向权威DNS进行查询,由阿里CDN进行调度,给出此localdns对应分配的节点。
2.客户端向节点发起建连,当L1节点有缓存则会HIT,直接将数据吐给客户端。当无资源缓存时,会向L2节点进行请求对应的资源,同理L2有缓存则直接返回,无缓存就会回客户源站取资源,并按照配置的缓存策略进行缓存。
了解CDN的架构、调度以及缓存逻辑,是业务稳定的第一步,而如何实现CDN的分发,并提高CDN的缓存命中就是一个很关键的需求。

2、命中率优化:

  1. 预热功能是指将URL提前上传到CDN的L2节点上,再次访问时无需从源站获取资源,因此预热可以减少回源,保证访问效果。预热的前提是配置了域名缓存,只有配置了对应的缓存规则,按照业务需要配置缓存后测试是否生效,可以通过curl命令测试,查看文件是否有HIT:
    image

对于文件量大的情况,可以调用接口进行预热,注意预热是有队列限制的,队列为100,如果调用过快会报错,这也是避免大量文件进行回源打垮源站
https://help.aliyun.com/document_detail/91161.html
若有在其他厂商使用CDN,可以导出近期URL访问top列表,在阿里CDN控制台进行预热,然后再进行切量。

刷新则是当源站有文件更新时,需要调用刷新,将节点上缓存的旧文件进行刷新。刷新后CDN节点的缓存内容将会被强制过期。当您向CDN节点请求资源时,CDN会直接回源站拉取对应的资源返回给您,并将其缓存。

对于源站是oss的情况,可以在OSS上配置文件自动刷新,不用人工去管理
image

  1. 去参数缓存
    阿里CDN是根据URL完整匹配进行缓存的,即对于带参数的请求,如http://www.abc.com?123,默认是不会和http://www.abc.com使用同一个缓存的。因此对于URL中带参数和不带参数其实是一个文件的业务,可以开启去参数缓存,将参数去除,改为同一个缓存,提高文件命中率:
    https://help.aliyun.com/document_detail/27128.html
  2. 开启gzip压缩
     GZIP压缩可以减少传输内容大小,当CDN开启GZIP压缩后,客户端请求带上Accept-Encoding:gzip头时,CDN会响应GZIP的资源:
    
    https://help.aliyun.com/document_detail/27127.html
    通过curl测试同样也能看到是否生效:
    image

3、CDN防盗链/URL鉴权
盗链常见于某些网站直接将其他网站的资源放到自己页面上,骗取最终用户的浏览和点击率,而真正的服务网站却得不到任何的收益。因此我们可以开启防盗链,将referer来源禁用,或者只允许某一页面来源请求:
https://help.aliyun.com/document_detail/27134.html
测试可发现防盗链已生效:
_2

同时辅以URL鉴权,保护站点的内容资源不被非法站点下载盗用

https://help.aliyun.com/document_detail/85117.html

4、RAM授权:
针对不同场景可以配置不同的授权策略,比如针对只想允许子账号拥有只读以及刷新预热权限,可以使用如下策略,如有需要其他策略,可以按照ram授权策略自行授权:

{
"Version": "1",
"Statement": [
{
"Action": [
"cdn:Describe",
"cdn:PushObjectCache",
"cdn:RefreshObjectCaches"
],
"Resource": "
",
"Effect": "Allow"
}
]
}

5、云监控告警:
目前CDN有对接云监控,可以关注域名的指标变化看业务是否有异常,建议针对5xx状态码、下行流量等进行监控,如有变化时第一时间提醒消息接收人,避免业务影响进一步扩大
https://help.aliyun.com/document_detail/113988.html

6、日志分析
用户访问出现异常时,可以先通过CDN控制台的监控初步判断是否有异常,当看错误率没有明显变化时,可以下载CDN日志进行判断,当时用户的访问是否有异常。
目前CDN常见有两种日志

1. 历史日志:历史日志目前延时在4小时左右,可以用于分析历史问题,梳理用户异常。日志字段可参考:

https://help.aliyun.com/document_detail/27142.html
image

2. 实时日志:实时日志延时时间短,当出现问题时,可以马上查看日志情况,且日志结合了sls日志服务,可以快速统计需要的数据,比如客户端访问top10、状态码分布top情况等。也建议开通实时日志,便于问题排查

https://help.aliyun.com/document_detail/91314.html
image

相关文章
|
3天前
|
人工智能 运维 Kubernetes
阿里云容器服务AI助手2.0 - 新一代容器智能运维能力
2024年11月,阿里云容器服务团队进一步深度融合现有运维可观测体系,在场景上覆盖了K8s用户的全生命周期,正式推出升级版AI助手2.0,旨在更好地为用户使用和运维K8S保驾护航。
|
6天前
|
弹性计算 运维 监控
云资源运维难?阿里云免费工具来帮忙
阿里云推出免费运维工具——云服务诊断,帮助用户提升对云资源的运维效率、降低门槛、减轻负担。其核心功能包括「健康状态」和「诊断」。通过「健康状态」可实时查看云资源是否正常;「诊断」功能则能快速排查网络、配置、安全等问题,并提供修复建议,助您迅速恢复业务。体验评测活动火热进行中,参与即有机会赢取索尼头戴耳机、小米背包等好礼。活动链接:https://developer.aliyun.com/topic/cloud-health。
144 9
|
16天前
|
对象存储 CDN
阿里云CDN边缘脚本实现+字符转义%2B
对象存储OSS中,文件名包含+字符时,请求URL未转义会导致404错误。解决方法是将URL中的+字符转义为%2B,或通过CDN/DCDN边缘脚本自动转义。示例脚本:若URI包含+,则替换为%2B。
58 10
|
26天前
|
网络协议 网络安全 Docker
将Certbot/ACME.sh自动化申请的证书自动部署到阿里云CDN
本文介绍了阿里云 CDN SSL 证书自动更新工具,定期检查证书有效期,使用Let's Encrypt 等工具签发的证书自动更新至阿里云 CDN,支持 Docker 及 .NET 8 部署,简化证书管理流程。
|
3月前
|
云安全 网络安全 CDN
阿里云CDN遇到攻击?别慌,教你如何应对!
阿里云CDN遇到攻击?别慌,教你如何应对!
|
3月前
|
缓存 监控 安全
阿里云CDN设置阀值的指南
阿里云CDN设置阀值的指南
|
3月前
|
缓存 前端开发 JavaScript
阿里云CDN:怎么让网站变快
阿里云CDN:怎么让网站变快
|
3月前
|
监控 安全 BI
阿里云国际跨账号迁移CDN域名操作步骤
阿里云国际跨账号迁移CDN域名操作步骤
|
3月前
|
运维 Linux Apache
,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具
【10月更文挑战第7天】随着云计算和容器化技术的发展,自动化运维成为现代IT基础设施的关键部分。Puppet是一款强大的自动化运维工具,通过定义资源状态和关系,确保系统始终处于期望配置状态。本文介绍Puppet的基本概念、安装配置及使用示例,帮助读者快速掌握Puppet,实现高效自动化运维。
70 4
|
2月前
|
机器学习/深度学习 运维 监控
智能化运维:从自动化到AIOps的演进之路####
本文深入探讨了IT运维领域如何由传统手工操作逐步迈向高度自动化,并进一步向智能化运维(AIOps)转型的过程。不同于常规摘要仅概述内容要点,本摘要将直接引入一个核心观点:随着云计算、大数据及人工智能技术的飞速发展,智能化运维已成为提升企业IT系统稳定性与效率的关键驱动力。文章详细阐述了自动化工具的应用现状、面临的挑战以及AIOps如何通过预测性分析和智能决策支持,实现运维工作的质变,引领读者思考未来运维模式的发展趋势。 ####