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
由于域名没有备案,所以无法演示全流程。