企业运维训练营之云上网络原理与实践
第六讲 云服务与总结
视频地址:
https://developer.aliyun.com/learning/course/991/detail/14991
课程目标
- 了解Privatelink产品架构与最佳实践
- 通过Privatelink理解云上网络问题排查方法
- 理解问题排查方法论
- 回顾本期训练营内容
课程目录
- Privatelink相关概念与产品功能
- Privatelink问题排查方法
- 问题排查方法论
- 回顾本期训练营内容
正文:
一、Privatelink相关概念与产品功能
1. Privatelink - 不破坏网络边界的基础上提供云服务。
什么是网络边界?先来回顾一下云网络发展的几个阶段:
a. 经典网络时代
- 没有独立网络空间,没有网络边界;
b. 单体云网络时代
- 基于对等连接的单点组网:实现云上独立地址空间,但仅限于VPC间两两互通,VPC之间有严格的网络边界;
- 基于CEN/CEN-TR的“全球一张网”:解决多VPC复杂组网问题,每个VPC或组网都有自己的边界;
c. 服务化云网络时代:
自治网络组织A、组织B、组织C……均具有独立的网络边界,因各种原因无法直接连接,而通过Privatelink产品可以实现相互访问,亦即:
- 基于Privatelink的服务化组网,解决多张网问题;
- 解决集团型企业组网,实现云上企业生态互联;
2. Privatelink产品简介
私网连接(Privatelink)是利用阿里云的私有网络进行服务交互的一种方式。
如上图所示,利用私网连接,用户可以通过私有网络,单向访问部署在其它 VPC中的服务,无需创建NAT网络、EIP等公网出口,交互数据不会经过互联网,有更高的安全性和更好的网络质量。
Privatelink的产品特点:
- 本地私网通信;
- 保持网络封闭;
- 单向服务访问;
- 保持双方网络独立。
3. Privatelink使用场景
Privatelink的使用场景主要有:云服务、企业内部服务和云上企业生态。
Privatelink使用场景
a. 云服务
场景描述:客户需要以独立的接口访问云内的服务,可以在客户的VPC中创建Endpoint(终端节点),并提供终端节点服务,客户的接口只需访问终端节点,就可以与云服务互通。
Privatelink的优势:
- 更加安全可控的云服务入口;
- 支持跨地域访问云服务;
- 支持IDC访问云服;
b. 企业内部服务
场景描述:企业内部不同网络业务层和公共服务层的互通,通过独立的网络规划访问公共服务器区,可以在业务账户内部各创建一个Endpoint,在服务账号VPC中创建Endpoint服务并绑定SLB,即可在企业内部提供公共服务。
Privatelink的优势:
- 支持服务化的企业IT架构;
- 支持单账号和多账号体系;
- 服务方和业务方的网络规划各自独立,简化管理;
- 更高的安全管控能力和安全隔离能力;
c. 云上企业生态
场景描述:企业与ISV(企业服务合作方)之间的互通场景,每个企业会有多个ISV,同时每个ISV也会对接多个企业,为了防止网段冲突,通过私网连接,ISV向每个企业提供独立的私网接口进行连接。
Privatelink的优势:
- ISV和企业能够在私有网络中发布和使用服务;
- 全程私有网络通信,数据不经过互联网,更加安全可靠;
- 支持混合云场景下的服务发布和访问;
4. Privatelink产品组成
Privatelink产品组成
Privatelink产品主要包含以下组件:
a. 终端节点(Endpoint):代表某个云上服务的使用方VPC中的私有连接接入点。终端节点通过终端节点网卡接入到某个可用区的虚拟交换机。创建终端节点时,可以根据终端节点服务名称,发起连接到服务提供方的终端节点服务的连接请求;
b. 终端节点可用区和网卡(Endpoint Zone & ENI):代表了服务使用方VPC中的服务请求入口。终端节点网卡是在服务使用方VPC中某个虚拟交换机中的一个弹性网卡(ENI),会占用虚拟交换机网段中的一个私网IP地址。所有发送到这个弹性网卡地址的服务请求将会通过私有连接转发到对应服务提供方在相同可用区的服务资源;
c. 终端节点服务(Endpoint Service):代表了服务提供方通过私有连接提供的对外服务,服务名称是唯一标识,服务提供方可以管理服务使用方发起的连接请求。终端节点服务可以添加部署在多个可用区的SLB应用服务集群作为服务资源;
d. 服务资源(Service Resource):即实际提供服务的集群。目前私网连接支持使用SLB作为服务资源;
e. 终端节点连接(Endpoint Connection):代表了终端节点和终端节点服务之间的连接。服务使用方创建终端节点时将发起到终端节点服务的连接请求,服务提供方可以自动或手动接收连接请求;
注意:
- 一个终端节点在一个可用区中只能有一个终端节点网卡;
- 某个终端节点网卡的流量只会转发到在相同可用区的SLB服务集群。
5. 多可用区高可用能力
a. 故障场景
- 某个可用区/机房的PVL集群全部宕机;
- 整个可用区/机房出现故障;
- 某个可用区的服务提供方的服务资源不可用;
b. 高可用机制:通过域名解析实现多可用区高可用
- 对多个可用区中ENI的服务状态进行健康检查;
- 当某个可用区的服务不可用(包括故障场景中的3种情况),自动将不可用的ENI IP从解析结果中去除;
- 客户端根据更新的DNS解析结果,将请求发送到可用的ENI IP;
c. 客户侧要求:客户端必须使用服务的VPC域名访问服务,不能直接使用可用区域名或者ENI IP。
二、通过Privatelink理解云上网络问题排查方法
案例:北京VPC内的ECS无法访问到上海Privatelink
1. 问题排查:
物理拓扑图
进行问题排查,首先要从物理拓扑图(上图)中抽象出一个逻辑拓扑(下图):
逻辑拓扑图
在这张图中,从Clinet到Privatelink EP ENI是客户端,后面三个是服务提供商。在问题排查中,可以先在客户端链路进行自查,确定问题出现的大方向,再详细定位问题。
2. 问题分析
枚举在抽象的逻辑图中每个节点可能出现的情况:
a. 客户端(Client)
- 安全组;
- 安全策略;
- 容器网段;
b. VPC1 & VPC2
- NACL;
- 路由问题;
c. CEN
- TR路由表;
- 带宽包配置;
- 带宽包使用率;
d. EP ENI
- 安全组;
e. EP Service
- 是否正确连接;
f. CLB
- 健康检查情况;
- 连接数上限;
- QPS上限;
g. RS
- 规格上限;
- 内核丢包;
- 应用配置;
三、问题排查方法论
1. Drill-Down Analysis Method - 从错误本身逐层剖析
细节决定成败,这种方法就是对问题现象深挖到底,实施起来需要多个领域的专业知识,非常有挑战性。
- Start at highest level,通常从应用报错日志开始;
- Examine next-level details,从应用层、容器网络层、内核层、虚拟化层逐层怀疑;
- Pick most interesting breakdown,排查可疑的现象;
- If problem unsolved,go to 2,如果问题没有解决则再回到第二步;
优点:通过逐层排查,可以清晰而细致的剖析问题;
缺点:
- 排查依赖于异常复现,需要排查人员对各领域有丰富的经验;
- 容易困在一个很小的点里,而忽视全局。
2. Tools Method - 从外围监控入手
成大事者不拘小节,这种方法是从整个系统监控指标看问题,而不只限于错误消息。
- 首先应有怀疑的方向,并了解对应方向的工具;
- 了解工具暴露的哪些指标可以佐证自己的怀疑;
- 明确指标的含义;
- 执行选择的工具并说明指标的含义Run selected tools and interpret selected metrics;
缺点:
- 如果是偶现的、或历史的异常,监控指标可能不全;
- 生产环境需要部署大量的监控软件,适用场景有限。
四、回顾本期训练营
本期《企业运维训练营之云上网络原理与实践》主要讲解了三部分内容:阿里云云网络的发展、云上网络产品、以及问题排查的方法论和工具。
阿里云云网络发展历经四个阶段,从经典网络到安全隔离的专有网络VPC,进而通过云企业网进入全球互联,最后到5G/IOT的万物互联。
云上网络产品主要介绍了VPC、负载均衡CLB和ALB、NAT、EIP、CEN和Privatelink。
问题排查方法主要推荐两种,从错误本身出发和从外围监控出发,两种方法各有利弊,视根据具体情况选择。
问题排查工具主要有:mtr/traceroute/winmtr/tracert、ping、Wireshark等等。