• 沒有找到結果。

应用双写

如果数据是在应用服务侧产生,或者数据在客户端产生但通过服务端将数据写入对象 存储,则建议使用双写方案,架构如下:

此时业务应用可对接两家对象存储的SDK,将文件以同步模式或者异步模式写入两家 对象存储。对象存储的上行流量免费,所以该架构不会增加任何成本。

数据回源

如果数据上传逻辑不做改变,则可使用OBS的“数据回源”功能,在文件访问请求到 达OBS而OBS桶里没有该文件时,可通过“数据回源”将客户端请求重定向到设定的 源站并异步地从源站将数据拉取到OBS存储下来,架构如下:

详细流程说明:

1. 客户端向华为CDN发起获取文件的请求

2. 华为CDN回源到华为OBS请求文件,OBS侧事先配置好数据回源,当请求的文件 不存在时,会响应302重定向到配置的源站(此处为其他云对象存储)

3. 华为CDN接收到OBS返回的302请求 4. OBS异步从客户配置的源站请求文件

5. 华为CDN处理302跳转到其他云对象存储侧获取数据

最佳实践 1 CDN 加速 OBS 桶文件

6. 其他云对象存储响应华为CDN的文件请求

7. 华为CDN将文件内容返回给客户端,当下次客户端请求同样的文件时,华为CDN 直接回源到OBS获取。

说明

“数据回源”功能是被动触发式,即只有向OBS发起请求后OBS才会到设置的源站将数据拉取过 来,所以当一个新文件上传到其他云对象存储后,建议业务应用程序向OBS触发一个GET请求来 请求数据(发起GET请求后可关闭连接,无需接收实体数据)。另外该架构会在其他云对象存储 侧产生两份数据流量(针对同一个文件,CDN拉取一次,OBS拉取一次)。

Serverless 触发式上传

不改变原有的上传逻辑,当文件上传到其他云对象存储后,触发函数计算服务,通过 Serverless方式将文件同步到华为云OBS,架构如下:

1-1 Serverless 触发式上传

该架构需要客户在其他云启用函数计算服务并部署上传文件到OBS的代码,会产生函 数计算服务的费用。

最佳实践 1 CDN 加速 OBS 桶文件

2 CDN 加速 ECS 资源

前提条件

● 已购买弹性云服务器ECS,且绑定弹性公网IP。

● 已经按照域名准入要求准备好需要接入的域名。

● 已开通CDN服务。

背景介绍

ECS(弹性云服务器)是由CPU、内存、操作系统、云硬盘组成的基础的计算组件,可 以根据业务灵活配置,节约大量的硬件成本。ECS服务分区域,跨区域访问会存在网络 延时的问题,影响用户体验。

华为云CDN可以有效加速网站,为用户提供良好的体验。通过CDN加速ECS资源,这 样构造的业务系统可以在降低成本的同时,提高终端用户使用感受。当终端用户发起 访问请求时,会首先通过CDN查找对此域名响应速度较快的CDN节点,并查询此节点 是否有缓存终端用户请求的内容。如果CDN节点有缓存用户所需资源,直接将资源返 回给用户;如果CDN节点无缓存,则回源请求资源返回给用户,同时将资源缓存到 CDN节点。

方案优势

● 用户访问网站资源,全部通过CDN,降低源站压力。

● 使用CDN流量,单价低于ECS直接访问外网流量,可以节约50%到57%的带宽成 本,详见通过CDN减少公网带宽费用。

● 终端用户从距离最近的CDN节点获取资源,减少网络传输距离,保证静态资源质 量。

最佳实践 2 CDN 加速 ECS 资源

配置步骤

1. 在CDN控制台添加加速域名

a. 登录华为云控制台,选择“所有服务 > CDN与智能边缘 > CDN”,进入CDN 管理控制台。

b. 单击左侧“域名管理”,进入域名管理页面。

c. 在域名管理页面单击“添加域名”。

d. 在“添加域名”弹框中配置域名及CDN加速等信息,参考添加CDN加速域 名。

加速域名:此处以download.game-apk1.com为例。

服务范围:根据您的业务需要选择服务范围。

业务类型:实际业务结合应用场景选择合适的业务类型。

源站类型:选择源站IP或源站域名。

e. 单击确定,完成域名添加。

最佳实践 2 CDN 加速 ECS 资源

说明

配置过程大概需要5-10分钟,当“状态”为“已开启”时,表示域名添加成功 2. 添加加速域名后,为保证顺利切换不影响业务,建议先做测试再切换DNS解析,

测试流程请参考本地测试加速域名。

3. 配置CNAME

添加加速域名后,CDN会自动生成一条CNAME域名。加速域名在CDN服务中获得 的CNAME域名不能直接访问,必须在加速域名的域名服务商处配置CNAME记 录,将加速域名指向CNAME域名,访问加速域名的请求才能转发到CDN节点上,

达到加速效果。本实践中自动生成的CNAME域名为“download.game-apk1.com.c.cdnhwc1.com”。不同DNS服务商的CNAME配置方式不同,此处以 华为云云解析服务为例。其他DNS服务商的CNAME配置方法可参考配置CNAME 域名解析。

a. 登录华为云控制台,在控制台首页选择“网络 > 云解析服务DNS”,进入云 解析服务页面。

b. 在左侧菜单栏中,选择“域名解析 > 公网解析”,进入公网域名列表页面。

c. 在待添加记录集的域名所在行,单击“域名”列的域名名称。本实践中对应 的域名为“game-apk1.com.”。

d. 单击“game-apk1.com”,进入域名解析页面,然后单击右上角“添加记录 集”,进入“添加记录集”弹出框。

最佳实践 2 CDN 加速 ECS 资源

e. 根据界面提示填写参数配置,下表中未提到的参数可保持默认值。

参数 说明 示例

主机记录 主机记录指域名前缀。 本示例填写:

download 类型 记录集的类型,此处为CNAME

类型。

CNAME-将域名指向另 外一个域名

别名 用于是否将此记录集关联至云服

务资源实例。 否

线路类型 用于DNS服务器在解析域名时,

根据访问者的来源,返回对应的 服务器IP地址。

添加解析线路类型时,切记先添 加默认线路类型,以保证网站可 访问。

全网默认

TTL(秒) TTL指解析记录在本地DNS服务 器的有效缓存时间。如果您的服 务地址经常更换,建议TTL值设 置相对小些,反之,建议设置相 对大些。

默认为“5分钟”,即 300s。

最佳实践 2 CDN 加速 ECS 资源

参数 说明 示例

值 需指向的域名。

如果没有开启CDN加速,该值为 ECS访问域名;如果开启CDN加 速后,该值为CDN分配的 CNAME域名。

download.game-apk1.com.c.cdnhwc1.c om

f. 单击“确定”,完成添加。

g. 验证CNAME配置是否生效。

打开Windows操作系统中的cmd程序,输入如下指令:

nslookup -qt=cname 加速域名

本实践中加速域名为“download.game-apk1.com”。如果回显CDN分配的 CNAME域名,则表示CNAME配置已经生效。

最佳实践 2 CDN 加速 ECS 资源

3 CDN 加速 WAF 防护资源

前提条件

● 已经按照域名准入要求准备好需要接入的域名和华为云账号。

● 已购买WAF。

● 已开通CDN服务。

背景信息

CDN是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服 务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容,所以 接入CDN的网站都能有比较快的响应速度。

Web应用防火墙(WAF:Web Application Firewall),通过对HTTP(S)请求进行检 测,识别并阻断SQL注入、跨站脚本攻击、网页木马上传、命令/代码注入、文件包 含、敏感文件访问、第三方应用漏洞攻击、CC攻击、恶意爬虫扫描、跨站请求伪造等 攻击,保护Web服务安全稳定。

如果您的网站对安全性能要求比较高,同时又有加速的需求,可以使用华为云CDN联 动WAF配置,实现加速的同时防护Web攻击。

CDN+WAF 的配置原理

CDN+WAF联动的业务流向为:CDN>WAF>源站,流量由CDN转发到WAF,WAF再将 流量转到源站,实现网站加速、流量检测和攻击拦截。

配置场景

本文配置以您的WAF在华为云为例,为您介绍开通CDN+WAF联动部署。如果您的 WAF在其它云服务,请参考本文完成配置。

场景1:已购买WAF并添加防护域名,配置CDN+WAF联动

如果您已经将域名接入WAF防御,要配置CDN+WAF联动,您需要先将WAF域名基本 信息中的“是否已使用代理”修改为“是”,WAF才能够针对真实源IP进行安全策略

最佳实践 3 CDN 加速 WAF 防护资源

防御;然后在CDN侧添加加速域名,将WAF的CNAME作为CDN的源站,CDN才能将 流量转发给WAF,实现加速和Web攻击防御联动。

使用限制:

● CDN的加速域名仅支持默认端口,以非标端口的方式接入WAF的防护域名将无法 接入CDN。

● 如果您在WAF侧为防护域名配置了HTTPS证书,请同步在CDN侧完成证书配置,

否则会导致域名无法访问。

操作步骤

1. 根据修改WAF防护域名基本信息指导修改防护域名的代理设置。

– 是否已使用代理:是

2. 复制WAF的CNAME。

3. 在CDN侧添加加速域名(即WAF的防护域名)

a. 登录华为云控制台,在控制台首页左上角选择“服务列表>CDN与智能边缘 >

CDN”,进入CDN控制台。

b. 在左侧导航栏选择“域名管理”,进入域名管理页面。

c. 在域名管理界面,单击“添加域名”,在弹出的对话框中配置域名参数。

源站类型:源站域名,在下方输入WAF的CNAME域名。

最佳实践 3 CDN 加速 WAF 防护资源

d. 单击“确定”完成域名的添加,CDN会为加速域名生成专属CNAME。

说明

● 如果您的WAF是独享模式,需要使用“源站IP”接入CDN,“源站”文本框中请输入 为弹性负载均衡绑定弹性公网IP。

● 如果您的WAF是ELB模式,需要使用“源站IP”接入CDN,“源站”文本框中请输入 WAF实例绑定ELB的弹性公网IP。

4. (可选)添加加速域名后,为保证顺利切换不影响业务,建议先做测试再切换 DNS解析,请参考本地测试加速域名。

5. 在DNS域名服务商处修改解析记录,配置CDN提供的CNAME,详情请参见配置 CNAME。

6. 验证CNAME是否生效。

打开Windows操作系统中的cmd程序,输入如下指令:

nslookup -qt=cname 加速域名

如果回显CNAME,则表示CNAME配置已经生效,如下图:

1. 将网站信息(源站服务器的IP、端口等信息)添加到WAF。配置要点如下。

– 非标准端口:去勾选。

– 是否已使用代理:是。

– 是否已使用代理:是。

相關文件