阿里云VPC的使用体会分享(二)

本篇主要分享一些简单的基于VPC的产品架构搭建以及搭建过程中遇到的一些问题和踩过的坑。


在《阿里云VPC的使用体会分享(一)》中我曾经介绍了EIP和SLB两种方式让VPC-ECS具备公网或部分公网能力。


本文再深入一下,介绍如何结合EIP、SLB、VPC搭建产品架构。


分享下面一个场景,以及我己的解决之道:

有些公司因为历史原因网络架构会比较复杂,业务与业务之间在不同的地域(或机房,或服务商),业务与业务之间使用公网IP完成数据交互,只允许单点入、单点出,且业务与业务间的交互使用IP白名单进行控制,这种情况下,如何使用阿里云VPC来管理公司的云上ECS资产并与其它业务完成对接

 

首先提炼几个要素:


1.需要一个统一入口,且这个入口对安全性有较高的要求。


解决方案:使用公网SLB作为统一入口,这样的好处是公网IP不能直连具体的ECS,而是通过端口监听与转发完成数据交互,且通过SLB可以弹性增减后端ECS,提高流量的抗压能力和业务稳定性。




2.需要一个统一的出口。


解决方案:统一入口已经使用SLB完成了接入,但是SLB不具备公网出口能力,这一点我在第一篇文章中已经做了说明。那么依托SLB只能完成统一公网入口的搭建,公网出口有3种方式可以实现:


①为所有的后端ECS绑定一个EIP,这样就具备了公网出口能力。问题很明显,如果后端机器大于1台,则只能做到公网出口搭建,不满足出口IP固定的需求,且为VPC-ECS绑定EIP本身具有一定的风险性。


②在VPC环境中,挑一台机器绑定一个EIP,并搭建SNAT服务(或VPN服务,原理一致,后面就不重复了),然后将VPC网络的0.0.0.0下一跳设为此ECS,用于VPC内部的流量对外转发,自建SNAT有很多种方式,我这里就不一一赘述了。
优点:无论VPC有多少个ECS,都能统一的拥有公网出口能力,且公网出口唯一、一致。
缺点:SNAT服务器本身的稳定性和会影响到整个VPC内业务稳定性,单点风险很高。


③买买买,阿里云本身提供VPC内的SNAT服务,花钱就行了,本身也不需要搭建和维护SNAT服务器,省心省力。如果你的VPC网络里指定了0.0.0.0的下一跳,则无法购买,需要先删除。


以上我提供了3种解决办法,只有适合与不适合,小型业务适合方案①,中型适合②,大型和超大型的业务适合方案③。


使用方案②和方案③最终的效果是这样的:








其实这种方式来组建VPC业务群还可以应用到一些第三方服务的对接上,比如友盟的消息推送、阿里云的短信API等,这些都是需要通过白名单验证的,VPC的统一出口可以解决白名单维护难度。


上面的方案是VPC应用中纯云端的方案,也比较简单,适合简单的业务。VPC还可以对接线下的机房,构建自己的混合云等,后面再介绍。