使用ALB挂载跨地域VPC内的服务器

应用型负载均衡 ALB(Application Load Balancer)支持跨地域挂载功能。本文指导您通过ALB和云企业网CEN(Cloud Enterprise Network)转发路由器的配置,使ALB将请求转发至其他地域的服务器。

场景示例

本文以下图场景为例。某企业在阿里云西南1(成都)地域创建了专有网络VPC1,在VPC1中创建了一个ALB实例。同时在华东1(杭州)创建了专有网络VPC2,并在VPC2中创建了云服务器ECS(Elastic Compute Service)实例。该企业希望VPC1中的ALB实例能够跨地域访问VPC2内的ECS实例。

该企业可以通过云企业网实现VPC1与VPC2的互通,从而实现ALB跨地域挂载服务器的目的。

image

注意事项

  • ALB跨地域挂载的后端服务器仅支持IP类型。

  • ALB跨地域挂载支持的地域:

    区域

    地域

    中国

    西南1(成都)、华北1(青岛)、华北2(北京)、华南3(广州)、华东1(杭州)、华北6(乌兰察布)、华东2(上海)、华南1(深圳)、华北3(张家口)、中国香港、华东1 金融云(杭州)、华东2 金融云(上海)、华南1 金融云(深圳)

    亚太

    印度尼西亚(雅加达)、日本(东京)、马来西亚(吉隆坡)、新加坡

    欧洲与美洲

    德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)、英国(伦敦)

  • VPC1和VPC2需要加入同一个云企业网。

  • 企业版转发路由器会在您指定的可用区的交换机实例上创建弹性网卡ENI(Elastic Network Interface),作为VPC实例向企业版转发路由器发送流量的入口。在您创建VPC实例时,请确保在企业版转发路由器支持的可用区中创建至少一个交换机实例,以便将VPC实例连接至企业版转发路由器。更多信息,请参见企业版转发路由器支持的地域和可用区

  • 只支持挂载私网服务器,不支持挂载公网服务器。

  • 不支持挂载同一个VPC内的ALB、NLB或CLB实例。

  • 不支持转发路径存在环路的场景,ALB会在每个请求中添加ALICLOUD-ALB-TRACE的HTTP Header来探测环路。如果发现环路时,ALB会停止向后端转发请求并回复463的状态码,以避免网络风暴导致的资源耗尽。

  • 支持企业版转发路由器实现跨域转发,不支持基础版转发路由器。

  • 一张云企业网中,一个地域只能有一个VPC内的一个或多个ALB跨地域挂载VPC内的服务器。

    image
    • 无法实现同一个地域多个VPC内的ALB使用同一个转发路由器跨地域访问VPC内的服务器。

      image
    • 无法实现同一个地域多个VPC内的ALB使用多个转发路由器跨地域访问同一个VPC内的服务器。

      image
  • ALB与后端服务器的流量仅支持通过系统路由表转发,暂不支持通过VPC自定义路由表转发。

前提条件

  • 您已经在西南1(成都)地域创建了专有网络VPC1,在华东1(杭州)创建了专有网络VPC2。

    • VPC1中创建了交换机VSW1和VSW2,VSW1位于可用区A,VSW2位于可用区B。

    • VPC2中创建了交换机VSW3和VSW4,VSW3位于可用区H,VSW4位于可用区I。

    具体操作,请参见创建和管理专有网络

  • 您已经在VPC1中创建了ECS实例,用于发送请求。您已经在VPC2中创建了ECS1实例并部署了应用服务,用于接收请求。具体操作,请参见自定义购买实例

  • 您已注册域名并完成备案,且通过自有域名为ALB配置CNAME解析

  • 您已经在VPC1中创建了一个ALB实例。具体操作,请参见创建应用型负载均衡

  • 您已经创建了云企业网实例并为该云企业网实例购买了带宽包。具体操作,请参见创建云企业网实例使用带宽包

  • 你已经在西南1(成都)和华东1(杭州)地域分别创建了转发路由器实例。具体操作,请参见创建转发路由器实例

本文示例中的网段规划如下表所示。您也可以自行规划网段,请确保要互通的网段之间没有重叠

地域

VPC

交换机

交换机可用区

网段规划

西南1(成都)

VPC1

主网段:172.16.0.0/12

VSW1

可用区A

172.16.0.0/24

VSW2

可用区B

172.16.6.0/24

华东1(杭州)

VPC2

主网段:192.168.0.0/16

VSW3

可用区H

192.168.8.0/24

VSW4

可用区I

192.168.7.0/24

配置步骤

image

步骤一:创建ALB服务器组

创建IP类型的服务器组,并为该服务器添加远端IP。

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择ALB所属的地域。本文选择西南1(成都)

  3. 在左侧导航栏,选择应用型负载均衡ALB > 服务器组

  4. 服务器组页面,单击创建服务器组,完成以下配置,然后单击创建

    配置

    说明

    服务器组类型

    选择服务器组类型。本文选择IP类型

    服务器组名称

    输入服务器组名称。

    VPC

    从VPC下拉列表中选择一个VPC。本文选择VPC1。

    选择后端协议

    选择一种后端协议。本文选择HTTP

    选择调度算法

    选择一种调度算法。本文使用默认值加权轮询

    选择资源组

    选择归属的资源组。

    开启会话保持

    开启或关闭会话保持。本文选择默认关闭。

    配置健康检查

    开启或关闭健康检查。本文选择默认开启。

    高级配置

    本文使用默认配置。更多信息,请参见创建和管理服务器组

  5. 服务器组页面,找到目标服务器组,然后在操作列单击编辑后端服务器

  6. 后端服务器页签,单击添加IP

  7. 添加后端服务器面板,输入ECS的私网IP地址,并打开远端IP,然后单击下一步

    • 开启远端IP时,支持输入以下网段内的IP地址:

      • 10.0.0.0/8

      • 100.64.0.0/10

      • 172.16.0.0/12

      • 192.168.0.0/16

    • 未开启远端IP时,仅支持输入当前服务器组所在VPC网段内的IP地址。

  8. 设置添加的IP地址的端口和权重,然后单击确定。本文端口输入80,权重使用默认值。

步骤二:为ALB实例配置监听

  1. 登录应用型负载均衡ALB控制台
  2. 在顶部菜单栏,选择ALB所属的地域。本文选择西南1(成都)

  3. 实例页面,找到已经在VPC1中创建好的ALB实例,在操作列单击创建监听

  4. 配置监听配置向导,完成以下配置,然后单击下一步

    监听配置

    说明

    选择监听协议

    选择监听的协议类型。本文选择HTTP

    监听端口

    输入用来接收请求并向后端服务器进行请求转发的监听端口,端口范围为1~65535。本文输入80

    监听名称

    自定义监听的名称。

    高级配置

    本文使用默认配置。

  5. 选择服务器组配置向导,在选择服务器组的下拉框选择IP类型,并选择步骤一创建的服务器组,然后单击下一步

  6. 配置审核配置向导,确认配置信息,单击提交

步骤三:创建VPC连接

  1. 登录云企业网管理控制台
  2. 云企业网实例页面,单击已创建的云企业网实例ID。

  3. 基本信息 > 转发路由器页签,找到目标地域的转发路由器实例,在操作列单击创建网络实例连接

  4. 连接网络实例页面,配置以下参数信息,然后单击确定创建

    参数

    说明

    实例类型

    本文选择专有网络(VPC)

    地域

    选择要连接的网络实例所在的地域。本文选择西南1(成都)

    转发路由器

    系统自动为您选择当前地域已创建的转发路由器。

    资源归属UID

    选择要连接的网络实例所归属的账号类型。本文使用默认值同账号

    付费方式

    本文使用默认值按量付费

    连接名称

    输入连接名称。

    网络实例

    选择要连接的VPC网络实例ID。本文选择VPC1。

    交换机

    从企业版转发路由器支持的可用区中选择交换机实例。本文选择VSW1和VSW2。

    高级配置

    系统默认选中高级功能。本文使用默认配置。

  5. VPC1连接创建完成后,单击继续创建连接,然后重复步骤三:创建VPC连接中的步骤4,创建VPC2网络实例连接。

    参数配置如下,其余参数选择默认配置。

    • 地域选择华东1(杭州)

    • 网络实例选择VPC2。

    • 交换机选择杭州可用区HVSW3和杭州可用区IVSW4。

步骤四:创建跨地域连接

  1. 登录云企业网管理控制台
  2. 云企业网实例页面,单击已创建的云企业网实例ID。

  3. 基本信息 > 转发路由器页签,找到目标转发路由器实例,在操作列单击创建网络实例连接

    目标转发路由器实例可以选择VPC1或者VPC2关联的转发路由器实例。本文选择VPC1关联的转发路由器实例。

  4. 连接网络实例页面,配置跨地域连接信息,然后单击确定创建

    配置项

    说明

    实例类型

    选择跨地域

    地域

    要互通的地域。本文选择西南1(成都)

    转发路由器

    要互通的地域下的转发路由器实例。

    连接名称

    跨地域连接名称。

    对端地域

    要互通的对端地域。本文选择华东1(杭州)

    带宽分配方式

    本文选择从带宽包分配

    带宽包实例

    选择已绑定的带宽包实例。

    带宽

    输入允许使用的带宽值。单位:Mbps。

    高级配置

    本文使用默认配置。

步骤五:为VPC1的系统路由表添加路由条目

检查VPC1中的系统路由表是否已经有目标网段的路由指向转发路由器VPC1连接,如果没有,则执行以下步骤添加路由条目。

说明

ALB与后端服务的流量仅支持通过系统路由表转发,暂不支持通过VPC自定义路由表转发。

  1. 登录专有网络管理控制台

  2. 专有网络页面,单击VPC1的实例ID。

  3. 在VPC1详情页面,单击资源管理页签,在路由表下方单击数字链接。

  4. 路由表页面,找到路由表类型系统的路由表并单击ID。

  5. 在路由表详情页面,选择路由条目列表 > 自定义路由条目页签,然后单击添加路由条目

  6. 添加路由条目面板,配置以下参数,然后单击确定

    参数

    说明

    名称

    输入路由条目的名称。

    目标网段

    输入要转发到的目标网段。本文输入ECS1服务器所在的网段:192.168.7.0/24

    下一跳类型

    选择下一跳的类型。本文选择转发路由器

    转发路由器

    选择具体的转发路由器实例。本文选择VPC1连接。

步骤六:配置回源路由

查看ALB实例的回源路由,并分别为VPC2的系统路由表和VPC1关联的转发路由器添加ALB的回源路由。

  1. 执行以下步骤,获取ALB实例的回源路由。

    1. 登录应用型负载均衡ALB控制台

    2. 在顶部菜单栏,选择实例的所属地域。本文选择西南1(成都)

    3. 实例页面,单击在VPC1中已经创建好的ALB实例ID。

    4. 单击实例详情页签,然后在回源路由右侧单击查看

  2. 执行以下步骤,为VPC2内的系统路由表添加ALB的回源路由。

    1. 登录专有网络管理控制台

    2. 专有网络页面,单击VPC2的实例ID。

    3. 在VPC详情页面,单击资源管理页签,在路由表下方单击数字链接。

    4. 路由表页面,找到路由表类型系统的路由表,单击其ID。

    5. 在路由表详情页面,选择路由条目列表 > 自定义路由条目页签,然后单击添加路由条目

    6. 添加路由条目面板,配置以下参数,然后单击确定

      参数

      说明

      名称

      输入路由条目的名称。

      目标网段

      输入要转发到的目标网段。本文输入步骤1中ALB实例的回源路由。如果回源路由有多条,请重复配置操作, 直到所有回源路由全部配置完。

      本文为VPC2配置的路由条目为:

      • 100.XX.XX.0/25

      • 100.XX.XX.128/25

      • 100.XX.XX.64/26

      • 100.XX.XX.128/26

      • 100.XX.XX.192/26

      • 100.XX.XX.0/26

      下一跳类型

      选择下一跳的类型。本文选择转发路由器

      转发路由器

      选择具体的转发路由器实例。本文选择VPC2关联的转发路由器。

  3. 执行以下步骤,为VPC1关联的转发路由器添加ALB的回源路由。

    1. 登录云企业网管理控制台

    2. 云企业网实例页面,单击已创建的云企业网实例ID。

    3. 基本信息 > 转发路由器页签,找到连接VPC1的转发路由器实例,并单击该目标转发路由器实例ID。

    4. 单击转发路由器路由表页签,在页签左侧区域,单击目标路由表ID,在路由表详情页面的路由条目页签下,单击创建路由条目

    5. 添加路由条目对话框,配置路由条目信息,然后单击确定

      配置项

      说明

      路由表

      系统默认选择当前路由表。

      所属转发路由器

      系统默认选择当前转发路由器实例。

      路由条目名称

      路由条目名称。

      目的地址CIDR

      路由条目的目标网段。本文输入步骤1中ALB实例的回源路由。如果回源路由有多条,请重复配置操作, 直到所有回源路由全部配置完。

      本文为VPC1关联的转发路由器配置的路由条目:

      • 100.XX.XX.0/25

      • 100.XX.XX.128/25

      • 100.XX.XX.64/26

      • 100.XX.XX.128/26

      • 100.XX.XX.192/26

      • 100.XX.XX.0/26

      是否为黑洞路由

      系统默认选择否。

      下一跳连接

      选择路由的下一跳连接。本文选择VPC1连接。

      路由条目描述

      路由条目的描述信息。

步骤七:检查后端ECS的安全组策略

跨地域访问的报文会以回源路由网段内的IP地址作为源地址访问后端服务,请确保ECS的安全组策略可以放通此报文。本文中您需要在ECS安全组入方向添加安全组规则,放行ALB的回源路由网段100.64.0.0/10,否则将导致跨域访问后端服务失败。更多信息,请参见添加安全组规则

步骤八:测试连通性

  1. 登录VPC1的ECS实例。具体操作,请参见ECS远程连接操作指南

  2. 执行wget http://<域名>命令,测试VPC1中的ECS是否能通过ALB跨地域访问VPC2内的ECS1。

    如果能接收到以下回复报文,表示连接成功。image