10|小试牛刀(二):如何突破VPC网络的速度限制?
跨 VPC 问题的演进
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了如何突破VPC网络的速度限制,通过代理技术实现函数在跨VPC上的高效访问。作者首先分析了VPC网络建联时间对函数执行速度的影响,以及当前解决跨VPC通信效率的方式存在的问题。随后,提出了一种新的解决方案——代理技术,通过在函数计算的集群与用户的VPC之间添加Proxy Node,并使用隧道和转发技术来实现函数通过Proxy机器代理的方式访问用户VPC的资源。文章详细介绍了隧道技术和转发技术的实操步骤,包括创建GRE隧道、设置转发能力和完善路由规则等。通过这些技术手段,读者可以了解如何在Serverless的实战中突破VPC网络的速度限制,提高函数访问速度的上限。 此外,文章还涉及了容器网络在访问用户VPC服务时的差异和高可用方面的考虑。对于容器网络的访问问题,作者提出了使用ip-masq-agent来管理IP伪装的扩展,以解决Pod IP和Proxy BCC上构建的路由规则不一致的情况。而在高可用方面,建议为每个VPC/Subnet建立一对主备Proxy,并使用HaVip进行容灾切换,同时对Proxy Node进行自动扩缩容以应对流量变化。 总的来说,本文通过深入的技术讲解和实操案例,帮助读者了解了如何优化函数在跨VPC场景的访问速度,探讨了代理技术的实现过程以及相关技术要点。同时,还提出了思考题和延伸阅读,为读者提供了更多的学习和交流空间。
《Serverless 进阶实战课》,新⼈⾸单¥59
全部留言(4)
- 最新
- 精选
- 马洪超func bcc和proxy bcc本来就是通的,为啥要加一层隧道呢,直接把proxy bcc做网关,不就直接可以访问user bcc了吗
作者回复: 是互通的,内核转发,目的是封装原始ip 包送达到proxy bcc
2022-09-28归属地:上海31 - Wang Yifei“此时 func bcc1 访问 user bcc 172.16.101.4 仍然访问不通,在 proxy bcc 侧监听 eth1 流量可以发现,eth1 发往用户 VPC 的包的源 IP 仍是 func1 bcc gre0 设备的 IP 10.0.0.3” 这里有个问题,proxy bbc的gre0设备是不是会把gre封装的包头去掉后,继续根据payload进行路由转发? 如果是这样的话,payload的源IP为什么还是10.0.0.3,而不是192.168.80.8呢?
作者回复: 是192.168.80.8,10.0.0.3是隧道的ip
2023-04-04归属地:德国 - Wang Yifei没有找到Kubernetes中相关CM的配置 但我理解,是否也可以这样实现:在func bcc1中添加一条iptables规则,把发送给172.16.101.0/24流量的Source IP修改为10.0.0.3。
作者回复: 跨vpc 是不可以的哈
2023-04-04归属地:北京 - 奕网卡会提前在用户 VPC 所在的子网 Subnet 中创建,但租户的权限属于函数计算 VPC ========== 这个是怎么实现的?
作者回复: 首先需要用户授权,然后平台在创建的时候通过特权账号从网卡后台服务侧申请创建,简单来说,就是用户,函数计算平台,网卡后台服务三者针对弹性网卡创建的一个关系。这个关系基础上的访问属于云厂商的特性
2022-09-20归属地:上海