目前阿里云虚拟网络为用户提供了以下几种不同形态的公网类产品:负载均衡 (SLB),弹性公网IP (EIP),NAT网关。这几种产品分别适用于不同的场景,用户可通过这几种产品实现VPC资源与公网的互通。
产品使用场景核心关键词
产品 |
场景关键词 |
计量计费特性 |
SLB |
DNAT + 负载均衡 七层转发/四层转发 健康检查/高可用 |
预付费:按带宽 后付费:按带宽/按流量 |
NAT网关 |
DNAT(IP映射/端口映射) SNAT(ECS访问互联网) 共享带宽 |
后付费:按带宽
|
EIP |
最简单的ECS连通公网的方式 |
预付费:按带宽 后付费:按带宽/按流量 |
注:负载均衡的DNAT可支持一个“SLB IP+端口”映射到多个“ECS IP+端口”上,NAT网关的DNAT只支持一个“公网IP+端口”映射到一个“ECS IP+端口”上。
- 负载均衡SLB:支持入方向的端口映射(DNAT),用户可在后端添加服务器,并设置相应的调度策略,负载均衡将把公网流量分发到后端的服务器上,同时用户可根据业务的访问量对后端服务器进行动态增减,做到灵活的扩容和缩容。并且,SLB会提供健康检查服务,自动屏蔽异常状态的后端服务器,保证系统高可用。SLB适用于对可用性要求高的、需要多台ECS承载同一业务的应用场景。
- 弹性公网IP: 能够动态的绑定到VPC类型的ECS上,为每台ECS提供独立使用的公网IP地址和带宽。
- NAT网关: 支持入方向的端口映射(DNAT)和出方向的SNAT功能,支持带宽包,能够明显得降低带宽成本。
典型场景与解决方案
下面针对几种典型的场景,假设用户保有的都是VPC类型的ECS,来介绍我们应该选择的产品:
需要对外提供服务
• 单台ECS对外提供服务
用户只存在单一应用,并且业务较小的时候,单台ECS即可满足用户的需求,应用程序、数据库、文件都部署在该ECS上面。为这台ECS绑定一个公网EIP即可对外提供服务。
• 对外提供带有负载均衡的四层服务
用户业务流量较大,需要对外提供服务,一台ECS已经不能支撑这么大的访问流量,需要多台ECS才能支持。用户只需要最简单的负载均衡功能,不需要更高级的七层转发等功能,此时,用户可选择公网负载均衡实例、创建四层(TCP/UDP)监听、后端挂载多台ECS来搭建整个业务架构。
• 对外提供带有负载均衡的七层服务
用户业务流量较大,需要对外提供服务,一台ECS已经不能支撑这么大的访问流量,需要多台ECS才能支持。用户需要用到“按域名或按URL转发”或者数据安全传输等七层功能,此时,用户可选择公网负载均衡实例、创建七层(HTTP/HTTPS)监听、后端挂载多台ECS来搭建整个业务架构。
无公网IP的ECS主动访问互联网
• 挂载EIP
当用户的ECS较少的时候,可针对每台ECS分别绑定一个EIP,可通过各自的EIP实现公网的访问。
• 使用NAT网关
若用户需要访问公网的ECS数量特别多的时候,对每个ECS分别绑定EIP显得特别麻烦,此时建议使用NAT网关的SNAT功能。用户首先创建一个带有公网IP和公网带宽的NAT网关,在NAT网关上配置相应的SNAT规格,允许特定交换机下的所有ECS访问公网。在NAT网关上配置自定义路由,将某个虚拟交换机下的访问公网的数据转发至NAT网关。
抓取类业务
• 场景概述
用户需要根据既定的抓取目标,有选择的访问万维网上的网页与相关链接,获取所需要的信息按照一定的规则从网络中去定向抓取相关网页资源进行分析。爬虫业务需要保证公网IP的可用性,当IP被攻击时可以方便的更改该公网IP。
• 核心诉求
用户将保有多台VPC ECS,分别负责抓取不同的数据,并且这些ECS都有访问公网(SNAT)的需求,当这些IP被攻击时,需要随意更换出口IP。
• 解决方案
多台ECS通过VRouter接入NAT网关,可针对某个VSwitch下的网段配置统一的SNAT规则,多台ECS都可以通过一个公网IP去访问公网。当该公网IP被攻击时,用户可直接修改SNAT规则配置修改出口IP。
多个公网服务共享带宽
用户的业务发展快,并存在多个应用,可将不同的应用部署在不同的子网中独立的进行管理。若子网内的每个ECS都是相对独立的业务模块,可使用NAT网关的端口转发功能进行IP映射,并针对这些ECS共享带宽。