云计算学习之OSS-CDN产物摆设、弹性伸缩-NAT、Ansible-Ad-hoc
一.OSS-CDN产物摆设1.OSS存储先容
运维常说的 5个9、4个9、3个9 的可靠性,到底是什么鬼?_运维4个9-CSDN博客
OSS
1.创建bucket
2.创建子账号 进入bucket-->权限控制-->访问控制RAM--> 访问控制RAM-->前往RAM控制台--用户:创建用户
3.授权子账号管理bucket
4.oss背景存储增长oss存储 上传图片测试
https://i-blog.csdnimg.cn/direct/d3eb584861e942dcaae2ad47980b7dff.jpeg
https://i-blog.csdnimg.cn/direct/fde16e13173144639c314a3befd5a7ca.png
2.OSS接入KOD
RDS数据库服务-mysql
7.1)RDS-MySQL架构 主从
7.1) 购买RDS数据库
7.2) 设置白名单(答应谁能连接),获取RDS内网数据库地址
7.3) 创建用户,点击账号管理,创建用户,等候1分钟。
7.4) 通过ecs云主机的内网连接RDB数据库
KOD将动态数据写入MySQL集群
KOD-->背景管理-->服务器管理-->数据库切换
7.5) 如何设置RDB能通过外网连接
1.设置白名单,才会显示内网RDS可连接地址 rm-2zea2795fzoaqwqlj35890.mysql.rds.aliyuncs.com
2.设置用户名和暗码 (oldboy:123@qqcom)
3.设置外网地址(公司的固定IP|0.0.0.0/0)
7.6) 设置RDB读写分离
1.添加只读实例,购买2台主机
2.数据库代理->开启代理服务->开启读写分离(自动显示架构图)
3.让程序直接连接该地址,自动实现了读写分离
7.7) 设置RDB的备份战略, 备份恢复中点击->备份设置,根据现实环境做调解。
7.8) 实践:搭建wordpress、共享数据至RDS
Document: https://help.aliyun.com/document_detail/96047.html?spm=a2c4g.11174283.6.603.72514c22mb10IC
https://i-blog.csdnimg.cn/direct/2a7c4748226349bbb9b0c5b54122c4ed.png
3.DNS剖析流程
9.DNS
9.1) DNS基本先容
1.域名对应IP关系 (方便记忆)
2.迁移使用DNS的方式会更加的方便
9.2) DNS分类
公网DNS (万网) 互联网 223.5.5.5 8.8.8.8 114.114.114.114
内网DNS (bind9) 局域网 运营商 云厂商 服务器数量较大
9.2) DNS剖析原理 如何获取的IP地址
9.3)DNS递归查询与迭代查询
递归算法: 我向LocalDNS查询域名—>localDNS不知道域名对应的IP—>但它知道谁知道—>他代为帮你去查找-->最后在返回结果
迭代算法: 我向LocalDNS查询域名—>localDNS不知道域名对应的IP—>但它知道谁知道—>你本身去找它
9.4) DNS几种剖析 (A|AAAA|CNAME)
9.3) 设置DNS剖析(A记录、CNAME记录)
Document:https://help.aliyun.com/product/29697.html?spm=a2c4g.11186623.6.540.76984dd5MJZuY8
https://i-blog.csdnimg.cn/direct/7f338794afaf4af59017eb75a28d25ce.png
4.CDN访问实现原理
10.CDN
10.1) CDN实现原理
10.2)CDN架构先容 (回源站|CDN根据OSS存储资源缓存)
10.3)CDN其他产物 SCDN(安全与速度) 全站CDN(动态居多)
10.4) 设置CDN场景
1.简单的验证: 先搭建一个可道云,然后检测是否丛源站获取资源,然后设置加速,在验证是否丛不同的CDN节点获取的资源.
2.分布式缓存:源站提供mp4下载,然后通过不同地域的服务器wget资源,检查是否是从不同地域的边缘节点获取的资源。
3.检测的站点 ( http://tool.chinaz.com/speedtest.aspx | https://tools.ipip.net/ping.php )
10.5) 实践:CDN预热与刷新
1.CDN-缓存设置-缓存过期时间->添加对应格式后缀
2.上传一张图片,使用预热方式缓存,然后更换该图片(名称一致),测试,最后使用刷新,检查是否更新乐成。
预热的目标: 淘汰回源率,提高命中率.
Document:https://help.aliyun.com/product/27099.html?spm=a2c4g.750001.list.74.70497b13IJcDtu
https://docs.qingcloud.com/product/network/cdn
https://i-blog.csdnimg.cn/direct/a4954616c9c1414fac144d64e1490cb2.png
https://i-blog.csdnimg.cn/direct/4b1d91e17a9d423ba41cbd3be56f2841.jpeg
5.CDN设置
https://i-blog.csdnimg.cn/direct/a37bd99dde6843d38bef1a1db8d2a745.png
6.CDN图片故障案例
https://i-blog.csdnimg.cn/direct/38f4c5518b504aaa8d67e6686ff7442d.png
7.云锁waf
12.WAF
12.1)WAF产物基本先容
12.2)WAF接入网站架构
12.3)WAF+CDN接入网站架构
12.4)实战:WAF+CDN结合使用
1.购买一个WAF
Document:https://help.aliyun.com/product/28515.html?spm=a2c4g.750001.list.176.4cc17b13wbIbqk
熟悉网络吗?设置过互换机吗?
胆子一定要大,管理IP vlan .. 静态路由 动态路由
config -t
vlan 10
int fa0/10
access xxx vlan 10
设置过防火墙吗?
DDoS 攻击就像是坏人雇了成千上万人堵在奶茶店门口。真正想喝奶茶的人连商店的门都挤不进去。
CC 攻击是 DDoS 攻击的一个分支。
CC 攻击就是雇一堆人站在奶茶店柜台眼前,拉着营业员要这要那,但就是不买,也不走。这导致售货员的留意力被牵制,根本没办法服务正常用户
webshell
一句话木马
作业: 摆设开源云锁waf
云锁WAF https://yunsuo.qianxin.com/cloud/download
相识安全吗?
运维方面入手
网络层面入手 设置防火墙 开启防ddos 大水攻击 ...
系统层面提高系统安全性 克制SSH root登录 修改默认的SSH端口号
使用软件防火墙iptables 限定
软件层面 好比Nginx web服务 前端会加上waf防火墙 阻挡非法攻击
安全工具扫描软件Nessus 扫描漏洞 漏洞升级啊 openssh版本升级。
https://i-blog.csdnimg.cn/direct/a01818857b0e407498f49c4e64e0d2fa.png
https://i-blog.csdnimg.cn/direct/7f1675f2b46d40b9a307214dc716c4cc.png
二.弹性伸缩-NAT
1.弹性伸缩先容
https://i-blog.csdnimg.cn/direct/5078dcc82d2d40d8b8d86b46d27b46a3.png
2.弹性伸缩设置
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实例-->启用伸缩组
1) 创建伸缩组规则
1.1) 添加ECS实例规则 CPU大于80%
1.2) 淘汰ECS实例规则 CPU小于30%
2) 弹性伸缩规则会在什么时间添加或淘汰,根据动作来触发.
定时使命
云上监控
3) 模仿CPU大于百分之80%
Document:https://help.aliyun.com/product/25855.html?spm=a2c4g.11186623.6.540.535448595bgK6Y
https://i-blog.csdnimg.cn/direct/0ad9d304c43a43428ef5baceb7631621.png
https://i-blog.csdnimg.cn/direct/00e026f8cf834cd49862ecdf528963f1.png
3.铁通的发展史
https://i-blog.csdnimg.cn/direct/50849b2663b3409caec756cb37f1ff1c.jpeg
4.NAT网关设置
NAT(运维)
14.1) 内网ECS没有购买公网IP,无法上网
方式一、firewalld实现内部主机共享上网(不推荐)
1.购买一台ECS专门用于共享上网,需要有独立公网IP,主机名称为Manager
2.开启Manager服务器firewalld防火墙,打开masquerade路由转发功能
3.找到需要上网的ECS实例所在的VPC网络,添加一条路由规则,去往0.0.0.0/0 下一跳是Manager 这台ECS实例
方式二、NAT网关实现内网共享上网 (强烈推荐)
1.购买按量付费的NAT网关
2.购买弹性EIP,将EIP捆绑置NAT网关
3.设置NAT网关的SNAT路由条目,进行地址转换,最后测试连通性
留意: NAT网关装备答应多个可用区共用一个NAT网关装备进行上网
Document:https://help.aliyun.com/product/44413.html?spm=a2c4g.11186623.6.540.47462f2aoaZFjK
14.2)解决内网主机无法直连的标题
方式一、跳板机方式
方式二、负载平衡TCP
方式三、NAT网关端口映射( 需要额外在购买一个弹性公网IP地址 )
用过阿里云吗?
用过阿里云的ECS SLB Redis MySQL NAS OSS DNS剖析 CDN加速(内容分发网络) WAF防护墙 弹性伸缩 NAT网关 证书
什么是CDN? 内网分发网络 内容加速的
CDN加速原理
HTTPS加密原理
如何设置的负载平衡?
证书公司怎么设置的?
5.二阶段架构总结
用过阿里云吗?
用过阿里云的ECS SLB Redis MySQL NAS OSS DNS剖析 CDN加速(内容分发网络) WAF防护墙 弹性伸缩 NAT网关 证书
什么是CDN? 内网分发网络 内容加速的
CDN加速原理
HTTPS加密原理
如何设置的负载平衡?
证书公司怎么设置的?
https://i-blog.csdnimg.cn/direct/e1fa1984012e47498b8cf384957d8428.png
三.Ansible-Ad-hoc
1.Ansible架构
https://i-blog.csdnimg.cn/direct/440b016f76cb417886ada10a3bcf958a.png
https://i-blog.csdnimg.cn/direct/ed0d1f01a9234533b8a7da1c2ec2bfcc.png
2.Ansible安装
```bash
#Ansible口试题
1.用过ansible是吗?是 用过的口试官
2.你都用ansible干嘛?批量管理,设置文件批量变更,也可以批量摆设.收集信息。
3.ansible都用过哪些模块?
user yum copy file mount shell unarchive template handle role cron
1.准备一台服务器61
# yum -y install ansible
2.设置ansible
# cat /etc/ansible/ansible.cfg
host_key_checking = False
deprecation_warnings = False
interpreter_python = /usr/bin/python3
# cat /etc/ansible/hosts
10.0.0.31
https://i-blog.csdnimg.cn/direct/a6c928252f5f43b3b3e36bf25c57a00f.png
https://i-blog.csdnimg.cn/direct/da23935af0264d91a98167cca507967e.png
3.Ansible主机清单
```bash
主机清单默认设置文件
基于用户暗码方式连接
1.使用用户暗码和暗码
/etc/ansible/hosts
# cat /etc/ansible/hosts
10.0.0.31 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='oldboy123.com'
2.使用别名方式
# cat /etc/ansible/hosts
10.0.0.31 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='oldboy123.com'
10.0.0.41 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='oldboy123.com'
nfs ansible_ssh_host=10.0.0.31 ansible_ssh_user=root ansible_ssh_port=22 ansible_ssh_pass='oldboy123.com'
# ansible 10.0.0.31 -m ping
10.0.0.31 | SUCCESS => {
"changed": false,
"ping": "pong"
}
基于秘钥方式控制客户端
1.生成秘钥对
# ssh-keygen
2.发送到客户端
# ssh-copy-id 10.0.0.31
# ssh-copy-id 10.0.0.41
3.测试ssh免密
# ssh 10.0.0.41
# ssh 10.0.0.31
界说主机清单
# cat /etc/ansible/hosts
nfs ansible_ssh_host=10.0.0.31
backup ansible_ssh_host=10.0.0.41
实行ansible ping测试
# ansible nfs -m ping
#all表示全部的主机
# ansible all -m ping
backup | SUCCESS => {
"changed": false,
"ping": "pong"
}
nfs | SUCCESS => {
"changed": false,
"ping": "pong"
}
https://i-blog.csdnimg.cn/direct/3035ae55a6a24bbbbb6e338fe42b9a98.png
4.Ansible主机清单设置
https://i-blog.csdnimg.cn/direct/9cd2b28f78e843218e4ea92ff026a2ad.png
```bash
ansible实行命令都是以模块的方式实行。
ansible 主机名称 -m 指定模块的名称 -a 具体实行的命令动作
ansible nfs -m command -a 'df -h'
模块1:yum
yum:
name: 软件包的名称 wget
state: 实行的动作
present 安装
absent 卸载
# 安装wget命令
# ansible backup -m yum -a 'name=wget state=present'
# 卸载wget命令
# ansible backup -m yum -a 'name=wget state=absent'
#安装rpm包
# ansible backup -m yum -a 'name=wget-1.20.3-3.ky10.x86_64.rpm state=present'
# 安装rsync服务
# ansible backup -m yum -a 'name=rsync state=present'
5.Ansible-yum-copy模块
模块2:copy
copy:
src: 源文件(ansible服务器上的位置) a.txt
dest:拷贝到目标主机的哪个位置 /opt/
owner: 属主 www
group: 属组 www
mode: 权限 600
backup: yes 给当前的文件做一个以时间定名的备份文件
# ansible lnmp -m copy -a 'src=a.txt dest=/root/ owner=www group=www mode=600'
#将content后的字符串直接写入到目标文件中
# ansible lnmp -m copy -a 'content="backup:123456" dest=/root/pass.txt mode=0600'
#将rsyncd.conf 拷贝到41服务器
# ansible backup -m copy -a 'src=rsyncd.conf dest=/etc/'
模块3: user
user:
uid: 指定uid
group: 指定组名称
shell: 指定表明器 /bin/bash /sbin/nologin
create_home: false # 默认不写此参数就是创建家目录
state: present # 创建 absent删除用户
remove: yes # 删除用户雷同 userdel -r参数
案例1.在backup上创建oldboy用户
# ansible backup -m user -a 'name=oldboy state=present'
案例2.创建用户old uid=777 gid=777 不创建家目录 不答应登录
先创建组
# ansible backup -m user -a 'name=old uid=777 group=old shell=/sbin/nologin create_home=false state=present'
https://i-blog.csdnimg.cn/direct/45d71667edd345f6b9d38d69f7a1d87d.png
https://i-blog.csdnimg.cn/direct/c92b96c969a744a1b5e448b9ceed4ec0.png
6.Ansible-user模块
模块4: group
group:
name: old 模块的名称
gid: 777 组的gid号
state: present
# ansible backup -m group -a 'name=old gid=777 state=present'
案例3.删除用户oldboy,连家一起干掉
# ansible backup -m user -a 'name=oldboy state=absent remove=yes'
模块5.file
file:
path: /root/a.txt 文件的路径
state: touch(文件) 或者 directory(目录) absent(删除文件或目录)
owner: www 属主
group: www 属组
mode: 0644 权限
recurse: yes # 递归修改属主属组
案例1.创建平凡文件a.txt
# ansible backup -m file -a 'path=/root/a.txt state=touch'
案例2.修改文件的属主属组
# ansible backup -m file -a 'path=/root/a.txt owner=www group=www mode=0600'
7.Ansible-file模块
案例4.递归修改目录下属主属组
# ansible backup -m file -a 'path=/root/oldboy owner=www group=www recurse=yes'
案例5.删除文件a.txt
# ansible backup -m file -a 'path=/root/a.txt state=absent'
案例6.删除目录 默认是递归删除
# ansible backup -m file -a 'path=/root/oldboy state=absent'
# 创建rsync的备份目录
# ansible backup -m file -a 'path=/backup state=directory owner=www group=www'
# 暗码文件创建出来
# ansible backup -m copy -a 'content=rsync_backup:123456 dest=/etc/rsync.passwd mode=0600'
模块6.systemd
# ansible backup -m systemd -a 'name=rsyncd state=started enabled=yes'
https://i-blog.csdnimg.cn/direct/8d55ee0769604a6a8ac8e3aa884ade20.png
8.Ansible知识点小结
#扩展
yum_repository
mount
cron
firewalld 关闭防火墙
selinux 关闭selinux
unarchive 解压
get_url
```
本日重点
```bash
1.卸载/tmp
umount /tmp
2.安装ansible
设置ansible
# cat /etc/ansible/ansible.cfg
host_key_checking = False
deprecation_warnings = False
interpreter_python = /usr/bin/python3
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]