Day02-公有云使用指南
- [七. 负载均衡](#七. 负载均衡)
-
- [7.1 clb-alb概述](#7.1 clb-alb概述)
- [7.2 CLB(SLB)](#7.2 CLB(SLB))
- 案例08:slb负载均衡基本使用
- 案例09:实现动静分离 (根据uri进行转发)
- clb小结
- [7.3 ALB](#7.3 ALB)
- 案例10:根据客户端进行转发
- alb小结
- [八. 域名及DNS](#八. 域名及DNS)
-
- [8.1 域名使用流程](#8.1 域名使用流程)
- [8.2 DNS(云解析DNS)](#8.2 DNS(云解析DNS))
- [8.3 小结](#8.3 小结)
- [九. https](#九. https)
-
- [案例11 负载均衡绑定证书](#案例11 负载均衡绑定证书)
- [案例12-配置 http -->https](#案例12-配置 http -->https)
- 今日总结
七. 负载均衡
- 公有云中的负载均衡一般都是现成的产品,一般不需要我们关注产品的底层实现。
7.1 clb-alb概述
- slb(clb)+alb
- ecs*2 keepalived 需要vip (原来havip)
- CLB -VS - ALB
类型 | 传统型负载均衡CLB | 应用型负载均衡ALB |
---|---|---|
产品定位 | 强大的四层处理和七层能力面向TCP、UDP、HTTP和HTTPS等协议主要面向网络交付 | 强大的七层处理能力与丰富的高级路由功能聚焦HTTP、HTTPS和QUIC应用层协议面向应用交付 |
产品性能 | 基于物理机架构单实例5万 QPS | 基于NFV虚拟化平台单实例支持100万 QPS弹性能力更强 |
功能特性 | 七层基础能力仅支持基于域名或URL转发 | 基于内容的路由HTTP报头改写、重定向、重写、限速等 |
运维能力 | 按规格售卖需要预估业务峰值需要用户主动升级规格 | 自动弹性处理能力随着业务峰值自动伸缩 |
云原生集成 | 支持较弱 | 云原生Ingress网关流量拆分、镜像、灰度发布、蓝绿测试 |
典型应用场景 | 网站、系统四层流量分发高可靠场景大并发高性能网络分流场景同城双活、跨地域容灾场景 | 互联网应用七层高性能自动弹性场景音视频应用大流量低时延场景云原生应用金丝雀蓝绿发布场景 |
7.2 CLB(SLB)
主机名 | ngx 1.20 |
---|---|
ecs01 | ip/lidao.html oldboyedu.com ecs01 |
ecs02 | ip/lidao.html oldboyedu.com ecs02 |
案例08:slb负载均衡基本使用
-
部署ngx,并修改首页文件内容(用于区分2台web)
-
环境准备
bash
[root@ecs001 ~]# yum install nginx -y
[root@ecs001 ~]# systemctl enable --now nginx
[root@ecs001 ~]# echo aliyun.oldboylinux.cn `hostname` >/usr/share/nginx/html/index.html
[root@ecs001 ~]# curl localhost
aliyun.oldboylinux.cn ecs001
[root@ecs002 ~]# curl localhost
aliyun.oldboylinux.cn ecs002
- 阿里云控制台搜索负载均衡slb,使用clb创建
- 创建完成,监听配置向导
- 打开浏览器测试(公网访问会有缓存,建议使用curl命令)
案例09:实现动静分离 (根据uri进行转发)
访问的资源 | 访问案例 | 哪个节点处理 |
---|---|---|
静态 | /static/ | ecs01 |
动态(默认) | 其他所有 | ecs02 |
- 环境准备
bash
#ecs01
mkdir -p /usr/share/nginx/html/static/
cd /usr/share/nginx/html/static/
echo oldboy css static |tee css{01..10}.css
echo oldboy js static |tee js{01..10}.js
#ecs 02
cd /usr/share/nginx/html/
echo oldboy html default |tee oldboy{01..10}.html
- 配置clb规则
- 配置转发规则
- 公有云架构-slb案例-根据url进行转发
clb小结
- clb(原slb),7层和4层
- 7层功能只限对于域名转发和uri转发(location规则)
- 如果是更加复杂的转发规律,需要自建负载均衡或使用alb
7.3 ALB
- alb应用负载均衡,对传统负载均衡的7层功能的扩展与加强
- alb只能用于7层.
- alb (Application Load Balancer) 应用型负载均衡 7层
- clb( Classic Load Balancer) 传统负载均衡(slb )
案例10:根据客户端进行转发
客户端类型 | 转发 | 节点 |
---|---|---|
谷歌浏览器Chrome | 转发到pc端,默认 | ecs01 |
Android | 转发到移动端 | ecs02 |
bash
if ( $http_user_agent ~* "Chrome" ) {
proxy_pass http://pc;
}
if ( $http_user_agent ~* "Android" ) {
proxy_pass http://mobile;
}
#ecs01
echo pc_default >/usr/share/nginx/html/index.html
#ecs02
echo mobile >/usr/share/nginx/html/index.html
-
应用场景:
-
clb无法满足你(uri或域名转发)
-
获取报头内容的时候:
-
请求报头:
-
根据用户(请求报头)浏览器类型http_user_agent或语言进行转发
-
流量镜像: 使用用户真实数据压力测试网站(服务器) 二次过滤处理.
-
-
- 实现灰度发布:代码上线,根据uri让用户访问新旧的应用
-
响应报文头部: 根据特有字段进行判断与转发
-
alb 使用流程
- 创建alb实例
- 创建服务器组并添加服务器 (upstream 添加server )
- 创建alb监听
- 配置转发规则(配置nginx location 实现proxy_pass )
- 测试与检查
- cname配置
- 第一次使用会提示 进行授权
- 创建完成
- 创建服务器组
- 编辑
- 添加后端服务器
- 修改端口
- 创建监听
- 配置端口
- 配置转发规则
bash
[root@ecs001 nginx]# curl alb-4pmzmdpp1wwksyeulr.cn-hangzhou.alb.aliyuncs.com
pc_default
[root@ecs001 nginx]# curl -H User-Agent:Android alb-4pmzmdpp1wwksyeulr.cn-hangzhou.alb.aliyuncs.com
mobile
[root@ecs001 nginx]# curl -A Android alb-4pmzmdpp1wwksyeulr.cn-hangzhou.alb.aliyuncs.com
mobile
[root@ecs001 nginx]# curl -A "www web broswer/Android" alb-4pmzmdpp1wwksyeulr.cn-hangzhou.alb.aliyuncs.com
mobile
[root@ecs001 nginx]# curl -A "www web broswer/android" alb-4pmzmdpp1wwksyeulr.cn-hangzhou.alb.aliyuncs.com
mobile
alb小结
-
应用场景:
- 流量镜像
- 根据域名/uri/ 请求/响应报头进行转发 (客户端浏览器,语言)
- 其他...
-
一个转发规则必须包含有一条转发、重定向或返回固定响应类型的转发动作。
- 请求方向的条件包括:域名、路径、HTTP标头、查询字符串、HTTP请求方法、cookie和Sourcelp,
- 请求方向的动作包括:转发至、重定向至、返回固定响应、重写、写入Header、删除Header、限速和流量镜像至。
- 响应方向的条件包括:响应中的状态码和响应中的标头。
- 响应方向的动作包括:写入Header和删除Header。
八. 域名及DNS
8.1 域名使用流程
- 购买 (阿里云(万网),腾讯云,godaddy)
- 实名认证
- 搭建网站-ecs
- 域名备案:域名与ecs绑定,在国家记录在案
- 配置cdn加速...
- ICP备案:网站上面有金钱交易
8.2 DNS(云解析DNS)
-
注意:配置DNS解析,在哪里买的域名就在哪里配置
-
域名解析到ip/域名
-
DNS如何对应ip或其他内容:DNS记录类型
DNS记录类型 | 说明 |
---|---|
A记录 | ipv4 域名--->ip www.oldboylinux.com ---> 8.8.8.8 |
AAAA记录 | ipv6 解析 |
CNAME | 别名记录,www.oldboylinux.com ----> www.cdn.oldboylinux.com (CDN常用,ALB) |
MX记录 | 配置邮箱企业邮箱 @qq.com @163.com @oldboyedu.com @baidu.com |
TXT记录 | 文本,用于验证域名所有者是否是你的 |
curl test.oldboylinux.com ---> zhegewangzhanshinide-lidao996
-
记录:一个域名与ip或其他内容的对应关系
-
主机记录 :
- www.oldboylinux.com www.oldboylinux.com
- log.oldboylinux.com
- oldboylinux.com @.oldboylinux.com
- 匹配所有 *.oldboylinux.com .
- ttl Time To Live 生存时间 DNS缓存时间
-
配置www的解析
- 温馨提示:
- 主机记录就是域名前缀,常见用法有:
- www:解析后的域名为www.aliyun.com。
- @:直接解析主域名 aliyun.com。
- *:泛解析,匹配其他所有域名 *.aliyun.com。
- mail:将域名解析为mail.aliyun.com,通常用于解析邮箱服务器。
- 二级域名:如:abc.aliyun.com,填写abc。
- 手机网站:如:m.aliyun.com,填写m。
- 显性URL:不支持泛解析(泛解析:将所有子域名解析到同一地址)
bash
[root@ecs001 ~]# yum install bind-utils
#测试A记录
[root@oldboy-ecs002 ~]# dig www.oldboylinux.cn
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> www.oldboylinux.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23519
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.oldboylinux.cn. IN A
;; ANSWER SECTION:
www.oldboylinux.cn. 503 IN A 47.96.139.14
;; Query time: 0 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Mon Mar 13 15:52:21 CST 2023
;; MSG SIZE rcvd: 52
#测试cname记录
[root@oldboy-ecs002 ~]# dig jd.oldboylinux.cn
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> jd.oldboylinux.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 47655
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;jd.oldboylinux.cn. IN A
;; AUTHORITY SECTION:
oldboylinux.cn. 80 IN SOA dns15.hichina.com. hostmaster.hichina.com. 2022052002 3600 1200 86400 600
;; Query time: 0 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Mon Mar 13 15:52:27 CST 2023
;; MSG SIZE rcvd: 99
#测试txt记录
[root@oldboy-ecs002 ~]# dig txt check.oldboylinux.cn
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.13 <<>> txt check.oldboylinux.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38608
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;check.oldboylinux.cn. IN TXT
;; ANSWER SECTION:
check.oldboylinux.cn. 333 IN TXT "oldboylinuxlidao996"
;; Query time: 5 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Mon Mar 13 15:52:57 CST 2023
;; MSG SIZE rcvd: 70
8.3 小结
-
域名使用流程
-
最常用的DNS记录类型:
- A记录,最常用的记录之一,域名-->ip
- CNAME记录,别名记录,一般用于CDN
- TXT记录,域名-->字符串,一般用于域名验证
- MX记录,一般用于配置企业邮箱,跟随配置要求进行设置即可
-
DNS术语:记录类型,主机记录,ttl(Time To Live 缓存,生效)
-
测试与检查:dig a/cname/txt 域名
-
如果只是想替代/etc/hosts做局域网解析,使用内网dns服务器
bash
dig
host
nslookup
九. https
- SSL证书
案例11 负载均衡绑定证书
案例12-配置 http -->https
- 小结:
- 免费证书,创建,申请
- 部署,clb/alb,cdn 部署web(下载 )
今日总结
- clb核心掌握基础配置,基于url转发
- alb掌握:alb vs clb区别
- DNS解析:DNS记录类型与配置使用
- https 负载均衡80-->443