阿里云课程大纲
1. 云基本介绍
1.1) 什么是云?
云是一种”按需付费的模式“,这种模式提供了(计算、存储、网络等资源),这些资源能够被快速提供。
- 包年包月
- 按需付费; SIM流量一样; 用多少给多少钱
云只是一种思想,并不是什么具体的技术;云需要依托于虚拟化技术才可以实现。
1.2) 云的分类?
- 公有云(阿里云、腾讯云、亚马逊云)只有使用权,按需付费(技术层面:数据不安全)
- 熊猫TV –> 阿里云; 阿里云投资 –> 斗鱼;
- 熊猫TV –> 迁移云上的业务 –> 腾讯云;
- 私有云(自建机房,自己搭建,所有自行管理 (局限:资源固定))
- 将真实的物理服务器逻辑捆绑成一个虚拟资源池,用户可以根据虚拟资源池按需使用,资源是固定。
- Openstack,Docker,Kubernetes, 私有云; vmware,ESXI5.4(集成了操作系统和虚拟化软件 课下扩展如何安装和使用ESXI) 在公司, 使用多台性能较高的物理主机, 逻辑组成一个庞大资源池;
- 根据业务需要,进行按需创建,使用对应的资源;
- 不对外开发,仅对本公司开放;
- 好处:数据安全,
- 劣势:
- 自己维护,自己管理,成本高;白夜休休模式
- 无法快速的扩展节点;10台机器组成;300-400台的;
- 那私有云跟传统机房有啥区别啊,都是自己弄物理设备
- 私有云: 多台机器逻辑捆绑在一起;组成的资源池; –> 系统平台;
- 传统机房: 物理机器托管在机房; 在物理机上运行资源; –> 3台 –> MySQL Mha
- 也就是都是这堆物理设备,但是对于它们的运用方式不一样
- 混合云(主要业务放私有云、当有临时需求的时候使用公有云,使用结束后释放)
- 按需使用、按需付费、保证业务稳定的同时,也能节省一定的成本。
- 两类场景:
- 1.公司正常的业务运行,资源不够, 借助公有云来快速,高效扩展业务;
- 2.重要的业务,核心的业务,在私托有云平台, 官网, OA, 等等 不是很敏感的信息,托管在公有云;
1.3) 为什么要用云?
- 海量资源池灵活调配 [像大海一样|无尽头]
- 无处不在的网络访问 [随时随地能访问云资源]
- 随需应变的自助服务 [包年包月-电话卡|按需付费-流量包]
- 保证服务的高可用性
- 能实现快速弹性伸缩 [扩展|伸缩|自愈]
- 扩展: 多加一个web节点;
- 伸缩: 减少一个web节点;
- 自愈: 一个节点出现问题 自动调用接口创建相同配置的服务器节点
1.4) 云有哪些厂商?
- 阿里云 | 腾讯云 | Ucloud | 青云 | [ AWS ]
- 华为云 | 京东云 | 滴滴云
1.5) 云上面的产品名词
- 物理服务器 –> 阿里云
- 服务器 –> ECS、快照、镜像,克隆;
- 负载均衡 –> SLB
- 数据库 –> RDS
- 存储服务 –> NAS、OSS
- 防火墙 –> 安全组iptables,firewalld、高防IP、WAF
- 远程访问 –> VPN | JumpServer + OpenVPN
- 消息队列 –> MQ
- 网络 –> 弹性网卡 NAT
1.6) 使用阿里云完成本次课程目标?–> 企业架构
2. ECS产品使用
官方说明文档:https://help.aliyun.com/product/25365.html?spm=a2c4g.11186623.6.540.4db0505cbq8EHp
云服务器(Elastic Compute Service,简称ECS)是一种简单高效、可弹性伸缩的计算服务。
比如: 当服务器运行负荷不够时,通常的做法是增加服务器,那么增加服务器的流程和步骤如下:
- 1.购买硬件,拆开服务器、安装硬件设备。
- 2.部署系统、部署应用、接入集群。
但如果使用云主机,可以实现自动化感知、自动化扩展集群。
2.0) ECS云服务逻辑架构
2.1) ECS地域与可用区说明
- 地域:指的是一个城市
- 可用区:指的是城市下面的区
- 相同地域,不同可用区之间的内网是互通的
- 不同地域,相同可用区,内网不互通;但是我们可以通过技术手段来实现互联互通
- 每一个地域,都有一个VPC路由器;每一个可用区都需要有一个交换机;所有的交换机都是连接的同一个VPC路由器
2.2)ECS云主机配置选型
- Web节点:4c x 16Gb
- DB节点:4c x 64Gb,4c x 32Gb,12c x 128GB 建议使用:SSD 性能会受到磁盘的限制
- 数据迁移 将物理机的服务 –> 云主机
- 故障案例:
- 4c x 64GB 物理机 磁盘 SATA = 400Mbps
- 4c x 64GB 云主机 磁盘 高效盘 100Mbps | SSD 固态盘 = 400Mbps
- dd | hdparm -t /dev/vda1
2.3)ECS中的网络简要说明
- EIP:弹性公网IP
- SLB:负载均衡
- NAT:网关设备
- VPN:远程访问服务
- VPC:软件路由器 (可以创建交换机,可以在每个可用区都创建)
2.4)ECS云主机购买|费用选择|地域选择|实例选择|镜像选择|账户中最少100元
2.5)ECS系统设置|VPC网络|安全组|
2.6)ECS远程连接(控制台|Xshell|重置密码)
2.7) ECS其他操作(添加数据盘|扩容磁盘)
云盘—>创建50G云盘—> 挂载到WEB01
物理机:
- 插入磁盘(物理机支持热插拔) 分区 格式化 挂载
vmware:
- 插入磁盘 重启 分区 格式化挂载
云服务器:
## 格式化
mkfs.xfs /dev/vdb
## 挂载
mount /dev/vdb /mnt
## 查看
df -h
在线扩容:
- 云盘—> 选择50G的数据盘 在线扩容到100G
- 执行命令扩容文件系统
xfs_growfs /mnt
2.8) ECS搭建kodcloud
2.8.1
- 安装Nginx
- 配置Nginx
nginx
server {
listen 80;
server_name test.linuxnc.com;
location / {
root /code;
index index.php index.html;
}
location ~ \.php$ {
root /code;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
- 启动Nginx
- PHP-FPM 安装
- 加入开机自启动
- 下载可道云
- wget https://static.kodcloud.com/update/download/kodbox.1.30.zip
- 解压到代码目录进行安装
3. ECS快照
3.1)快照基本介绍
快照是指云盘数据在某个时刻的完整拷贝,是一种重要的数据容灾手段。通过快照可以定期备份云盘的业务数据,以应对误操作、攻击或病毒导致的数据丢失风险。如果遇到云盘数据丢失或异常时,可以通过快照将云盘数据完整地恢复到某一个时间点,以实现业务的连续性。
3.2)快照使用场景
3.3)快照使用方式
手动创建快照
自动创建快照
测试
- 将web01的代码删除
- 通过页面无法访问
- 通过快照恢复再次访问
4. ECS镜像
4.1)镜像基本介绍和使用
ECS镜像是创建ECS实例的基础模板,它包含了启动和运行实例所需的操作系统和预配置数据。在创建ECS实例时必须选择一个镜像,该镜像可以是只包含系统盘的单个存储云盘,也可以是包含系统盘和一个或多个数据盘的组合。
4.2)镜像的生命周期
4.3)基于快照创建镜像
克隆–> (基于快照–>镜像–>启动实例)
4.4)基于镜像启动实例
(和此前的应用节点环境一致)
4.3)镜像复制、镜像共享、镜像删除
5. SLB负载均衡
5.1)SLB是什么
传统型负载均衡CLB(Classic Load Balancer)是将访问流量根据转发策略分发到后端多台云服务器的流量分发控制服务。CLB扩展了应用的服务能力,增强了应用的可用性。
5.2)SLB负载均衡高可用
采用全冗余设计,无单点,支持同城容灾。根据流量负载进行弹性扩容,在流量波动情况下不中断对外服务。
5.3)SLB负载均衡应用场景
- http场景
- https场景
- tcp场景
5.4)SLB基于域名/URL路径进行转发 (aliyun.example.com)
- 将/user的请求调度到 web01 8080端口
- 将/pass的请求调度到 web02 8080端口
- 如果直接访问该域名,则返回一个默认站点(ecs01 ecs02 kodcloud)
5.5) SLB基于不同的域名转发到不同的虚拟服务器组 aliyun.example.com slb.example.com
- 配置后端服务器ecs01、ecs02的Nginx
- 配置slb虚拟资源池,test1资源池(8888) test2资源池(9999)
- 配置dns的解析,将域名都解析至slb负载均衡的公网IP上
- 配置slb转发规则,根据域名调度到不同的服务资源池
5.6)作业:
- 阿里云多可用区的高可用解决方案[无法模拟效果–>只有可用区故障才切]
- 使用两个真实域名 a域名调度到两台服务器 b域名调度两台服务器 如果直接访问slb的公网IP则跳转到a域名
11. HTTPS
11.1) 如何购买HTTPS
数字证书管理服务是由阿里云联合多家数字证书颁发机构(CA)提供的数字证书申请和部署服务,帮助您以较低的成本将服务从HTTP转换成HTTPS。
11.2) 企业购买HTTPS建议说明
- 选择适合企业需求的SSL证书类型。
- 考虑证书的兼容性,确保证书支持所需的浏览器和移动设备。
- 评估证书的有效期和续签流程。
11.3) 实战:配置SLB支持HTTPS
- 购买并获取SSL证书。
- 在SLB实例中上传证书。
- 配置HTTPS监听器,选择相应的证书。
- 确保后端服务器支持HTTPS通信。
11.4) 实战:配置CDN支持HTTPS
- 购买并获取SSL证书。
- 在CDN服务中配置HTTPS加速。
- 上传证书并配置域名。
- 启用CDN缓存的HTTPS功能。
作业
- 冲100元
- 购买ECS 1核1G 20G硬盘 无公网IP地址 页面访问
- 绑定弹性公网IP ssh远程连接
- 安装nginx+php服务 设置开机自启
- 下载kod可道云业务部署
- 添加磁盘 –> 50G –> 在线扩容100G
- 对系统盘做快照(快照策略)
- 基于快照创建镜像
- 基于自定义镜像创建ECS — WEB02
- 启动WEB01和WEB02 解绑WEB01的公网IP地址 绑定到负载均衡
- 购买传统型SLB负载均衡 配置80测试,配置证书,配置80转发到443端口
- DNS解析到负载均衡(无域名直接使用IP远程访问)
- 配置SBL四层转发 SLB:5555—-》WEB01:22
- 一二阶段面试题总结(相互提问)
6. RDS数据库服务-Redis
6.1)RDS-Redis架构
云数据库 Tair(兼容 Redis)是一种全托管、兼容Redis协议且具备超高性能的数据库服务,能够保证亚毫秒级的稳定时延,为应用程序起到加速作用。
6.2)RDS-Redis实例创建
- 获取redis集群内网地址
- 配置redis集群用户名和密码
123@qqcom
- 配置谁可以访问redis,设置白名单
- 在web01或者web02测试命令行是否正常连接
yum -y install redis
redis-cli -h oldboy.redis.rds.aliyuncs.com -a 'oldboy:123@qqcom'
6.3)对接KODE业务 需要RDS实例设置设置免密访问
6.4)RDS实例设置外网连接IP (使用密码的方式连接,免密会报错)
6.5)RDS实例设置直连模式
6.6)RDS实例备份与恢复(集群RDB 标准版可以是AOF)
6.7) 实战:实现kodcloud缓存(注意:redis密码不要特殊字符开头)
作业
购买标准版-双副本(社区版)Redis实例,测试内网连接
配置免秘设置 KOD对接Redis
配置公网连接 在虚拟机的WEB01可以连接Redis集群
在企业中配置redis的方式
管理页面有自带的接口配置redis
管理页面没有需要我们找到对应数据库配置文件将信息填写进去去
7. RDS数据库服务-MySQL
7.1)RDS-MySQL架构 主从
阿里云关系型数据库服务RDS MySQL是基于阿里巴巴MySQL源码分支的在线数据库服务,支持实例管理、账号管理、数据库管理、备份恢复等基本功能,以及高级功能如专属集群MyBase、只读实例、读写分离等。
7.1) 购买RDS数据库
7.2) 配置白名单(允许谁能连接),获取RDS内网数据库地址
7.3) 创建用户,点击账号管理,创建用户,等待1分钟
7.4) 通过ecs云主机的内网连接RDB数据库
KOD将动态数据写入MySQL集群
KOD–>后台管理–>服务器管理–>数据库切换
7.5) 如何配置RDB能通过外网连接
- 设置白名单,才会显示内网RDS可连接地址
rm-2zea2795fzoaqwqlj35890.mysql.rds.aliyuncs.com
- 配置用户名和密码
(oldboy:123@qqcom)
- 配置外网地址(公司的固定IP|0.0.0.0/0)
7.6) 配置RDB读写分离
- 添加只读实例,购买2台主机
- 数据库代理->开启代理服务->开启读写分离(自动显示架构图)
- 让程序直接连接该地址,自动实现了读写分离
7.7) 配置RDB的备份策略
备份恢复中点击->备份设置,根据实际情况做调整。
7.8) 实践:搭建wordpress、共享数据至RDS
作业
Redis
1. 购买Redis主从版
2. 配置kod免秘钥连接Redis内网接口
3. 申请公网访问连接
4. 创建用户名密码 在企业内部进行远程连接公网Redis接口地址 使用keys *
进行验证
MySQL
1. 购买msyql主从版
2. 配置用户名密码
3. 通过ECS主机测试和mysql的连通性
4. kod业务由内置数据库修改为mysql
5. 申请公网连接访问
6. 在企业内部远程测试连接mysql公网地址
7. 提升主从配置为读写分离版 获取proxy代理地址 通过ECS进行连接测试
NAS
1. 购买NAS挂载到ESC的/mnt下
15. OSS对象存储
15.1) 什么是对象存储?
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,提供99.9999999999%(12个9)的数据持久性和99.995%的数据可用性。OSS支持多种存储类型,全面优化存储成本。
15.2) 对象存储使用场景?
OSS适用于多种场景,包括但不限于:
- 静态网站托管
- 大数据计算
- 备份归档
- 移动应用
- 娱乐媒体处理
15.3) Kodcloud对接OSS存储构建私有网盘
1. 创建bucket
在OSS服务中创建一个新的存储桶(bucket),用于存放文件。
2. 创建子账号获取信息
- 进入bucket –> 权限控制 –> 访问控制RAM –> 访问控制RAM –> 前往RAM控制台 –> 用户:创建用户
- 用户登录名称:
linux-84@1257536134501215.onaliyun.com
- AccessKey ID:
LTAI5tBWSVr1TeM5BJyWkJDp
- AccessKey Secret:
EDVEdpsrv2u7kjjnHYopUzvffKOPvi
3. 给账号添加管理存储的权限
- 用户–>添加权限–> 选择
AliyunOSSFullAccess
4. 授权子账号拥有完全控制权限
授权子账号管理bucket
确保子账号具有对OSS资源的完全控制权限。
5. 对接kod云平台
完成子账号权限配置后,进行Kodcloud与OSS的对接,构建私有网盘。
4. oss后台存储增加oss存储 上传图片测试
8. NAS存储服务-NFS
10.1) NAS基本介绍
阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。兼容POSIX文件接口,支持上千台ECS等计算节点共享访问。
10.2) NAS使用流程
- 创建NAS文件系统
- 挂载NAS文件系统到ECS
- 在ECS之间共享和访问NAS中的文件
10.3) 实战:共享多ECS静态资源至NAS
- 创建NAS实例,并配置相关权限。
- 将NAS挂载到多个ECS实例上。
- 将静态资源上传至NAS,实现在多个ECS实例间共享。
9. DNS
9.1) DNS基本介绍
DNS(Domain Name System)是将域名转换为IP地址的系统,方便用户通过易于记忆的域名访问互联网上的资源。
- 域名对应IP关系(方便记忆)
- 迁移使用DNS的方式会更加的方便
9.2) DNS分类
- 公网DNS(万网):互联网
- 内网DNS(bind9):局域网
9.3) DNS解析原理 如何获取的IP地址
DNS解析是将域名转换为IP地址的过程,以便计算机能够互相通信。
9.4) DNS递归查询与迭代查询
递归查询
- 用户向Local DNS查询域名
- Local DNS不知道域名对应的IP,但知道谁要知道,并代为查找,最后返回结果
迭代查询
- 用户向Local DNS查询域名
- Local DNS不知道域名对应的IP,但知道谁要知道,并指引用户自己去查找
9.5) DNS几种解析 (A|AAAA|CNAME)
- A记录:将域名指向IPv4地址
- AAAA记录:将域名指向IPv6地址
- CNAME记录:将域名指向另一个域名
9.6) 配置DNS解析(A记录、CNAME记录)
配置DNS解析以确保域名正确指向所需的IP地址或另一个域名。
作业
- Redis会话保持接入kod
- MySQL接入到kod
- NAS挂载到两台web
- OSS接入到kod平台
- DNS域名解析
10. CDN
10.1) CDN实现原理
内容分发网络(CDN)通过将源站资源缓存到全国各地的边缘服务器,供用户就近获取,降低源站压力,提高访问速度。
10.2) CDN架构介绍
CDN架构包括回源站和根据OSS存储资源缓存的机制,确保资源的快速分发和高效缓存。
10.3) CDN其他产品
- SCDN(安全与速度):提供安全和速度的双重保障。
- 全站CDN(动态居多):适用于动态内容较多的网站。
10.4) 配置CDN场景
简单验证
- 搭建一个可道云,检测是否从源站获取资源。
- 配置CDN加速,验证是否从不同的CDN节点获取资源。
分布式缓存
- 源站提供mp4下载。
- 通过不同地域的服务器wget资源,检查是否是从不同地域的边缘节点获取的资源。
检测的站点
10.5) 实践:CDN预热与刷新
- 刷新:强行同步cdn的缓存
- 预热,没有这个资源,提前推到cdn
CDN预热
- CDN-缓存配置-缓存过期时间->添加对应格式后缀。
- 上传一张图片,使用预热方式缓存。
- 替换该图片(名称一致),测试是否更新成功。
CDN刷新
- 使用刷新功能,检查资源是否更新成功。
预热的目的
- 减少回源率。
- 提高命中率。
文档链接
12. WAF
12.1)WAF产品基本介绍
阿里云Web应用防火墙(WAF)基于云安全大数据能力,有效防御各类OWASP常见Web攻击并过滤海量恶意CC攻击,避免网站资产数据泄露,保障网站业务安全性与可用性。
12.2)WAF接入网站架构
WAF可以单独接入网站架构,为网站提供专业的Web应用安全防护,拦截SQL注入、XSS跨站等常见Web攻击。
12.3)WAF+CDN接入网站架构
结合CDN使用,WAF可以在CDN的边缘节点上提供安全防护,同时利用CDN的分布式架构加速网站内容的分发。
12.4)实战:WAF+CDN结合使用
1. 购买一个WAF
购买阿里云WAF服务,并开始配置以保护网站安全。
12.5)部署云锁WAF
云锁提供了领先的主机安全解决方案,支持Windows/Linux服务器跨平台实时、批量、远程安全管理,有效抵御各类黑客攻击及恶意代码。
12.6)面试
你熟悉网络吗?配置过交换机吗?
熟悉网络吗?配置过交换机吗?
胆子一定要大,管理IP vlan .. 静态路由 动态路由
config -t
valn 10
int fa0/10
access xxx vlan 10
配置过防火墙吗?
DDoS 攻击就像是坏人雇了成千上万人堵在奶茶店门口。真正想喝奶茶的人连商店的门都挤不进去。
CC 攻击是 DDoS 攻击的一个分支。
CC 攻击就是雇一堆人站在奶茶店柜台面前,拉着营业员要这要那,但就是不买,也不走。这导致售货员的注意力被牵制,根本没办法服务正常用户
webshell: 一句话木马
13. ESS
13.1) 什么是弹性伸缩?
弹性伸缩(Auto Scaling)允许您根据业务需求和策略自动调整计算能力(即实例数量)。在业务需求增长时自动增加ECS实例以保证计算能力,在业务需求下降时自动减少ECS实例以节约成本。
13.2) 弹性伸缩应用场景
- 某视频公司:春晚或每周五热门节目来临时,负载激增,需及时、自动扩展云计算资源。
- 某视频直播公司:业务负载变化难以预测,需要阿里云自动根据CPU利用率、应用负载、带宽利用率作为衡量指标进行弹性伸缩。
- 某游戏公司:每天中午12点及晚上6点到9点间需求增长,需要定时扩容。
- 某电商:在大促中,临时激增大量云服务器需求,需要在数分钟内实现从创建到可用。
13.3) 弹性伸缩模式
定时模式
自定义自动伸缩发生的时间和频率,如每天 13:00增加ECS实例。
动态模式
基于云监控性能指标(如CPU利用率),自动增加或减少ECS实例。
健康模式
如果ECS实例为非Running状态,弹性伸缩将自动移出或释放不健康的ECS实例。
13.4) ESS弹性伸缩配置实践
配置流程
- 配置好负载均衡
- 创建伸缩组
- 添加伸缩配置
- 添加已有ECS实例
- 启用伸缩组
创建伸缩组规则
- 添加ECS实例规则:CPU大于80%
- 减少ECS实例规则:CPU小于30%
弹性伸缩规则触发条件
- 定时任务
- 云上监控
模拟CPU大于80%的操作
进行操作以模拟CPU负载,以触发弹性伸缩规则。
14. NAT(运维)
14.1) 内网ECS没有购买公网IP,无法上网
方式一、firewalld实现内部主机共享上网(不推荐)
- 购买一台ECS专门用于共享上网,需要有独立公网IP,主机名称为Manager。
- 开启Manager服务器firewalld防火墙,打开masquerade路由转发功能。
- 找到需要上网的ECS实例所在的VPC网络,添加一条路由规则,去往0.0.0.0/0 下一跳是Manager这台ECS实例。
方式二、NAT网关实现内网共享上网(强烈推荐)
- 购买按量付费的NAT网关。
- 购买弹性EIP,将EIP捆绑置NAT网关。
- 配置NAT网关的SNAT路由条目,进行地址转换,最后测试连通性。
- 注意:NAT网关设备允许多个可用区共用一个NAT网关设备进行上网。
14.2)解决内网主机无法直连的问题
方式一、跳板机方式
方式二、负载均衡TCP
方式三、NAT网关端口映射
- 需要额外在购买一个弹性公网IP地址。
面试题
用过阿里云吗?
用过阿里云的ECS SLB Redis MySQL NAS OSS DNS解析 CDN加速(内容分发网络) WAF防护墙 弹性伸缩 NAT网关 证书
什么是CDN? 内网分发网络 内容加速的
CDN加速原理
如何配置的负载均衡?
证书公司怎么配置的?
HTTPS加密流程