使用GA端口映射提升应用灵活性与安全性

更新时间:2025-02-19 09:28:29

出于安全考虑,企业通常需要将外部访问端口与后端应用端口进行隔离。您可以在GA中配置端口映射,自定义监听端口与后端应用端口的映射关系,提升应用部署的灵活性和安全性。

端口映射功能简介

默认情况下,GA会使用创建监听时指定的协议和端口范围,将访问流量转发至终端节点组。智能路由类型监听支持端口映射功能,您可以在配置终端节点组时,指定监听端口与终端节点端口的映射关系。配置后,GA会在监听端口接收访问流量,并根据映射关系将流量转发至实际提供服务的终端节点端口,从而实现灵活的网络配置。

适用场景

主要适用于监听端口与终端节点提供服务的端口不一致的场景:

  • 企业应用的安全访问:企业通常需要将外部访问端口与后端应用端口隔离,以提高安全性。通过GA端口映射,可以将外部请求通过标准端口(如TCP 80)接收,并转发到后端应用端口(如8080),从而避免直接暴露内部服务端口。

  • 多租户SaaS应用的端口隔离:在SaaS应用中,通过GA端口映射为每个租户分配不同的外部访问端口(如8001, 8002, 8003),并将这些端口映射到后端特定端口(如8080),确保租户之间的隔离和安全性。

  • HTTPS安全加速访问HTTP网站:运行在HTTP 80端口的网站可通过GA端口映射,对客户端的访问请求进行HTTPS加密。例如,可以配置HTTPS 443监听,并将其映射到后端HTTP 80端口,从而实现HTTPS安全加速访问HTTP网站,提升客户端访问HTTP网站的速度与安全性。

使用限制

  • 如果您的标准型GA实例不支持为TCPUDP监听配置端口映射,可能是由于实例版本不支持。如需使用,请向商务经理申请升级实例。

  • 配置端口映射关系时,监听端口必须包含在当前监听所配置的端口范围内;终端节点端口的输入范围为1-65535。

  • 对于TCPUDP监听,支持单击添加端口映射添加多对端口映射关系,且多对端口映射关系之间的监听端口不能重复。最多可添加30对端口映射关系。

  • 对于HTTPHTTPS监听,最多可添加1对端口映射关系。

  • 对于TCP监听:

    • 虚拟终端节点组不支持配置端口映射。

    • 如果监听下已存在虚拟终端节点组,则默认终端节点组无法配置端口映射。

    • 如果默认终端节点组已配置端口映射,则无法添加虚拟终端节点组。

  • 配置端口映射后,后续监听变更时有以下限制:

    • 监听协议:仅支持HTTPHTTPS协议间的切换,其余协议间的切换均不支持。

    • 监听端口:修改的监听端口范围,必须包含所有已存在端口映射关系的监听端口。

      例如,当监听端口范围为80-82,并配置端口映射至终端节点端口100-102时,后续修改的监听端口范围必须包含80-82,即:可以修改为80-90,但不支持缩小为80-81。

  • 如果后端服务有安全组等访问限制,请确保入方向允许流量访问端口映射中指定的终端节点端口。

    例如,当监听端口为80,并配置端口映射至终端节点端口8080时,您需要确保终端节点的后端服务允许在8080端口接收流量。

场景示例

GA的四层(TCPUDP)和七层(HTTPHTTPS)监听均支持配置端口映射。本文通过以下两种场景来说明GA端口映射的能力。

四层(TCP和UDP)监听端口映射
七层(HTTP和HTTPS)监听端口映射

某游戏公司在阿里云美国(硅谷)地域,通过NLB后端服务器组挂载了游戏服务器ECS01ECS02,ECS中均部署了大型多人在线游戏。其中,对战逻辑处理模块运行在8080端口,聊天模块运行在8090端口。

该公司现面临以下问题:

  • 游戏终端用户遍布全球多个地域,因跨国公网不稳定,终端用户经常出现延迟、抖动、丢包等网络问题。

  • 游戏需要通过不同的端口区分不同的逻辑处理模块,并将相应端口的流量转发至对应的后端模块中。

  • 直接暴露游戏服务器的真实端口,存在安全风险,且难以管理。

为解决以上问题,该游戏公司计划部署全球加速服务。通过GA可实现游戏请求就近接入阿里云,经过阿里云的内网到达游戏服务器,从而缩短公网传输路径,减少延时、抖动、丢包等网络问题;同时,通过GA的端口映射功能,将外部请求通过端口TCP 8090接收,并转发到后端服务端口80808090,从而实现业务模块的端口隔离,避免直接暴露内部服务端口的风险。

image

前提条件

  • 创建NLB实例

  • 已为NLB实例创建了开启全端口转发功能的服务器组和监听。

  • 已在NLB的服务器组中分别添加ECS01ECS02实例,且ECS01ECS02中均使用多个端口部署了不同的服务模块。

    本文以Alibaba Cloud Linux 3操作系统为例,使用Nginx配置同时支持80808090端口的测试服务。

    ECS01部署测试服务命令参考

    1. 执行以下命令,安装Nginx,并部署测试应用示例。

      yum install -y nginx
      cd /usr/share/nginx/html/
      echo "Hello World! This is ECS01, service running on port 8080." > index8080.html
      echo "Hello World! This is ECS01, service running on port 8090." > index8090.html
    2. 执行以下命令,进入Nginx配置文件nginx.conf,配置80808090端口的服务模块,然后保存并退出。

      vim /etc/nginx/nginx.conf

      配置如下:

      http {
          ...
          # Existing configuration
      
          # 新增8080端口的server块
          server {
              listen 8080;
              server_name localhost;
      
              location / {
                  root /usr/share/nginx/html;
                  index index8080.html;
              }
          }
      
          # 新增8090端口的server块
          server {
              listen 8090;
              server_name localhost;
      
              location / {
                  root /usr/share/nginx/html;
                  index index8090.html;
              }
          }
      }
      
    3. 执行以下命令,重启Nginx服务。

      systemctl restart nginx.service
  • ECS01ECS02实例加入的安全组已经放行80808090端口。

  • 您已为业务域名配置DNS解析记录,即已配置了指向NLBCNAME记录。

    如果您使用的DNS解析服务为非阿里云云解析DNS,请参见您的DNS服务商操作指导。

操作步骤

步骤一:配置实例基础信息

本文以按量付费的标准型GA实例为例。

  1. 全球加速控制台标准型实例 > 实例列表列表页面,单击创建标准型按量付费实例

  2. 实例基础配置的配置向导页面,配置基础信息,单击下一步

    GA基础配置.png

步骤二:配置加速区域

配置加速区域配置向导页面,添加加速地域并为其分配带宽,然后单击下一步

本文以中国香港地域为例,加速区域添加为中国(香港)公网质量类型均配置为BGP(多线),其他参数可保持默认值或根据实际情况修改。加速区域配置详细信息,请参见添加和管理加速区域

GA加速区域.png

步骤三:配置监听

配置监听配置向导页面,配置转发协议与端口,然后单击下一步

本文场景中,协议配置为TCP端口配置需要包括8090端口,例如:80-90,其他参数可保持默认值或根据实际情况修改。监听配置详细信息,请参见添加和管理智能路由类型监听

GA 监听80-90.png

步骤四:配置终端节点组与终端节点

  1. 配置终端节点组配置向导页面,配置终端节点后端服务,然后单击下一步

    本文场景中,地域选择美国(硅谷)后端服务类型选择NLB后端服务选择目标NLB实例,在端口映射中配置监听端口80到终端节点端口8080、监听端口90到终端节点端口8090的映射关系,然后阅读并选中数据跨境合规承诺,其他参数可保持默认值或根据实际情况修改。终端节点组配置详细信息,请参见添加和管理智能路由类型监听的终端节点组

    GA EPG映射.png

    GA EPG签署合规.png

  2. 配置审核配置向导页面,确认GA的配置信息,然后单击提交

步骤五:配置CNAME

将对应域名的DNS解析到GA实例分配的CNAME,使业务流量切换至GA,以实现访问加速。

本文场景中,如果您已有指向NLBCNAME记录,您可以先指定中国香港地区来添加指向GACNAME记录,以进行测试。待测试成功后,再逐步扩展至其他地区或仅保留指向GACNAME记录。

  1. 域名解析页面,找到目标业务域名,在操作列单击解析设置

    说明

    对于非阿里云注册域名,需先添加域名到云解析控制台,才可以进行域名解析设置。

  2. 在解析设置页面,单击添加记录,配置CNAME记录,然后单击确定

    本文场景中,记录类型配置为CNAME主机记录配置为www解析请求来源配置为亚洲_中国香港记录值配置为GA实例的CNAME,其他参数可保持默认值或根据实际情况修改。解析记录配置详细信息,请参见添加解析记录

    配置CNAME.png

步骤六:访问测试

端口映射生效验证

在加速地域(本文为中国香港地域)的电脑中:

  • 使用浏览器访问http://<业务域名>:80。多次刷新浏览器,可以在ECS01ECS02之间切换,且可以通过80端口正常访问8080端口的服务。ECS01 8080.pngECS02 8080.png

  • 使用浏览器访问http://<业务域名>:90。多次刷新浏览器,可以在ECS01ECS02之间切换,且可以通过90端口正常访问8090端口的服务。ECS01 8090.pngECS02 8090.png

GA加速效果验证

本文使用网络拨测工具,以8080端口的服务为例,在配置GA前后,分别对业务域名及对应端口进行拨测,查看响应时间以了解数据延迟情况。具体操作,请参见使用网络拨测工具测试加速效果

  1. 输入http://<业务域名>:8080,测试配置GA前的网络延迟情况。

    执行本步骤测试前,请确保DNS解析至NLB实例的CNAME。

    您可以查看响应时间等信息,其中,解析结果IP为公网NLB实例分配的公网IP地址,表示访问流量接入NLB中。加速前 8080.png

  2. 输入http://<业务域名>:80,测试配置GA后的网络延迟情况。

    执行本步骤测试前,请确保DNS解析记录已切换至GA实例的CNAME。

    解析结果IP列显示为GA实例的加速IP,表示访问流量已接入GA进行加速。加速后 80.png

经验证,使用GA后,降低了中国香港客户端访问美国(硅谷)服务的延迟。

说明

GA的加速效果以您的实际业务测试为准。

某企业在阿里云美国(硅谷)地域使用ALB部署了高可用的Web服务,Web服务运行在HTTP 8081端口,并为全球多地域终端用户提供服务。

该公司现面临以下问题:

  • 因公网网络质量不高,部分终端用户会出现网络延迟高等问题,影响终端用户访问体验。

  • HTTP以明文方式传输数据,缺乏对网站验证的方法,导致网站系统面临极大的安全风险。

  • Web服务一直在自定义的8081端口上运行,终端用户无法直接通过标准的HTTPS 443端口访问该服务。

为解决以上问题,该企业决定通过GA提升终端用户的访问体验。同时,通过GA的端口映射功能,将外部请求通过端口HTTPS 443接收,并转发到后端服务端口HTTP 8081,从而实现对访问请求的HTTPS加密,并通过标准端口443对外提供服务。

image

前提条件

  • 创建ALB实例

  • 已为ALB实例创建服务器组添加HTTP监听

  • 已在ALB的服务器组中分别添加ECS01ECS02实例,并且ECS01ECS02中已部署了8081端口的服务。

    本文以Alibaba Cloud Linux 3操作系统为例,使用Nginx配置支持8081端口的测试服务。

    ECS01部署测试服务命令参考

    1. 执行以下命令,安装Nginx,并部署测试应用示例。

      yum install -y nginx
      cd /usr/share/nginx/html/
      echo "Hello World! This is ECS01, service running on port 8081." > index8081.html
    2. 执行以下命令,进入Nginx配置文件nginx.conf,配置8081端口的服务模块,然后保存并退出。

      vim /etc/nginx/nginx.conf

      配置如下:

      http {
          ...
          # Existing configuration
      
          # 新增8081端口的server块
          server {
              listen 8081;
              server_name localhost;
      
              location / {
                  root /usr/share/nginx/html;
                  index index8081.html;
              }
          }
      }
      
    3. 执行以下命令,重启Nginx服务。

      systemctl restart nginx.service
  • ECS01ECS02实例加入的安全组已经放行8081端口。

  • 您已为业务域名配置DNS解析记录,即已配置了指向ALBCNAME记录。

    如果您使用的DNS解析服务为非阿里云云解析DNS,请参见您的DNS服务商操作指导。

  • 已购买证书或者上传第三方证书到SSL证书服务并绑定域名。关于创建证书,请参见正式证书快速入门

操作步骤

步骤一:配置实例基础信息

本文以按量付费的标准型GA实例为例。

  1. 全球加速控制台标准型实例 > 实例列表列表页面,单击创建标准型按量付费实例

  2. 实例基础配置的配置向导页面,配置基础信息,单击下一步

    GA基础配置.png

步骤二:配置加速区域

配置加速区域配置向导页面,添加加速地域并为其分配带宽,然后单击下一步

本文以中国香港地域为例,加速区域添加为中国(香港)公网质量类型均配置为BGP(多线),其他参数可保持默认值或根据实际情况修改。加速区域配置详细信息,请参见添加和管理加速区域

GA加速区域.png

步骤三:配置监听

配置监听配置向导页面,配置转发协议与端口,然后单击下一步

本文场景中,协议配置为HTTPS端口配置为443选择服务器证书下拉列表中选择域名对应的SSL证书。其他参数可保持默认值或根据实际情况修改。监听配置详细信息,请参见添加和管理智能路由类型监听

GA HTTPS监听.png

步骤四:配置终端节点组与终端节点

  1. 配置终端节点组配置向导页面,配置终端节点后端服务,然后单击下一步

    本文场景中,地域选择美国(硅谷)后端服务类型选择ALB后端服务选择目标ALB实例,在端口映射中配置监听端口443到终端节点端口8081的映射关系,然后阅读并选中数据跨境合规承诺,其他参数可保持默认值或根据实际情况修改。终端节点组配置详细信息,请参见添加和管理智能路由类型监听的终端节点组

    GA EPG.png

    GA EPG签署合规.png

  2. 配置审核配置向导页面,确认GA的配置信息,然后单击提交

步骤五:配置CNAME

将对应域名的DNS解析到GA实例分配的CNAME,使业务流量切换至GA,以实现访问加速。

本文场景中,如果您已有指向ALBCNAME记录,您可以先指定中国香港地区来添加指向GACNAME记录,以进行测试。待测试成功后,再逐步扩展至其他地区或仅保留指向GACNAME记录。

  1. 域名解析页面,找到目标业务域名,在操作列单击解析设置

    说明

    对于非阿里云注册域名,需先添加域名到云解析控制台,才可以进行域名解析设置。

  2. 在解析设置页面,单击添加记录,配置CNAME记录,然后单击确定

    本文场景中,记录类型配置为CNAME主机记录配置为www解析请求来源配置为亚洲_中国香港记录值配置为GA实例的CNAME,其他参数可保持默认值或根据实际情况修改。解析记录配置详细信息,请参见添加解析记录

    配置CNAME.png

步骤六:访问测试

端口映射生效验证

在加速地域(本文为中国香港地域)的电脑中,使用浏览器访问https://<业务域名>:443。多次刷新浏览器,可以在ECS01ECS02之间切换,且可以通过443端口正常访问8081端口的服务。

ECS01 访问.png

ECS02 访问.png

GA加速效果验证

本文使用网络拨测工具,在配置GA前后,分别对业务域名及对应端口进行拨测,查看响应时间以了解数据延迟情况。具体操作,请参见使用网络拨测工具测试加速效果

  1. 输入http://<业务域名>:8081,测试配置GA前的网络延迟情况。

    执行本步骤测试前,请确保DNS解析至ALB实例的CNAME。

    您可以查看响应时间等信息,其中,解析结果IP为公网ALB实例分配的公网IP地址,表示访问流量接入ALB中。

    加速前 8081.png

  2. 输入https://<业务域名>:443,测试配置GA后的网络延迟情况。

    执行本步骤测试前,请确保DNS解析记录已切换至GA实例的CNAME。

    解析结果IP列显示为GA实例的加速IP,表示访问流量已接入GA进行加速。

    加速后 443.png

经验证,使用GA后,降低了中国香港客户端访问美国(硅谷)服务的延迟。

说明

GA的加速效果以您的实际业务测试为准。

相关文档

  • 本页导读 (1)
  • 端口映射功能简介
  • 适用场景
  • 使用限制
  • 场景示例
  • 相关文档