1、CDN

1.1 概述

cdn:内容分发网络,分布式缓存

BGP:边界网关协议

1个ip对应多个线路,加快用户访问速度

云服务器默认是BGP线路(多线路)

CDN分布式缓存:让用户就近访问,访问速度加快

使用CND加速前:

使用CND加速后:

第6步:用户请求到cdn缓存,如果有用户的数据,则返回给用户;如果没有,则反向代理,cdn缓存会找源站点服务器,数据返回给cdn,再返回给用户。最终,用户就得到了资源。

1.2 搭建流程

cdn缓存静态资源,必须事先申请好域名

然后配置缓存策略

配置cname

1)创建源站服务器

购买ecs,提前部署好nginx:

站点名字:www.ddylive.com

[root@aliyun-web01 ~]# systemctl is-active  nginx
active
[root@aliyun-web01 ~]# seq 1000 | tee /usr/share/nginx/html/index{01..10}.html
2)开通cdn

搜索cdn

点击开通:

点击进入管理控制台。

3)添加域名

点击域名管理—>添加域名:

选择相关信息:

如果域名不备案,则无法使用仅中国内地

加速域名:填写域名

业务类型:根据实际选择

源站信息:

填写源站服务器ip,其他默认即可

然后确定。

如果源站有多个,可以继续添加。

然后点击下一步:

OK,域名配置成功。

4)CNAME配置

在域名的服务商(也就是在哪里买的域名就在哪里配置)

在域名解析中添加CNAME解析,CNAME的值是:www.ddylive.com.w.cdngslb.com

配置如下:

添加CNAME:

填写信息如下:

注意:配置CNAME之前,要把已有的A记录删除。最终如下:

等待生效即可。由于域名服务商跟cdn服务商不是同一个,所以可能会有问题。

因此,建议cdn和域名为同一个服务商。

以阿里云为例:把非阿里云的域名添加如下:

最终配置完成如下:

5)测试

使用dig命令查看

由于域名和cdn不是同一个服务商,可能不稳定。dig不会显示CNAME信息

使用curl -v:

结果有X-Cache即可。

6)CDN刷新与预热

预热:把新的内容缓存到cdn

刷新:更新cdn已有的缓存(先清空已有的缓存,然后主动找源站更新)

预热:

提交即可:

CDN故障案例:

故障背景:开发人员更新页面或文件js,css,html发现没有生效。

排查流程:

1、Linux查看文件是否更新
2、通过浏览器F12,命令行curl等测试
3、根据用户访问流程排查,dns、cdn、lb、web、db、oss等
4、发现cdn缓存没有刷新导致的

预防:

1、每次更新进行刷新
2、更新的时候修改文件名字

1.3 流量费用计算

比如,每天平均峰值带宽10Mbps,每个月100G流量

按照峰值带宽计算:10*0.6=6元/天,假设1M一天0.6元

按照流量计算:100×0.24×12=288一年,假设1G每月0.24元

2、NAT网关

2.1 概述

阿里云实现iptables nat功能(snat和dnat)

snat:共享上网

dnat:端口映射

2.2 nat配置

1)搜索nat网关

创建网关:

设置好地域、专有网络、交换机、实例名称,选择稍后配置,购买即可。

购买成功如下:

2)配置snat

设置sant—>点击设置sant:

创建snat条目:

选择ECS/弹性网课粒度,选择需要上网的ecs,比如web02.使用单ip—>购买弹性公网ip:

点击确定:

选择购买的公网ip后,点击确定创建即可,最终如下:

OK,sant配置完成。

web02:执行curl cip.cc命令,返回公网ip

[root@aliyun-web02 ~]# curl cip.cc
IP      : 47.96.105.223
地址    : 中国  浙江  杭州
运营商  : 阿里云/电信/联通/移动/铁通/教育网

数据二  : 浙江省杭州市 | 阿里云

数据三  : 中国浙江省杭州市 | 阿里云

URL     : http://www.cip.cc/47.96.105.223
[root@aliyun-web02 ~]# 
3)配置dnat

公网222端口转发到web01的80端口:

3、高速通道(CEN云企业网)

两个vpc之间内网互通。阿里云中比较贵。

4、ess弹性伸缩

4.1 概述

根据我们指定的指标(cpu、内存、网络、存储…)进行ecs扩容或缩容

通过ess添加的机器,自动的添加到slb(服务器组),rds(mysql,redis白名单)

指定ess模版。

4.2 环境准备

负载clb、web(已提前准备好)、rds

web要创建自定义镜像

1、添加clb

配置后端服务器:

添加后端服务器:

使用默认服务器组:

然后下一步即可。

2、添加rds数据库

根据需要选择:

下一步购买即可。

勾选加入白名单,然后确定即可。

3、ecs创建镜像

选择一个实例,创建即可:

4.3 创建ess

搜搜ess—>弹性伸缩

1)ess模版

选择一个实例:

最小、最大实例数、冷却时间:根据时间修改:

交换机:选多几个,已有实例:全部都选

关联clb:

关联rds:

最后,点击确认即可。添加成功如下:

2)修改镜像

修改镜像:

默认是官方的,修改为自定义的镜像:

3)伸缩规则

创建报警任务

系统赋值一般用平均值,这里为了演示,使用最大值

统计周期、次数:根据实际设置

点击创建伸缩规则:

添加好规则,后会回到创建报警任务页面,选择报警触发条件:

点击确定即可。

报警任务创建后,如下:

4)测试

连接到1台ecs,把负载弄高

[root@aliyun-web02 ~]# yum install -y stress
[root@aliyun-web02 ~]# stress --cpu 2 --timeout 999

观看详细信息:

发现,添加1台机器中。

最终添加到5台:因为设置了最大是5

超出的,就添加失败:

OK,弹性伸缩配置完成。

5、阿里云与自动化

5.1 批量管理阿里云资源概述

阿里云自动化发展

1、手动操作,手动创建
2、阿里云api接口(增删改查),开发语言Python、go...
3、aliyuncli(通过命令调研api接口),ram
4、ansible中的阿里云模块,ram
5、运维编排(oss)、资源编排(ros)

5.2 oos与ros

资源编排ros:管理与创建个中实例(创建环境,批量部署环境)

运维编排oos:批量管理,自动化运维,ansible

1)oos

公共模块:

案例:发送命令

点击发送远程命令—>创建执行

点击创建执行:

选择参数:

选择实例:

创建:

2)ros

点击常见部署案例:有一些模版示例

选择一个,点击创建资源栈:

选择相关参数:

创建即可:

6、阿里云与安全

6.1 安全组

类型:普通俺去组、企业安全组

普通安全组是一种虚拟防火墙,具备状态检测和数据包过滤功能,用于在云端划分安全域。您可以通过配置安全组规则,允许或禁止安全组内的ECS实例对公网或私网的访问。内网互通。 企业级安全组是一种全新的安全组类型,相比原有的普通安全组,大幅提升了组内容纳实例数量,不再限制组内私网IP数量,规则配置方式更加简洁便于维护,适用于对整体规模和运维效率有较高需求的企业级用户。

企业级安全组:要求与控制更严格,默认所有规则包括内网互通的规则,都是拒绝的。

6.2 云安全中心

可以免费使用7天。

例如:漏洞修复

下载rpm包网站:http://www.rpmfind.net

源码包:

sourceforge.net
github.com
gitee.com

等宝测评:

1、vpn+堡垒机
2、安全加固的项目
3、漏洞扫描,报告

6.3 waf防火墙

waf:应用防护墙,7层的防火墙,通过攻击包含的特征进行屏蔽与控制

iptables/安全组:4层防火墙(控制端口和ip)

SQL注入,sqlmap

未对用户输入的信息进行过滤,禁止输入特殊符号,例如:&&&  |||  ???

应用场景:

7层的防火墙
DOS 拒绝式服务攻击  1个人访问
DDOS 分布式拒绝服务攻击  多人
攻击者借助代理服务器生存指向受害主机的合法请求,实现DDOS和伪装就叫:CC(Challenge  Collapsar)

防数据泄漏,避免因黑客的注入入侵攻击,导致网站核心数据被拖库泄露
防恶意CC,通过阻断海量的恶意请求,保障网站可用性
阻止木马上传网页篡改,保障网站的公信力

提供虚拟补丁,针对网站被曝光的新漏洞,最大可能地提供快速修复规则

使用waf后的访问流程有几种:

用户—>waf(CDN,ALB/CLB)—->网站

用户—>CDNWAF—>WAF—>SLB—>网站

收费产品:

开通按量:选择中国内地区域,则域名必须先备案。

收费方式:

使用流程:

1)点击接入

需要验证:添加txt

等生效后,点击验证即可:

其他保持默认,点击下一步:

2)配置转发:

负载均衡算法选择:轮询

服务器地址:选ip,然后输入ip地址

其他的保持默认,点击提交即可。会得到CNAME值,然后给域名配置CNAME解析。

3)配置CNAME

添加域名的CNAME解析

使用:dig 域名 命令查看CNAME解析是否生效

最终用户访问流程:

用户—>域名-CNAME—>WAF—>slb(如果有)—>网站

那怎么加入CDN?

4)加入cdn

加入CDN后,访问流程:

用户—>域名–CNAME—>CDN—源站–WAF(CNAME)—>slb(如果有)—>网站

接入cdn:

添加域名:

由于域名没备案,所以选全球(不包含中国内地):

点击下一步:

点击一键配置:

得到CNAME值,然后到域名后台配置此CNAME解析即可。如下:

5)域名解析CNAME

由于域名没有备案,所以无法演示全流程。