ECS实例公网访问

更新时间:

专有云提供弹性公网IP、NAT网关、负载均衡SLB等产品,解决ECS实例与公网的访问问题。本文档将介绍弹性公网IP、NAT网关、负载均衡SLB的使用场景和配置指导。

概述

专有网络VPC(Virtual Private Cloud)是用户基于专有云创建的自定义私有网络,不同的专有网络之间二层逻辑隔离,用户可以在自己创建的专有网络内创建和管理云产品实例,比如ECS、RDS等。默认情况下,用户创建的ECS实例无法访问公网(专有云场景下通常是客户机房的网络,不一定是互联网),用户也无法从公网登录ECS实例或者访问ECS实例上部署的应用。

软件环境

专有云企业版:V3.11.0

场景介绍

ECS对公网提供服务

  1. ECS通过EIP对公网提供服务。

    当用户仅有单个或少量ECS实例提供应用服务,业务量较小时,可以为每台ECS实例申请一个EIP并绑定到ECS上,该ECS即对公网提供服务。

    EIP连公网
  2. ECS通过DNAT方式对公网提供服务。

    当用户的EIP数量有限时,可以通过DNAT方式实现同一VPC内多台ECS公用一个EIP对公网提供服务。

    ECS通过DNAT方式对公网提供服务
  3. ECS通过负载均衡对公网提供服务。

    当应用采用集群模式部署时,可以通过公网类型负载均衡SLB对公网提供服务。SLB具备多种调度算法,能够自动将业务流量分发到后端多台ECS实例,方便业务系统的扩容或缩容;健康检查功能可以检查后端ECS实例的运行状态,自动隔离故障的后端ECS,提高应用系统的可用性。

    ECS通过负载均衡对公网提供服务

ECS主动访问公网

  1. ECS通过EIP访问公网。

    当用户仅有单个或少量ECS实例提供应用服务,业务量较小时,可以为每台ECS实例申请一个EIP并绑定到ECS上,该ECS即可通过EIP访问公网。

    ECS通过EIP访问公网
  2. ECS通过SNAT访问公网。

    当用户的EIP数量有限时,可以通过SNAT方式实现同一VPC内多台ECS公用一个EIP访问公网,SNAT规则可以按虚拟交换机粒度或者ECS粒度进行设置。

    ECS通过SNAT访问公网

配置指导

ECS对公网提供服务

  1. ECS通过EIP对公网提供服务。

    实验环境:

    VPC内已创建一台云主机实例,私网IP为192.168.2.188;出口交换机配置IP地址8.8.8.8模拟公网地址。

    1. 申请弹性公网IP。

      1. 登录ASCM控制台。

      2. 在右上角导航栏中单击产品 > 弹性公网IP,在弹性IP界面,单击申请弹性公网IP

      3. 创建弹性外网IP页面,根据以下信息配置弹性公网IP,然后单击提交

        创建EIP

        名称

        描述

        组织

        选择弹性公网IP所属的组织。

        资源集

        选择弹性公网IP所属的资源集。

        地域

        选择弹性公网IP的地域。确保弹性公网IP的地域和要绑定的云资源的地域相同。

        可用区

        选择弹性公网IP的可用区。

        线路类型

        选择要创建的弹性公网IP的线路类型。

        网络类型

        选择弹性公网IP的网络类型。公网:弹性公网IP用于互联网通信。混合云:弹性公网IP用于混合云通信。例如本地数据中心服务器通过SNAT和DNAT访问互联网时,必须选择该类型的弹性公网IP。

        带宽峰值

        指定弹性公网IP的带宽,单位为MB。

    2. 绑定弹性公网IP。

      1. 弹性公网IP页面,找到目标弹性公网IP,单击操作列下的绑定

      2. 绑定弹性公网IP对话框,完成以下配置,然后单击确定

        绑定实例绑定实例2

        名称

        描述

        实例类型

        选择ECS实例。

        ECS实例

        选择要绑定的ECS实例。要绑定的ECS实例必须满足以下条件:ECS实例的网络类型必须是专有网络。ECS实例必须处于运行中或停止状态。一个ECS实例只能绑定一个EIP。ECS实例的地域必须和要绑定的EIP的地域相同。ECS实例没有配置固定公网IP且没有绑定其他EIP。

    3. 测试访问。

      从出口交换机上执行命令ISW-VM-G1-1.AMTEST88 > ssh 42.101.***.*** source IP 8.*.*.*通过SSH访问ECS实例的sshd服务,可以看到通过弹性公网IP已经可以访问到ECS上的sshd服务。

      测试访问

  2. ECS通过DNAT方式对公网提供服务。

    1. 创建NAT网关。

      1. 登录ASCM控制台。

      2. 在右上角导航栏中单击产品> 网络 > NAT网关。在NAT网关页面,单击创建NAT网关

      3. 根据以下信息配置NAT网关,然后单击提交

        创建NAT

        名称

        描述

        组织

        选择NAT网关所属的组织。

        资源集

        选择NAT网关所属的资源集。

        地域

        选择NAT网关所属的地域。

        VPC

        选择NAT网关所属的VPC。如果在VPC列表中,找不到目标VPC,请从以下方面进行排查:查看该VPC是否已经配置NAT网关。一个VPC只能配置一个NAT网关。查看该VPC中是否存在目标网段为0.0.0.0/0的自定义路由。如果存在,请删除该路由条目。RAM用户不具备读取访问VPC的权限,请联系主账号为RAM账号授权。

        规格

        选择NAT网关规格,支持以下规格:小型:SNAT最大连接数为1万。中型:SNAT最大连接数为5万。大型:SNAT最大连接数为20万。超大型:SNAT最大连接数为100万。

        名称

        输入NAT网关的名称。名称长度在2~128个字符之间,必须以英文字母和中文字符开头,可包含数字、下划线(_)、短横线(-)、点号(.)、冒号(:)和逗号(,),但不能以http://或https://开头。

    2. 绑定弹性公网IP。

      1. 弹性公网IP页面点击绑定,选择上一步创建的NAT网关。

        绑定公网IP
    3. 设置DNAT规则。

      1. NAT网关页面单击设置DNAT > 创建DNAT条目。

      2. 选择公网IP和要访问的ECS实例,设置公网端口和私网端口。

        设置条目
    4. 测试访问。

      从出口交换机上执行命令ISW-VM-G1-1.AMTEST88>ssh 42.101.***.*** source IP 8.8.8.8通过SSH访问ECS实例的sshd服务,可以看到通过NAT网关的DNAT功能,可以实现从公网访问ECS实例上的服务。

      测试访问2

  3. ECS通过负载均衡对公网提供服务。

    实验环境:

    VPC内已创建一台云主机实例,私网IP为192.168.2.188,该实例上启动httpd服务;出口处一台客户端服务器,IP为10.101.2.1。

    1. 新建负载均衡SLB实例。

      1. 登录ASCM控制台。

      2. 在上方导航栏中单击产品 > 网络 > 负载均衡SLB。

      3. 在左侧导航栏,选择实例 > 实例管理

      4. 实例管理页面,单击创建负载均衡

        SLB实例

        名称

        描述

        组织

        从下拉列表中选择负载均衡实例的所属组织。

        说明

        确保负载均衡实例的组织和后端服务器ECS实例的组织相同。

        资源集

        从下拉列表中选择负载均衡实例所属的资源集。

        地域

        输入负载均衡实例所在的地域。

        可用区

        从下拉列表中选择负载均衡实例所在的可用区。

        负载均衡名称

        在文本框中输入实例名称。

        长度限制为2~128个字符,以字母或中文开头,支持数字、全角字符、连接号(-)、冒号(:)、英文句点(.)和下划线(_)字符,支持换行和空格,不能以http://https://开头。

        实例类型

        选择公网。

        网络类型

        选择网络类型,分为经典网络和专有网络。

        IP版本

        选择IP版本,内网实例只支持IPv4,公网实例支持IPv6和IPv4。

    2. 配置监听。

      1. 在实例列表选择上一步新建的负载均衡实例,点击添加监听,设置端口为80后单击下一步

        设置监听

        监听配置

        说明

        选择负载均衡协议

        选择监听的协议类型。本操作,选择TCP。

        监听端口

        设置端口为80。

      2. 新建服务器分组,将ECS实例加入服务器分组,并设置端口为80。

        如果有一组ECS实例提供高可用服务,则将一组服务器全部添加到服务器分组内。

      3. 负载均衡通过健康检查来判断后端服务器(ECS实例)的业务可用性。健康检查机制提高了前端业务整体可用性,避免了后端ECS异常对总体服务的影响。单击修改更改健康检查配置。

      4. 完成以下操作,确认监听配置:

        1. 配置审核页面,检查监听配置,您可以单击修改更改配置。

        2. 确认无误后,单击提交

        3. 配置成功页面,配置成功后,单击知道了

        配置成功后,您可以在监听页面查看已创建的监听。

    3. 测试访问。

      在客户端服务器上通过curl $IP命令访问SLB的公网IP,能够访问到ECS实例上的Web页面,说明配置成功。

      测试访问3

ECS主动访问公网

  1. ECS通过EIP访问公网。

    实验环境:

    VPC内已创建一台云主机实例,私网IP为192.168.2.188;出口交换机配置IP地址8.8.8.8模拟公网地址。申请弹性公网IP。

    1. 登录ASCM控制台。

      1. 登录ASCM控制台。

      2. 在右上角导航栏中单击产品 > 弹性公网IP,在弹性IP界面,单击申请弹性公网IP

      3. 创建弹性外网IP页面,根据以下信息配置弹性公网IP,然后单击提交

        创建EIP

        名称

        描述

        组织

        选择弹性公网IP所属的组织。

        资源集

        选择弹性公网IP所属的资源集。

        地域

        选择弹性公网IP的地域。确保弹性公网IP的地域和要绑定的云资源的地域相同。

        可用区

        选择弹性公网IP的可用区。

        线路类型

        选择要创建的弹性公网IP的线路类型。

        网络类型

        选择弹性公网IP的网络类型。公网:弹性公网IP用于互联网通信。混合云:弹性公网IP用于混合云通信。例如本地数据中心服务器通过SNAT和DNAT访问互联网时,必须选择该类型的弹性公网IP。

        带宽峰值

        指定弹性公网IP的带宽,单位为MB。

    2. 绑定弹性公网IP。

      1. 弹性公网IP页面,找到目标弹性公网IP,单击操作列下的绑定

      2. 绑定弹性公网IP对话框,完成以下配置,然后单击确定

        绑定实例 绑定实例2

        名称

        描述

        实例类型

        选择ECS实例。

        ECS实例

        选择要绑定的ECS实例。要绑定的ECS实例必须满足以下条件:ECS实例的网络类型必须是专有网络。ECS实例必须处于运行中或停止状态。一个ECS实例只能绑定一个EIP。ECS实例的地域必须和要绑定的EIP的地域相同。ECS实例没有配置固定公网IP且没有绑定其他EIP。

    3. 测试访问。

      从ECS上测试访问出口交换机上的公网IP,可以正常访问,表明ECS可以通过EIP访问公网。测试访问

  2. ECS通过SNAT访问公网。

    实验环境:

    VPC内已创建一台云主机实例,私网IP为192.168.2.188;出口交换机配置IP地址8.8.8.8模拟公网地址。

    1. 创建NAT网关。

      1. 登录ASCM控制台。

      2. 在右上角导航栏中单击产品> 网络 > NAT网关。在NAT网关页面,单击创建NAT网关

      3. 根据以下信息配置NAT网关,然后单击提交

        创建NAT

        名称

        描述

        组织

        选择NAT网关所属的组织。

        资源集

        选择NAT网关所属的资源集。

        地域

        选择NAT网关所属的地域。

        VPC

        选择NAT网关所属的VPC。如果在VPC列表中,找不到目标VPC,请从以下方面进行排查:查看该VPC是否已经配置NAT网关。一个VPC只能配置一个NAT网关。查看该VPC中是否存在目标网段为0.0.0.0/0的自定义路由。如果存在,请删除该路由条目。RAM用户不具备读取访问VPC的权限,请联系主账号为RAM账号授权。

        规格

        选择NAT网关规格,支持以下规格:小型:SNAT最大连接数为1万。中型:SNAT最大连接数为5万。大型:SNAT最大连接数为20万。超大型:SNAT最大连接数为100万。

        名称

        输入NAT网关的名称。名称长度在2~128个字符之间,必须以英文字母和中文字符开头,可包含数字、下划线(_)、短横线(-)、点号(.)、冒号(:)和逗号(,),但不能以http://或https://开头。

    2. 绑定弹性公网IP。

      1. 弹性公网IP页面,找到目标弹性公网IP,单击操作列下的绑定

      2. 绑定弹性公网IP对话框,完成以下配置,然后单击确定

        实例类型:NAT网关。

        NAT网关:选择上一步创建的NAT网关。

    3. 设置SNAT规则后单击确定

      NAT网关页面单击设置SNAT > 创建SNAT条目,选择公网IP和需要访问公网的ECS实例或者交换机。设置SNAT规则

    4. 测试访问。

      从ECS实例上访问出口交换机上的公网地址,可以看到通过NAT网关的SNAT功能,可以实现从ECS实例主动访问公网。测试访问