通过公网NAT网关实现云上统一公网出入口IP

通过联动公网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扩展了应用的服务能力,增强了应用的可用性。

  1. 登录传统型负载均衡CLB控制台
  2. 实例管理页面,单击创建传统型负载均衡

  3. 在实例购买页面,配置以下信息,然后单击立即购买并完成支付。

    • 付费模式:选择一种付费模式。本文选择按量付费

    • 地域和可用区:由于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地址,用于私网接入。创建SLB

步骤二:配置CLB实例

创建CLB实例后,您需要对CLB实例进行配置。配置完成后,CLB实例才能进行流量转发。在配置时,您至少需要添加一个监听和一组后端服务器。

  1. 登录传统型负载均衡CLB控制台
  2. 实例管理页面,找到步骤一创建的CLB实例,然后在操作列单击监听配置向导

  3. 协议&监听配置向导页面,配置以下信息,然后单击下一步

    • 选择监听协议:本文选择TCP

    • 监听端口:用来接收请求并向后端服务器进行转发的CLB实例端口。

      本文输入80

    • 监听名称:本文不填写,系统默认以协议_端口定义名称。

    其余参数使用默认配置。

  4. 后端服务器配置向导页面,选择默认服务器组,然后单击继续添加,添加后端服务器。

    1. 我的服务器面板,选中ECS01和ECS02实例,然后单击下一步

    2. 配置权重,然后单击添加

      权重越大转发的请求越多,默认权重为100,本文使用默认值。

    3. 后端服务器配置向导页面,配置后端协议端口,即ECS实例开放的用来接收请求的后端端口。后端端口在同一个CLB实例内可以重复。本文设置为80

  5. 后端服务器配置向导页面,单击下一步,配置健康检查,本文使用默认值。

    开启健康检查功能后,当后端服务器中某个ECS实例健康检查出现问题时,CLB会将请求转发到其它健康检查正常的ECS实例上;而当该ECS实例恢复正常运行时,CLB会自动将请求转发到该ECS实例。

  6. 健康检查配置向导页面,单击下一步,进入配置审核配置向导,确认配置无误后,单击提交

  7. 在弹出的对话框,单击知道了,返回实例管理页面,单击刷新图标查看CLB实例。

    当后端服务器中的ECS实例的健康检查状态为正常时,表示后端ECS实例可以正常处理CLB实例转发的请求。配置监听

步骤三:创建公网NAT网关实例

  1. 登录NAT网关管理控制台
  2. 公网NAT网关页面,单击创建NAT网关
  3. 首次使用NAT网关时,在创建公网NAT网关页面关联角色创建区域,单击创建关联角色。角色创建成功后即可创建NAT网关。

    创建角色 关于NAT网关服务关联角色的更多信息,请参见服务关联角色

  4. 在创建公网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网关实例。

    本文选择稍后配置

  5. 确认订单页面确认公网NAT网关的配置信息,选中服务协议并单击确认订单

    当出现恭喜,购买成功!的提示后,说明您创建成功。

创建成功后,您可以在公网NAT网关页面查看网关类型为增强型的公网NAT网关。创建增强型NAT网关

步骤四:绑定EIP

您可以将EIP绑定到公网NAT网关上。公网NAT网关绑定EIP后,可以使用EIP配置DNAT条目和SNAT条目。

  1. 登录NAT网关管理控制台
  2. 公网NAT网关页面,找到步骤三创建的公网NAT网关实例,然后在操作列选择更多操作 > 绑定弹性公网IP

  3. 绑定弹性公网IP对话框,配置以下参数,然后单击确定

    • 所在资源组:选择EIP所在的资源组。

    • 选择弹性公网IP:选择要绑定到公网NAT网关的EIP。

      • 从已有弹性公网IP中选择:在下拉列表中选择已有的EIP实例。

      • 新购弹性公网IP并绑定:系统将为您创建1个按使用流量计费的EIP实例,并绑定到公网NAT网关。

      本文选择新购弹性公网IP并绑定

EIP绑定完成后,您可以在公网NAT网关页面查看绑定的EIP。绑定弹性公网IP

步骤五:创建DNAT条目

公网NAT网关支持DNAT功能,将公网NAT网关绑定的EIP映射给私网CLB实例使用,使私网CLB实例的后端服务器能够提供互联网服务。

  1. 登录NAT网关管理控制台
  2. 公网NAT网关页面,找到步骤三创建的公网NAT网关实例,然后在操作列单击设置DNAT

  3. DNAT条目列表区域,单击创建DNAT条目

  4. 创建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条目。创建DNAT条目

步骤六:创建SNAT条目

公网NAT网关支持SNAT功能,为VPC中无公网IP的ECS实例提供访问互联网的代理服务。

  1. 登录NAT网关管理控制台
  2. 公网NAT网关页面,找到步骤三创建的公网NAT网关实例,然后在操作列单击设置SNAT

  3. SNAT条目列表区域,单击创建SNAT条目

  4. 创建SNAT条目页面,根据以下信息配置SNAT条目,然后单击确定创建

    • SNAT条目粒度:本文选择VPC粒度,即公网NAT网关实例所属VPC下的所有ECS实例都可以通过配置的SNAT规则访问互联网。

    • 选择弹性公网IP地址:选择用来提供互联网访问的EIP。本文选择使用单IP,然后在下拉列表选择步骤四中绑定到公网NAT网关的EIP。

      说明

      本文SNAT条目使用的EIP与DNAT条目使用的EIP相同。

    • 条目名称:SNAT条目的名称。

      名称长度为2~128个字符,以大小写字母或中文开头,可包含数字、下划线(_)和短划线(-)。

步骤七:访问测试

SNAT条目和DNAT条目创建成功后,您可以测试ECS实例的网络连通性。

  1. 测试ECS实例是否可以访问互联网。

    1. 登录ECS01。具体操作,请参见ECS连接方式概述

    2. 如下图所示,执行ping命令测试网络连通性。

      经测试,ECS01可以访问互联网。测试连通性

      说明

      您可以参考上述操作,登录ECS02测试网络连通性。

    3. 执行curl myip.ipip.net命令探测ECS01的公网出口IP。

      经测试,ECS01公网出口IP与公网NAT网关实例中SNAT条目中的IP一致,即ECS01通过公网NAT网关的SNAT功能主动访问互联网。IP

  2. 测试部署在ECS实例的业务是否可以被互联网访问。

    1. 打开互联网中任意一台电脑的浏览器。

    2. 输入绑定到公网NAT网关的EIP地址访问部署在ECS实例上的业务服务。

      经验证,互联网可以访问部署在ECS实例上的业务服务,即ECS实例通过公网NAT网关的DNAT功能提供互联网访问服务,且公网出入口IP相同,都是绑定到公网NAT网关的EIP。访问测试

  3. 测试CLB实例是否能够提供流量分发服务。

    1. 停止ECS01。具体操作,请参见停止实例

    2. 打开互联网中任意一台电脑的浏览器。

    3. 输入绑定到公网NAT网关的EIP地址访问部署在ECS实例上的业务服务。

      经验证,互联网可以访问部署在ECS实例上的业务服务,此时提供业务服务的是ECS02,即当ECS01故障时,CLB将互联网访问转发至正常的ECS02,实现了业务的高可用性。ecs2

相关文档

您可以登录云速搭CADT控制台,使用公网NAT网关实现云上统一公网出入口IP。具体操作,请参见最佳实践