Day02-公有云使用指南

Day02-公有云使用指南

七. 负载均衡

  • 公有云中的负载均衡一般都是现成的产品,一般不需要我们关注产品的底层实现。

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

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
相关推荐
CESS_Cloud1 天前
CESS 出席华盛顿区块链政策峰会:参与国家安全与数据隐私保护专题讨论
安全·阿里云·web3·去中心化·区块链
HaoHao_0101 天前
云消息队列 Kafka 版
分布式·阿里云·kafka·云计算·云服务器
HaoHao_0102 天前
云消息队列 RabbitMQ 版
阿里云·云计算·云服务器
HaoHao_0102 天前
应用实时监控服务ARMS
阿里云·云计算·云服务器
Cachel wood3 天前
Vue.js前端框架教程10:Vue生命周期钩子onBeforeMount 和onMounted
linux·前端·javascript·vue.js·阿里云·前端框架·ecmascript
松垮的屁兜3 天前
【OSS】php使用oss存储
阿里云·php
Pocker_Spades_A3 天前
阿里云-通义灵码:在 PyCharm 中的强大助力(上)
阿里云·开源软件
船长@3 天前
python快速接入阿里云百炼大模型
阿里云·云计算
ezreal_pan3 天前
基于阿里云日志服务的程序优化策略与实践
阿里云·性能优化·阿里云日志