阿里云实战
一、云的概念
1.1、什么是云
云是一种“按需付费的模式”,这种模式提供了(计算、存储、网络等资源),这些资源能过被快速提供。
1.2、云的分类
公有云 | 私有云 | 混合云 |
---|---|---|
只有使用权,按需付费,技术层面、数据不安全。 | 自建机房,自己搭建,自行管理;局限: 资源固定。 | 主要业务放私有云,当有临时需求的时候使用公有云,使用结柬后释放。 |
1.3、为什么要用云
海量资源池灵活调配
无处不在的网络访问
随需应变的自助服务[包年包月|按需付费]
保证服务的高可用性
能实现快速弹性伸缩
1.4、云有哪些厂商
国内 | 国外 |
---|---|
阿里云 | AWS(亚马逊) |
腾讯云 | AZURE(微软云) |
华为云 | GCP(谷歌云) |
等等…… | 等等 |
1.5、云的产品名称
名词 | 含义 |
---|---|
安全组 | 防火墙规则 |
VPC | 虚拟局域网 |
EIP | 弹性公网IP |
NAS/OSS | 存储服务 |
ECS | 云服务器 |
SLB | 负载均衡 |
RDS | 云数据库 |
ESS | 弹性伸缩 |
MQ | 消息队列 |
CDN | 网站加速 |
等等…… | 等等…… |
实例 相当于一台服务器或者一个功能,每个实例都有自己的名称/ID
释放 删除某个实例
1.6、云服务器 VS 物理服务器
物理服务器:机架式服务器 2U 戴尔 成本高
成本:
- 服务器钱
- IDC机房(租)
- 带宽(300-500RMB/MB/月)
应用:
- 用于公司数据库
- 公司内部用于搭建内部测试环境
云服务器:根据用户的需求 可以进行配置 升级 更换配置
- 特点:
- 公司刚刚创建(创业公司)
- 公司整体数据量不大的时候用
- 云服务器 用户 数据 配置 越高,会比物理机还贵
- 应用:
- 初创公司 – 云服务器
- 大中型公司 – 物理服务器 + 云服务器
- 特点:
二、阿里云架构图
三、地域 / 可用区
3.1、地域:服务器的所属城市
华北1(北京)
华北2(邯郸)
华南1(上海)
华南2(深圳)
等等等……
3.2、可用区:服务器所在城市的某个机房
华北1
可用区A 可用区B 可用区C ……华北2
可用区A 可用区B 可用区C ……
3.3、注意事项
相同地域:不同的可用区之间内网是互通的
不同地域:可用区之间内网是相互隔离的
3.4、不同地域的可用区之间如何做到内网通信
- 经典网络可以通过云市场购买VPN产品,帮助你不同地域打通。
- 如果你是VPC网络环境,那就直接购买阿里云的高速通道,配置即可。
四、阿里云计费方式
4.1、包年包月、按量付费、抢占式实例
4.2、公网流量计费方式
按固定带宽 | 公司使用,访问量大,包年包月付费 |
---|---|
按使用流量 | 个人网站,访问量小,0.8元/1GB |
五、基本演练(重点)
5.1、创建资源组
5.1.1、登陆阿里云账号—点击控制台
5.1.2、资源组那块点击 查看全部
5.1.3、创建资源组
5.2、创建VPC专有网络(局域网)
5.2.1、产品与服务中找到 专有网络VPC
5.2.2、创建专有网络
5.2.3、配置 专有网络、交换机
5.2.4、查看创建的专有网络VPC
5.3、创建安全组
5.3.1、产品与服务找到 云服务器ECS
5.3.2、选择好地域
5.3.3、创建配置安全组
5.4、创建ECS云服务器
- 前提:账户余额里最少得有100元
主要分五个步骤:
- 基础配置:付费模式、地域及可用区、实例配置/数量、系统镜像、存储
- 网络很安全组:网络、公网IP、安全组、IPV6
- 系统配置:登陆凭证、实例名称、主机名称、RAM角色
- 分组设置:标签、资源组、部署集、专有宿主机
- 确认下单—即可
5.4.1、创建ECS实例
5.4.2、基本配置
- 选择好 地域/可用区、付费模式、实例配置、实例数量、镜像、存储、点击下一步网络和安全组
5.4.3、网络和安全组
- 选择好 网络、交换机、是否分配公网IPV4、选择带宽计费模式 和 带宽峰值、安全组、然后点击下一步 系统配置
5.4.4、系统配置
- 选择 登陆配置、设置root密码、实例名称、主机名称、然后点击下一步分组配置
5.4.5、分组设置
- 这里就需要修改一下资源组就行了、然后点击确认订单
5.4.6、确认好配置信息后勾选条款创建实例
- 创建成功后点击控制台查看
5.5、远程云服务器的方式
5.5.1、workbech方式
5.5.2、VNC
5.5.3、xshell
5.6、重置密码
5.6.1、重置实例密码(修改root密码)
5.6.2、修改远程连接(VNC)密码
- 验证一下VNC不重启可不可以
5.7、添加云盘 / 扩容云盘
5.7.1、添加云盘
- 选择好创建好要挂在的ECS实例,也可以不选
- 上面仅仅只是在这台ECS服务器中加了硬盘,后面还需要我们手动分区挂在
1 | fdisk /dev/vdb |
1 | [root@host01 ~]# mkfs.xfs /dev/vdb1 |
5.7.2、扩容云盘
- 实例—>更多—>磁盘扩容
- 回到xshell查看扩容是否成功
5.8、阿里云快照备份及克隆
- ECS 备份策略:每天/每周/每月/时间 进行拍摄快照;快照策略(计划任务)
- 手动拍摄快照
- 快照应用
- 备份
- 克隆(自定义镜像)
- 快照计费方式
5.8.1、创建快照策略
- 点击实例ID –> 选择本实例云盘 –> 设置自动快照规则
5.8.2、手动拍摄快照
- 创建快照之前现在ECS里安装个apache服务
1 | [root@host01 ~]# yum -y install httpd |
- 点击实例ID –> 选择本实例云盘 –> 创建系统盘快照
- 检查快照
5.8.3、克隆(自定义镜像)
默认阿里是没有 克隆 的功能
根据上面系统盘快照 创建自定义镜像(克隆)
关于镜像的几个问题
- 目前阿里 镜像 是免费使用的
- 创建的镜像默认只能在当前地区使用;如果实在是想在其他地区使用该镜像的话,就把当前镜像 复制到 其他地区
创建自定义镜像
查看自定义镜像
复制镜像:就是将自定义镜像 复制到 其他地域上
5.8.4、根据自定义镜像创建ECS实例
除了镜像和设置密码那块,其他所有配置信息都和在上面创建的ECS一样
使用镜像预设密码 就是和上个镜像的密码一致
注意:启动的时候应该是起不来的,因为我在/etc/fstab配置了一个磁盘挂在,但我这个实例并没有这个磁盘,所以会起不来系统,这个时候应该到阿里云控制台中使用 VNC 进入系统中将那句配置注释或删除掉,然后reboot重启。
远程连接查看这个实例中有没有apache这个服务
六、购买弹性公网IP(eip)
eip概述:就是可以将公网ip放到任何主机上使用(捆绑/解绑)
使用场景:使用同一个公网IP,给不同的ECS使用
6.1、创建一个没有公网IP的ECS
修改一下实例名称和主机名后 点击确认订单就可以了,而且root密码和这台ECS密码是一样的
- 可以看到下图:只有一个私网IP,没有公网
6.2、创建弹性公网IP
- BGP边界网关协议:
- 北方 联通
- 南方 电信
- 机房在北方(北京)
- 但用户在南方 或者 海外,导致访问很慢
- 两个解决方法:
- CDN缓存加速
- BGP多线
- 一个公网IP 支持多个链路(联通、电信、移动、教育网、海外 访问都快,不局限一个运营商里)
- BGP多线机房:一个IP,对应多个线路
6.3、使用eip
可以看到弹性公网IP已经绑定到这台ECS主机上了
使用xshell连接是否能用
七、RDS数据库产品
- rds云数据库
- 他是一个功能,创建完成后,可以使用MySQL命令 或者 阿里的web界面连接RDS 进行操作
- 如果不想使用RDS数据库产品,也可以使用ECS + MySQL/Mariadb实现数据库功能
7.1、创建RDS云数据库
- 点击实例列表—创建实例
- 设置可用区I
7.2、配置RDS数据库
7.2.1、设置RDS的白名单
- 产品与服务 — 云数据库RDS版 — 实例列表 — 管理
7.2.2、创建RDS用户
7.3、连接RDS数据库方法
7.3.1、MySQL命令连接
- 随便在上面我们创建的任意一台ECS中安装一下MySQL客户端
- 安装MySQL的目的是为了使用MySQL命令连接我们创建好的RDS云数据库
1 | [root@host2 ~]# yum -y install mysql |
- 进入ECS中连接RDS数据库
1 | [root@host2 ~]# mysql -uroot -p -h rm-bp11cj60hrbf0538s.mysql.rds.aliyuncs.com //登陆RDS数据库 |
7.3.2、web界面连接RDS数据库
八、NAS文件存储
8.1、NAS概述
- NAS :分三种类型
- 通用型
- 极速型
- 文件存储 CPFS
- NAS有两种协议类型
- NFS只支持linux之间的挂在
- SMB既支持linux也支持windows
- NAS的使用流程:
- 创建文件系统(相当于安装NFS/Samba软件)
- 创建权限组(对这个挂在点的读写权限)
- 创建挂载点(进行配置)
- 进行挂在(mount)
8.2、创建NAS文件系统
- 产品与服务 — 文件存储NAS
8.3、创建权限组
- 创建只读挂载点
8.4、创建只读挂载点
8.5、查看所有挂载点
8.6、使用NAS
- 这里挂载点我就直接使用默认的了
- 先测试是一下ECS能不能ping通这个挂载点
- 挂在NAS存储
- 注:需要先安装一下nfs-utile这个包,不然系统识别不了!!!
1 | #ECS_01进行挂在 |
- 查看是否挂在成功
- 到web页面查看一下已挂载的客户端
- 卸掉挂载点
1 | [root@host01 ~]# umount /nfs_data |
九、OSS对象存储
9.1、OSS vs NAS
存储 | 场景 | 特点 |
---|---|---|
NAS文件存储 | 数据量不大,并发量不高,存储空间有限 | 类型有nfs/smb ,创建nas文件系统,挂载使用 |
OSS对象存储 | 数据量很大,并发量很高,存储空间无限 | 配置好后,给开发人员(access id 和 access secret)在代码中使用 |
9.2、创建OSS存储(Bucket)
- 产品与服务 — 对象存储OSS
- 创建Bucket对象存储
- Bucket的存储类型
- 标准存储:高可靠、高可用、高性能,数据会经常被访问到。(性能最好的)
- 低频存储:数据长期存储、较少访问,存储单价低于标准类型。(性能中等)
- 归档存储:数据长期存储、基本不访问,存储单价低于低频访问型。(最差)
9.3、OSS的两种使用方法
9.3.1、当成一个网盘来使用
- 工作中不会这么用的
9.3.2、开发程序代码使用
- 工作中的使用方法
- 代码中使用OSS,需要OSS名称(bucketName)| access id 和 access secret(这两个东西需要在后面RAM中创建)
- SDK参考
- 点击SDK参考 — 有很多语言,这里就看python的就行了 — 选择简单上传
- 上传的数据类型(有很多,这里就看一下 字符串 和 本地文件)
1 | # -*- coding: utf-8 -*- |
1 | # -*- coding: utf-8 -*-import oss2# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。auth = oss2.Auth('<yourAccessKeyId>', '<yourAccessKeySecret>')# Endpoint以杭州为例,其它Region请按实际情况填写。bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '<yourBucketName>')# 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。with open('<yourLocalFile>', 'rb') as fileobj: # Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。 fileobj.seek(1000, os.SEEK_SET) # Tell方法用于返回当前位置。 current = fileobj.tell() bucket.put_object('<yourObjectName>', fileobj) |
十、RAM访问控制
- 应用场景:子账号
- 给阿里云账户创建小号(普通用户)
- 创建一个账号给运维用(账号密码登陆)
- 创建一个账号给开发用(代码程序中使用:access id 和 access key)
10.1、使用RAM访问控制
第一次用的时候它会让你开通,至就开通就行了,不花钱。
创建用户
- 访问方式
控制台密码登陆 | 运维人员 | 运维通过web页面登陆 与 控制台阿里云资源 |
---|---|---|
编程登陆 | 开发人员 | 给开发人员在代码中调用(自动创建一个 access id 和 access secret) |
用户登录名称 Ops_li@1534980693286778.onaliyun.com
登录密码 abc123..
AccessKey ID LTAI4GFAEy29WErDRFgJyoAJ
AccessKey Secret QCG3V0BX7QI4D7KzTN043cJUPAJ95x
10.2、运维调用这个用户
- 产品与服务 — 访问控制 — 概述 – https://signin.aliyun.com
- 产品与服务 — 访问控制 — 概述 — 用户 — Ops_li@1534980693286778.onaliyun.com
- 可以看到,这个用户是没有权限的,如果想加权限,需要到主账号中提权
10.3、给RAM用户授权
- 产品与服务 — 访问控制 — 用户 — 添加权限
- 权限一般分为两种
- ReadOnly:只读权限
- Fuil:完全(读写)
- 授予子账号ECS只读的权限
- 在从新登陆一下 Ops_li 子账号查看一下
10.4、开发调用这个用户
- 授予子账号OSS完全的权限
- 登陆子账号测试,https://signin.aliyun.com
- 将其toos-2目录删除(如果能删就证明是完全的权限)
开发人员调用这个用户
创建子账号,根据需要授予权限
把access id 和 access secret 交给开发
1 | AccessKey ID: LTAI4GFAEy29WErDRFgJyoAJAccessKey Secret: QCG3V0BX7QI4D7KzTN043cJUPAJ95x#开发使用OSS,上传文件为例# -*- coding: utf-8 -*-import oss2# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。auth = oss2.Auth('LTAI4GFAEy29WErDRFgJyoAJ', 'QCG3V0BX7QI4D7KzTN043cJUPAJ95x')# Endpoint以杭州为例,其它Region请按实际情况填写。bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', 'lemon-li')# 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。with open('<yourLocalFile>', 'rb') as fileobj: # Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。 fileobj.seek(1000, os.SEEK_SET) # Tell方法用于返回当前位置。 current = fileobj.tell() bucket.put_object('<lemon-li>', fileobj) |
十一、DNS解析
- 最终目的:让用户通过域名访问网站
流程:
购买域名
- 新网
- GoDaddy
- 阿里云
网站环境
- lamp
- nginx+tomcat
域名备案(服务器在大陆的都要做)
- 根据需求填写信息
- 大约半个多月能好
域名 解析
- 将申请的域名备案好后
- 添加域名到 网站公网IP上
- 专业名词
记录类型 | 主机记录 | 解析线路 | 记录值 | TTL |
---|---|---|---|---|
A记录:域名 对应 IPV4的地址 | www:解析后的域名为www.aliyun.com。 | 中国联通 | 公网IP | 生成缓存,DNS缓存时间 |
AAAA记录:域名 对应 IPV6的地址 | @:直接解析主域名 aliyun.com。 | 中国移动 | ||
CNAME记录:别名记录,一般用于配置CDN的 | *:泛解析,匹配其他所有域名 *.aliyun.com。 | 中国电信 | ||
MX记录:用于 企业邮箱 | mail:将域名解析为mail.aliyun.com,通常用于解析邮箱服务器。 | 海外 |
DNS云解析操作流程:
- 添加域名
- 添加域名解析记录
- 测试能否ping通
- 如果域名没进行备案的话,访问时会是这样
十二、CDN配置流程
- CND 内容分发网络
- CDN 给网站加速,缓存网站静态资源 网站样式(css、js、html)图片、视频、音频
- 用户访问网站流程:
- 用户先访问CDN,如果CDN没有这个资源则在访问服务器,等下次再有用户访问这个资源时就会直接在CDN上访问
12.1、CDN访问详细流程
12.2、使用CDN 给网站加速
- 使用CDN

- 创建CDN域名 成功后
- 去云解析DNS里配置CNAME记录
至此CDN的配置算是完成了,但是现在CDN目前是没有缓存的数据,怎么办?
需要 预热/刷新:让CDN主动找源站 缓存内容,小的内容使用刷新,大的内容使用预热
十三、云监控
十四、SLB负载均衡
14.1、SLB常见的两种应用场景
- 场景1(推荐)
- 场景2(不推荐)
14.2、SLB场景1 应用
- 准备好两个可用区的ECS节点
- 华北2 – 可用区A – 2台ECS
- 华北2 – 可用区B – 2台ECS
- 安装nginx & apache 并 设置页面
#设置页面在此只列出一台
1 | yum -y install nginx |
#访问这四台nginx验证一下
- 购买SLB负载均衡
- 配置SLB负载均衡
- 协议&监听
- TCP/UDP(四层负载)
- HTTP/HTTPS(七层负载)
- 监听端口
- 高级配置
- 调度算法(加权轮询WRR)
- 监听转发
- 会话保持
- 访问控制
- Gzip压缩
- 等等……
- 后端服务器
- 健康检查
- 配置审核
- 协议&监听
- 因为我后端的四台ECS使用的都是80端口,所以这里就全部写成80,如果主机上还有其他端口的话就直接添加就行了
- 使用负载均衡的公网IP访问