使用应用型负载均衡ALB(Application Load Balancer)可以实现gRPC协议的负载均衡,目前gRPC仅支持前端加密和后端明文的形态。本文指导您如何通过配置ALB实例的gRPC服务器组,配置HTTPS监听并打开HTTP2.0开关,同时配置gRPC协议的健康检查,将客户端的gRPC请求通过ALB实例转发到后端协议为gRPC的服务器组。
场景示例
本文以下图场景为例。某公司在华东1(杭州)地域的专有网络VPC(Virtual Private Cloud)内部署了gRPC服务,在VPC中创建了ALB实例和支持gRPC协议的服务器组,配置HTTPS监听并打开HTTP2.0开关,同时配置gRPC协议的健康检查。现想通过ALB实例来实现同地域的客户端gRPC请求访问VPC中部署的gRPC服务。
前提条件
- 您已经在华东1(杭州)地域创建了VPC,并且在该地域的VPC对应的可用区H和可用区I分别创建了交换机,具体操作,请参见创建专有网络和交换机。
- 您已经购买证书或者上传第三方证书到SSL服务,并绑定域名。关于创建证书,请参见提交证书申请。
- 您已经在VPC中创建了ECS实例,并在ECS实例中部署了gRPC服务,同时在同地域的客户端创建了ECS实例用于发送请求到后端服务器。具体操作,请参见使用向导创建实例。说明
- 关于后端服务器ECS部署gRPC服务,具体可参考gRPC官方文档的部署方法。
- 确保VPC中ECS实例的地域和ALB实例的地域相同,并且VPC中ECS实例与ALB实例属于同一个VPC。
- 确保VPC中ECS实例选择的可用区在ALB实例的可用区内。
配置步骤
步骤一:创建ALB实例
- 登录应用型负载均衡ALB控制台。
- 在实例页面,单击创建应用型负载均衡。
- 在应用型负载均衡(按量付费)购买页面,完成以下配置,然后单击立即购买根据控制台提示完成实例开通。
配置 说明 地域 选择实例所属的地域。本文选择华东1(杭州)。 实例网络类型 选择实例的网络类型。本文选择公网。 VPC 选择ALB实例所属的VPC。 可用区 - 选择至少2个或以上的可用区。本文选择杭州 可用区H,杭州 可用区I。
- 分别在所选可用区内选择交换机。本文选择可用区H下的交换机和可用区I下的交换机。
IP模式 选择实例的IP地址模式。本文选择固定IP。 功能版本(实例费) 选择实例的功能版本。本文选择基础版。 加入共享带宽 选择是否要加入共享带宽。本文选择不加入。 公网计费方式 公网计费方式默认为按流量计费。 实例名称 输入自定义实例名称。 资源组 选择云资源所属的资源组。
步骤二:创建服务器组并添加后端服务器
- 登录应用型负载均衡ALB控制台。
- 在顶部菜单栏处,选择后端服务器组所属的地域。本文选择华东1(杭州)地域。
- 在左侧导航栏,选择应用型负载均衡 ALB > 服务器组。
- 在服务器组页面,单击创建服务器组。
- 在创建服务器组对话框中,完成以下配置,然后单击创建。此处仅列出和本文强相关的配置项,其他未列出的配置项使用默认值。关于参数的更多信息,请参见创建服务器组。
配置 说明 服务器组类型: 选择一种服务器组类型。本文选择服务器类型。 服务器组名称 输入自定义服务器组名称。 VPC 从VPC下拉列表中选择已创建的VPC,只有该VPC下的服务器可以加入到该服务器组。 选择后端协议 选择一种后端协议。本文只支持选择gRPC。 选择调度算法 选择一种调度算法。本文选择加权轮询。 请选择资源组 选择归属的资源组。 开启会话保持 开启或关闭会话保持。本文保持默认值即不开启会话保持。 配置健康检查 开启或关闭健康检查。本文只支持选择开启健康检查。 高级配置 开启健康检查后,您可以单击高级配置后面的修改展开更多配置。 选择并加载健康检查 选择并加载一个健康检查。本文选择自定义健康检查。 健康检查协议 选择健康检查协议类型。本文只支持选择gRPC。 健康检查方法 选择一种健康检查方法。本文默认选择POST。 健康检查端口 选择健康检查服务访问后端时的端口。本文默认选择后端服务器组端口。 健康状态返回码 选择健康检查正常的状态码。本文输入12。 - 在服务器组页面找到目标服务器组,单击其实例ID。
- 单击后端服务器页签,然后单击添加后端服务器。
- 在添加后端服务器面板,选择已创建的ECS实例,然后单击下一步。
- 在配置端口和权重配置向导,设置ECS的端口和权重,然后单击确定。本文端口配置为9100,权重保持默认值100。说明 ECS配置的端口必须要与部署的gRPC服务设置的端口保持一致。
步骤三:配置监听
- 登录应用型负载均衡ALB控制台。
- 在实例页面,找到目标实例,单击实例ID。
- 单击监听页签,然后单击创建监听。
- 在配置监听配置向导,完成以下配置,然后单击下一步。此处仅列出和本文强相关的配置项,其他未列出的配置项使用默认值。关于配置监听的更多操作,请参见添加HTTPS监听。
配置 说明 选择负载均衡协议 选择监听的协议类型。本文选择HTTPS。说明 服务器组设置后端协议为gRPC时,监听协议类型只支持HTTPS。 监听端口 用来接收请求并向后端服务器进行请求转发的监听端口。本文输入443。 监听名称 输入自定义监听名称。 高级配置 本文保持默认,可单击修改进行设置。 启用HTTP2.0 选择是否开启HTTP2.0。本文需开启HTTP2.0。说明 服务器组设置后端协议为gRPC时,HTTPS监听必须开启HTTP2.0。 WAF安全防护 可为监听开启WAF安全防护。本文默认不开启。 - 在配置SSL证书配置向导,在选择服务器证书下拉列表中选择已创建的服务器SSL证书,其他保持默认值,然后单击下一步。
- 在选择服务器组配置向导,选择服务器类型及服务器类型下的后端服务器组,查看后端服务器信息,然后单击下一步。
- 在配置审核配置向导,确认配置信息,然后单击提交。
- 单击知道了返回监听页签,查看目标监听的健康检查状态列为正常时,表示后端服务器ECS可以正常处理ALB实例转发的请求。
步骤四:验证连通性
完成上述操作后,客户端的ECS可以通过ALB访问部署了gRPC服务的后端服务器ECS,以下内容为您展示如何测试客户端和gRPC服务之间的连通性。
- 远程登录客户端的ECS。具体操作,请参见ECS远程连接操作指南。
- 在客户端的ECS中执行以下命令尝试访问VPC中的ECS实例。
grpcurl -insecure -v [ALB域名]:[监听端口] helloworld.Greeter/SayHello
收到如下图所示的回复报文,则表示客户端的ECS可以通过ALB访问部署了gRPC服务的后端服务器ECS。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/169484.html