应用型负载均衡ALB实现跨地域负载均衡方案,可为客户解决跨地域应用高可用问题。当客户业务遍及多地,并且在阿里云多个地域均部署了服务时,使用负载均衡结合云企业网及转发路由器可实现应用跨地域级别负载均衡,通过将跨地域流量分发到不同的后端服务器来扩展应用系统的吞吐能力,并且可以消除系统中的单点故障,提升应用系统的可用性与安全性。
方案预估:体验本方案预计不超过2元(假设您选择最低规格资源,且资源运行时间不超过1小时。实际情况中可能部分实例无法购买需要根据实际情况调整资源规格,同时因您操作过程中实际使用的流量差异,会导致费用有所变化,请以控制台显示的实际报价以及最终账单为准)
架构采用云企业网将不同地域内的云上网络资源联通形成内网,采用转发路由器实现跨地域互通,实现了各地域云服务器及应用型负载均衡的实例网络互通。通过在应用型负载均衡实例中挂载跨地域的云服务器,从而进行跨地域流量分发,实现了跨地域级别的应用高可用。
解决问题1:系统单点故障
单台ECS不可用时,可以快速切换至另一台机器,提升服务可用性。
解决问题2:跨地域资源利用难
常规方案只能实现单地域高可用,无法实现跨地域级别高可用。
1.灵活部署
用户可将应用部署在不同的地域,无需局限于负载均衡是地域内资源,可灵活进行系统架构设计和系统组网。
2.稳定性容灾
可以在不同地域之间进行负载均衡,确保应用的高可用性和可靠性。即使某个地域发生故障,负载均衡能够自动将流量切换到其他地域,避免服务中断。
3.合理流量分配
打通不同地域的服务器链接,将用户的请求转发到最近的可用区域,降低延迟,提高用户体验。
1.跨地域流量负载均衡
对不同地域部署的多台云服务器,实现跨地域负载均衡高可用,帮助企业优化网络架构,提升用户访问体验,降低服务器压力,提高整体业务水平。
2.跨地域多活容灾
针对可靠性要求较高的服务,可参考该方案实现异地灾备,帮助企业应对突发事件,保障业务的连续性和稳定性,提高数据安全性。
当您因业务需要,服务部署分布在多个阿里云地域的同时,又希望能够实现跨地域的服务高可用,则可以使用阿里云应用型负载均衡 ALB 以及云企业网 CEN 等产品来实现跨地域的负载均衡。
方案提供的默认设置(如地域、VPC、安全组、vSwitch、实例名称等)完成部署后在阿里云上搭建的网站运行环境如下图所示。实际部署时您可以根据资源规划修改部分设置,但最终形成的运行环境与下图相似。
方案为了简化架构,暂不体现可用区及vSwitch、安全组等。本方案的技术架构主要包括以下基础设施和云服务:
1个云企业网CEN实例:云企业网实例是管理一体化网络的基础资源。1个云企业网实例管理一张网络,可覆盖1个或多个地域。在实现网络实例互通前,需要先创建1个云企业网实例。
3个转发路由器TR实例:转发路由器实例作为地域内的核心转发网元,帮助您转发同地域或跨地域的流量。1个地域仅支持创建1个转发路由器实例。
3个专有网络VPC实例:专有网络是云上虚拟网络,可以将云资源部署在您自定义的专有网络中。专有网络是地域级别的资源,专有网络不可以跨地域,但包含所属地域的所有可用区。云资源不可以直接部署在专有网络中,必须属于专有网络内的1个交换机(子网)内。您可以在每个可用区内创建1个或多个交换机来划分子网。
3个云服务器ECS实例:ECS实例是云上的虚拟计算服务器,内含vCPU、内存、操作系统、网络、磁盘等基础组件。您可以使用阿里云提供的控制台、SDK等工具创建和管理ECS实例,像使用本地服务器一样管理ECS实例的状态、应用等,还可以灵活地升级计算、存储等能力。
1个应用型负载均衡ALB实例:ALB实例是一种高可用、高性能的负载均衡服务,可以用于将流量分发到多个云服务器、容器等资源上,从而提高应用的可用性和响应速度。ALB支持丰富的负载均衡算法、会话保持、安全策略和流量控制等功能,可以根据业务需求进行灵活配置。同时,ALB还支持多协议转发,如HTTP、HTTPS等,可以满足不同场景的负载均衡需求。
开始部署前,请按以下指引完成账号申请、服务开通等准备工作。
1.准备账号
如果您还没有阿里云账号,请访问阿里云账号注册页面,根据页面提示完成注册。阿里云账号是您使用云资源的付费实体,因此是部署方案的必要前提。针对CEN跨域流量,您可使用云数据传输CDT降低流量成本,如您未开通强烈建议您快速开通CDT,仅开通CDT不收取任何费用。
为阿里云账号充值。
为节省成本,本方案默认全部选择使用按量付费资源,使用按量付费资源需要确保账户余额不小于100元。
完成本方案的部署及体验,预计产生费用不超过2元(假设您选择最低规格资源,且资源运行时间不超过1小时。实际情况中可能部分实例无法购买需要根据实际情况调整资源规格,同时因您操作过程中实际使用的流量差异,会导致费用有所变化,请以控制台显示的实际报价以及最终账单为准,如下图仅供参考)。
部署及体验图
OneClickAlbCrossRegionDeployPolicy
示例权限策略限制了仅能进行如下操作,您也可以根据需要适当调整权限策略。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"alb:AddServersToServerGroup",
"alb:CreateListener",
"alb:CreateLoadBalancer",
"alb:CreateServerGroup",
"alb:DeleteListener",
"alb:DeleteLoadBalancer",
"alb:DeleteServerGroup",
"alb:GetListenerAttribute",
"alb:GetLoadBalancerAttribute",
"alb:ListServerGroupServers",
"alb:ListServerGroups",
"alb:ListTagResources",
"alb:UpdateServerGroupAttribute",
"cen:AssociateTransitRouterAttachmentWithRouteTable",
"cen:CreateCen",
"cen:CreateTransitRouter",
"cen:CreateTransitRouterPeerAttachment",
"cen:CreateTransitRouterRouteEntry",
"cen:CreateTransitRouterRouteTable",
"cen:CreateTransitRouterVpcAttachment",
"cen:DeleteCen",
"cen:DeleteTransitRouter",
"cen:DeleteTransitRouterPeerAttachment",
"cen:DeleteTransitRouterRouteEntry",
"cen:DeleteTransitRouterRouteTable",
"cen:DeleteTransitRouterVpcAttachment",
"cen:DescribeCens",
"cen:DisableTransitRouterRouteTablePropagation",
"cen:DissociateTransitRouterAttachmentFromRouteTable",
"cen:EnableTransitRouterRouteTablePropagation",
"cen:ListTagResources",
"cen:ListTransitRouterPeerAttachments",
"cen:ListTransitRouterRouteEntries",
"cen:ListTransitRouterRouteTableAssociations",
"cen:ListTransitRouterRouteTablePropagations",
"cen:ListTransitRouterRouteTables",
"cen:ListTransitRouterVpcAttachments",
"cen:ListTransitRouters",
"ecs:AuthorizeSecurityGroup",
"ecs:CreateDisk",
"ecs:CreateNetworkInterface",
"ecs:CreateSecurityGroup",
"ecs:DeleteDisk",
"ecs:DeleteInstance",
"ecs:DeleteNetworkInterface",
"ecs:DeleteSecurityGroup",
"ecs:DescribeAvailableResource",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeDisks",
"ecs:DescribeEcsScenarioFacade",
"ecs:DescribeImages",
"ecs:DescribeInstanceHealthStatus",
"ecs:DescribeInstanceHistoryEvents",
"ecs:DescribeInstanceMaintenanceAttributes",
"ecs:DescribeInstanceNeedReboot",
"ecs:DescribeInstancePerformanceRestrictHistory",
"ecs:DescribeInstanceRamRole",
"ecs:DescribeInstances",
"ecs:DescribeInvocations",
"ecs:DescribeLocalDiskRepairActivities",
"ecs:DescribeNetworkInterfaces",
"ecs:DescribePrice",
"ecs:DescribeResourceAggregations",
"ecs:DescribeSecurityGroupAttribute",
"ecs:DescribeSecurityGroups",
"ecs:DescribeTagKeys",
"ecs:DescribeUserData",
"ecs:DescribeZones",
"ecs:ListTagResources",
"ecs:ModifySecurityGroupPolicy",
"ecs:QueryImageByImageId",
"ecs:RevokeSecurityGroup",
"ecs:RunCommand",
"ecs:RunInstances",
"ros:CreateStack",
"ros:DeleteStack",
"ros:GetStack",
"ros:GetStackResource",
"ros:GetTemplateEstimateCost",
"ros:ListStackEvents",
"ros:ListStackOperationRisks",
"ros:ListStackResources",
"ros:ListStacks",
"vpc:CreateRouteEntry",
"vpc:CreateVSwitch",
"vpc:CreateVpc",
"vpc:DeleteRouteEntry",
"vpc:DeleteVSwitch",
"vpc:DeleteVpc",
"vpc:DescribeRouteTableList",
"vpc:DescribeRouteTables",
"vpc:DescribeVSwitchAttributes",
"vpc:DescribeVSwitches",
"vpc:DescribeVpcAttribute",
"vpc:DescribeVpcs",
"vpc:ListTagResources"
],
"Resource": "*"
}
]
}
一键配置基于阿里云资源编排服务ROS(Resource Orchestration Service)实现,旨在帮助开发者通过IaC(Infrastructure as Code)的方式体验资源的自动化配置。
单击一键部署前往ROS控制台,系统自动打开使用新资源(标准)创建资源栈的页面。
资源栈名称可保持默认值。
在ECS1实例配置、ECS2实例配置、ECS3实例配置处,根据实际情况选择实例规格及系统盘类型。
在ECS实例密码配置处,配置ECS实例的登录密码。
单击创建开始资源创建。
资源创建过程中,可开启右上角自动刷新开关,及时了解资源部署进度。
多次执行curl http://ALB域名命令,访问ALB。如果返回信息类似下图在ECS2与ECS3之间切换,则表示实现了跨地域的负载均衡。
在页面的顶部选择部署的资源栈所在地域,找到部署的资源栈。单击其右侧操作列的删除并确认,可一键删除所有创建的资源。
官网相关地址直达:
1.更多阿里云方案查询:https://www.aliyun.com
2.阿里云服务器ECS相关活动:https://www.aliyun.com/daily-act/ecs/activity_selection
3.云小站(代金券发布平台):https://www.aliyun.com/minisite/goods