通过联动公网NAT网关和传统型负载均衡CLB(Classic Load Balancer)实现互联网业务的高可用性,且将弹性公网IP绑定至公网NAT网关实现统一云上出入口IP(Elastic IP Address,简称EIP),帮助您高效地管理互联网业务。
场景示例
本文以下图场景为例。
某公司在华东2(上海)地域创建了两台ECS实例,并在两台ECS实例部署了业务系统。由于业务的特殊性,要求业务满足以下条件:
业务具有高可用性,避免单ECS实例故障导致的业务中断。
两台ECS实例均可以主动访问互联网。
互联网访问ECS实例使用的公网IP与ECS实例主动访问互联网使用的公网IP一致。
您可以联动公网NAT网关、CLB和EIP实现上述需求:
公网NAT网关的DNAT功能与CLB组合使用可以增强业务的高可用性,当其中一台ECS实例出现故障时,CLB会自动屏蔽故障的ECS实例,并将请求分发给正常运行的ECS实例,保证业务系统仍能正常工作。
公网NAT网关的SNAT功能可以实现ECS实例主动访问互联网。
公网NAT网关的DNAT功能和SNAT功能同时使用一个EIP,可以实现CLB的后端服务器ECS实例访问互联网的出入口IP一致,有利于您更高效地管理互联网业务。
前提条件
您已经在华东2(上海)地域创建了VPC和交换机。具体操作,请参见搭建IPv4专有网络。
您已经在交换机中创建了两台ECS实例,名称分别为ECS01和ECS02,且在ECS实例中均部署了业务系统。具体操作,请参见自定义购买实例。
您已经确认ECS实例的安全组规则允许ECS实例访问互联网和被互联网访问。具体操作,请参见添加安全组规则。
配置步骤
步骤一:创建CLB实例
CLB是将访问流量根据转发策略分发到多台后端服务器ECS实例的流量分发控制服务。CLB扩展了应用的服务能力,增强了应用的可用性。
- 登录传统型负载均衡CLB控制台。
在实例管理页面,单击创建传统型负载均衡。
在实例购买页面,配置以下信息,然后单击立即购买并完成支付。
付费模式:选择一种付费模式。本文选择按量付费。
地域和可用区:由于CLB默认不支持跨地域部署,因此创建CLB实例时应选择与ECS实例相同的地域。本文选择华东2(上海)及华东2可用区D。
可用区类型:默认选择为多可用区。
备可用区:本文选择华东2可用区B。
实例名称:输入实例名称,或者使用系统自动创建的实例名称。
实例规格:本文选择简约型I(slb.s1.small)。该规格最大可以支持的连接数为5000,新建连接数(CPS)为3000,每秒查询数 (QPS)为1000。
实例类型:本文选择私网。
网络类型:选择CLB实例的网络类型。本文选择专有网络。
专有网络:本文选择已创建的VPC和交换机。
IP版本:默认选择为IPv4。
功能特性:默认选择为标准功能。
计费方式:显示CLB实例的计费方式,默认为按使用流量计费。
数量:本文购买1个CLB实例。
资源组:选择负载均衡实例所属的资源组。
CLB实例创建完成后,系统会为CLB实例分配一个私网IP地址,用于私网接入。
步骤二:配置CLB实例
创建CLB实例后,您需要对CLB实例进行配置。配置完成后,CLB实例才能进行流量转发。在配置时,您至少需要添加一个监听和一组后端服务器。
- 登录传统型负载均衡CLB控制台。
在实例管理页面,找到步骤一创建的CLB实例,然后在操作列单击监听配置向导。
在协议&监听配置向导页面,配置以下信息,然后单击下一步。
选择监听协议:本文选择TCP。
监听端口:用来接收请求并向后端服务器进行转发的CLB实例端口。
本文输入80。
监听名称:本文不填写,系统默认以
协议_端口
定义名称。
其余参数使用默认配置。
在后端服务器配置向导页面,选择默认服务器组,然后单击继续添加,添加后端服务器。
在我的服务器面板,选中ECS01和ECS02实例,然后单击下一步。
配置权重,然后单击添加。
权重越大转发的请求越多,默认权重为100,本文使用默认值。
在后端服务器配置向导页面,配置后端协议端口,即ECS实例开放的用来接收请求的后端端口。后端端口在同一个CLB实例内可以重复。本文设置为80。
在后端服务器配置向导页面,单击下一步,配置健康检查,本文使用默认值。
开启健康检查功能后,当后端服务器中某个ECS实例健康检查出现问题时,CLB会将请求转发到其它健康检查正常的ECS实例上;而当该ECS实例恢复正常运行时,CLB会自动将请求转发到该ECS实例。
在健康检查配置向导页面,单击下一步,进入配置审核配置向导,确认配置无误后,单击提交。
在弹出的对话框,单击知道了,返回实例管理页面,单击图标查看CLB实例。
当后端服务器中的ECS实例的健康检查状态为正常时,表示后端ECS实例可以正常处理CLB实例转发的请求。
步骤三:创建公网NAT网关实例
- 登录NAT网关管理控制台。
- 在公网NAT网关页面,单击创建NAT网关。
首次使用NAT网关时,在创建公网NAT网关页面关联角色创建区域,单击创建关联角色。角色创建成功后即可创建NAT网关。
关于NAT网关服务关联角色的更多信息,请参见服务关联角色。
在创建公网NAT网关页面,配置以下购买信息,然后单击立即购买。
配置
说明
付费模式
默认选择为按量付费,即一种先使用后付费的付费模式。更多信息,请参见公网NAT网关计费。
资源组
选择VPC所属的资源组。更多信息,请参见资源组概述。
标签
标签键:选择或输入完整的标签键。
最多支持输入20个标签键。一个标签键最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。
标签值:选择或输入完整的标签值。
最多支持输入20个标签值。一个标签值最多支持128个字符,不能以aliyun和acs:开头,不能包含http://或者https://。
所属地域
选择需要创建公网NAT网关的地域。
所属专有网络
选择公网NAT网关所属的VPC。创建后,不能修改公网NAT网关所属的VPC。
关联交换机
选择公网NAT网关实例所属的交换机。
计费类型
默认选择为按使用量计费,即按公网NAT网关实际使用量收费。更多信息,请参见公网NAT网关计费。
计费周期
默认选择为按小时,即按使用量计费公网NAT网关的计费周期为1小时,不足1小时按1小时计算。
实例名称
设置公网NAT网关实例的名称。
实例名称长度为2~128个字符,以英文大小字母或中文开头,可包含数字、下划线(_)和短划线(-)。
访问模式
选择公网NAT网关的访问模式。支持以下两种模式:
VPC全通模式(SNAT):选择了VPC全通模式,在公网NAT网关创建成功后当前VPC内所有实例即可通过该公网NAT网关访问公网。
选择VPC全通模式(SNAT)后,您需要配置弹性公网IP(Elastic IP Address,简称EIP)的相关信息。
稍后配置:如需稍后配置或有更多配置需求,可在购买完成后,前往控制台进行配置。
选择稍后配置,则只购买公网NAT网关实例。
本文选择稍后配置。
在确认订单页面确认公网NAT网关的配置信息,选中服务协议并单击确认订单。
当出现恭喜,购买成功!的提示后,说明您创建成功。
创建成功后,您可以在公网NAT网关页面查看网关类型为增强型的公网NAT网关。
步骤四:绑定EIP
您可以将EIP绑定到公网NAT网关上。公网NAT网关绑定EIP后,可以使用EIP配置DNAT条目和SNAT条目。
- 登录NAT网关管理控制台。
在公网NAT网关页面,找到步骤三创建的公网NAT网关实例,然后在操作列选择 。
在绑定弹性公网IP对话框,配置以下参数,然后单击确定。
所在资源组:选择EIP所在的资源组。
选择弹性公网IP:选择要绑定到公网NAT网关的EIP。
从已有弹性公网IP中选择:在下拉列表中选择已有的EIP实例。
新购弹性公网IP并绑定:系统将为您创建1个按使用流量计费的EIP实例,并绑定到公网NAT网关。
本文选择新购弹性公网IP并绑定。
EIP绑定完成后,您可以在公网NAT网关页面查看绑定的EIP。
步骤五:创建DNAT条目
公网NAT网关支持DNAT功能,将公网NAT网关绑定的EIP映射给私网CLB实例使用,使私网CLB实例的后端服务器能够提供互联网服务。
- 登录NAT网关管理控制台。
在公网NAT网关页面,找到步骤三创建的公网NAT网关实例,然后在操作列单击设置DNAT。
在DNAT条目列表区域,单击创建DNAT条目。
在创建DNAT条目页面,根据以下信息配置DNAT条目,然后单击确定创建。
选择弹性公网IP地址:选择要提供互联网通信的EIP。本文选择步骤四中绑定到公网NAT网关的EIP。
说明本文DNAT条目使用的EIP与SNAT条目使用的EIP相同。
选择私网IP地址:本文选择通过手动输入,然后输入CLB实例的私网IP地址192.168.24.206。
端口设置:选择DNAT映射的方式:
任意端口:该方式属于IP映射,即任何访问该EIP的请求都将转发到目标ECS实例上。
具体端口:该方式属于端口映射,公网NAT网关会将以指定协议和端口访问该EIP的请求转发到目标ECS实例的指定端口上。
本文选择具体端口,然后将公网端口设置为80、私网端口设置为80、协议类型设置为TCP。
条目名称:输入DNAT条目的名称。
名称长度为2~128个字符,以大小写字母或中文开头, 可包含数字、下划线(_)和短划线(-)。
DNAT条目创建成功后,您可以在DNAT条目列表区域查看状态为可用的DNAT条目。
步骤六:创建SNAT条目
公网NAT网关支持SNAT功能,为VPC中无公网IP的ECS实例提供访问互联网的代理服务。
- 登录NAT网关管理控制台。
在公网NAT网关页面,找到步骤三创建的公网NAT网关实例,然后在操作列单击设置SNAT。
在SNAT条目列表区域,单击创建SNAT条目。
在创建SNAT条目页面,根据以下信息配置SNAT条目,然后单击确定创建。
SNAT条目粒度:本文选择VPC粒度,即公网NAT网关实例所属VPC下的所有ECS实例都可以通过配置的SNAT规则访问互联网。
选择弹性公网IP地址:选择用来提供互联网访问的EIP。本文选择使用单IP,然后在下拉列表选择步骤四中绑定到公网NAT网关的EIP。
说明本文SNAT条目使用的EIP与DNAT条目使用的EIP相同。
条目名称:SNAT条目的名称。
名称长度为2~128个字符,以大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。
步骤七:访问测试
SNAT条目和DNAT条目创建成功后,您可以测试ECS实例的网络连通性。
测试ECS实例是否可以访问互联网。
登录ECS01。具体操作,请参见ECS连接方式概述。
如下图所示,执行
ping
命令测试网络连通性。经测试,ECS01可以访问互联网。
说明您可以参考上述操作,登录ECS02测试网络连通性。
执行
curl myip.ipip.net
命令探测ECS01的公网出口IP。经测试,ECS01公网出口IP与公网NAT网关实例中SNAT条目中的IP一致,即ECS01通过公网NAT网关的SNAT功能主动访问互联网。
测试部署在ECS实例的业务是否可以被互联网访问。
打开互联网中任意一台电脑的浏览器。
输入绑定到公网NAT网关的EIP地址访问部署在ECS实例上的业务服务。
经验证,互联网可以访问部署在ECS实例上的业务服务,即ECS实例通过公网NAT网关的DNAT功能提供互联网访问服务,且公网出入口IP相同,都是绑定到公网NAT网关的EIP。
测试CLB实例是否能够提供流量分发服务。
停止ECS01。具体操作,请参见停止实例。
打开互联网中任意一台电脑的浏览器。
输入绑定到公网NAT网关的EIP地址访问部署在ECS实例上的业务服务。
经验证,互联网可以访问部署在ECS实例上的业务服务,此时提供业务服务的是ECS02,即当ECS01故障时,CLB将互联网访问转发至正常的ECS02,实现了业务的高可用性。
相关文档
您可以登录云速搭CADT控制台,使用公网NAT网关实现云上统一公网出入口IP。具体操作,请参见最佳实践。