在Serverless 应用引擎上成功部署应用后,您可以通过关联NLB实例为应用提供一个固定的访问入口。本文主要介绍如何为SAE应用关联NLB实例。
此功能目前处于邀约测试阶段。如果您想使用此功能,请在钉钉群(群号:32874633)联系相关技术人员开通。
背景介绍
SAE应用默认是无法通过公网进行访问的;即使在VPC内部,虽然可以通过实例的私网IP访问应用,但由于实例的私网IP在应用变更或重启后可能会发生变化,这种方式并不稳定。为解决这些问题,您可以为应用绑定公网或私网NLB实例。通过绑定NLB,不仅可以使用固定域名访问应用,还能实现流量在不同可用区和SAE实例间的高效负载均衡。
在为应用绑定NLB实例前,需了解网络型负载均衡NLB服务的工作原理和使用限制。
在SAE侧使用NLB服务时,NLB实例将产生额外的费用。
重要当您需要删除在SAE侧添加的NLB实例时,如果您只删除了SAE侧的NLB实例,没有删除SLB侧的NLB实例,则SLB侧的NLB实例会产生费用。具体删除SLB侧的NLB实例的步骤,请参见删除NLB实例。
方案概览
SAE应用支持关联公网NLB实例或私网NLB实例,您可以根据业务需求为SAE应用关联不同网络类型的NLB实例。
关联私网类型的NLB实例:其主要的作用是为SAE服务提供固定的访问地址(DNS名称)、通过负载均衡算法(如:轮询)将流量分发到SAE应用的实例上等。主要使用场景有微服务内部通信、数据库访问和企业内网访问等。
关联公网类型的NLB实例:SAE默认不支持直接通过公网访问。通过为其关联一个公网类型的NLB实例,可以为SAE应用提供一个固定的公网访问入口,从而实现对来自公网流量的处理。公网访问流程,如下所示。
步骤一:为应用添加NLB实例
登录SAE控制台,在左侧导航栏选择 ,然后选择目标地域和目标命名空间,最后单击目标应用名称。
在目标应用的基础信息页面,找到应用访问设置区域,在基于NLB访问页签下单击添加NLB访问。
在弹出的添加NLB访问面板,按照以下说明配置相关参数,然后单击确定。
说明SAE支持新建NLB实例和绑定已有的NLB实例,请按需进行选择。
新建NLB实例:SAE系统将自动为您购买一个NLB实例,可以在负载均衡SLB控制台查看NLB实例的详细信息。
绑定已有的NLB实例:需要您提前在负载均衡管理控制台的实例页面创建一个NLB实例。如果要创建私网类型的NLB实例,建议NLB实例和SAE应用使用同一个VPC,如果不是同一个VPC,需要您自行配置网络,确保它们之间能够互相通信,例如,您可以使用阿里云的云企业网或其他网络连接产品来实现跨VPC通信。
新建NLB实例
实例来源选择新建实例。
网络类型支持公网和私网,请按需进行选择。
如果选择公网类型,系统将自动创建一个公网NLB实例,并为每个可用区分配一个弹性公网IP和VIP。
如果选择私网类型,系统将自动创建一个私网NLB实例,并为每个可用区分配一个VIP。
根据业务需求,选择虚拟交换机所在的可用区。为保障业务的高可用,请至少选择2个或以上可用区。
专有网络不支持选择,默认为目标应用的VPC。
支持的协议类型有TCP、UDP和TCPSSL,按照需求进行选择。
协议类型
配置项
示例值
TCP协议
监听端口:用来接收请求并向后端服务器进行请求转发的监听端口。
容器端口:进程监听端口,由程序定义。
监听端口:80
容器端口:8080(Web服务的默认端口)
UDP协议
TCPSSL协议
监听端口:用来接收请求并向后端服务器进行请求转发的监听端口。
容器端口:进程监听端口,由程序定义。
选择SSL证书:SSL协议证书,在下拉列表中选择已上传的SSL证书。
监听端口:80
容器端口:8080(Web服务的默认端口)
选择SSL证书:在下拉框中选择已购买的SSL证书。如果您还没有购买SSL证书,请参见购买证书文档进行购买。
绑定已有的NLB实例
实例来源选择使用已有。
在NLB实例对应的下拉框中选择已创建的NLB实例。
如果您没有提前创建NLB实例,可单击创建NLB实例,然后在负载均衡SLB控制台的实例页面创建一个NLB实例。
支持的协议类型有TCP、UDP和TCPSSL,按照需求进行选择。
协议类型
配置项
示例值
TCP协议
监听端口:用来接收请求并向后端服务器进行请求转发的监听端口。
容器端口:进程监听端口,由程序定义。
监听端口:80
容器端口:8080(Web服务的默认端口)
UDP协议
TCPSSL协议
监听端口:用来接收请求并向后端服务器进行请求转发的监听端口。
容器端口:进程监听端口,由程序定义。
选择SSL证书:SSL协议证书,在下拉列表中选择已上传的SSL证书。
监听端口:80
容器端口:8080(Web服务的默认端口)
选择SSL证书:在下拉框中选择已购买的SSL证书。如果您还没有购买SSL证书,请参见购买正式证书文档进行购买。
NLB实例创建完成后,可在应用访问设置区域的基于NLB页签查看NLB实例状态。
如果您想添加多个NLB实例,可单击添加NLB访问,按照以上步骤继续添加NLB实例。
重要如果您先在负载均衡SLB控制台为NLB实例配置了监听规则,随后又在SAE侧为同一NLB实例配置了监听规则,则SAE侧的配置可能会覆盖SLB控制台中的配置,反之亦然。为了避免配置冲突,建议您仅在SAE侧为NLB实例配置监听规则。
您可对已添加的NLB实例进行以下操作。
添加监听:单击添加监听,在弹出的添加监听对话框中选择协议类型并配置参数。
修改容器端口:单击NLB实例操作列的编辑,在弹出的编辑NLB访问面板,可以修改容器端口。
删除监听或NLB实例:单击NLB实例操作列的删除,在弹出的删除确认对话框单击确定,即可删除对应的监听规则或NLB实例。
如果您为同一个NLB实例添加了多条监听规则,删除操作只会移除对应的监听规则。如果删除的是最后一条监听规则,由于NLB实例不再有监听规则可用,系统会自动删除该NLB实例。
查看NLB实例:单击NLB实例名称,跳转至负载均衡SLB控制的NLB实例详情页面,即可查看NLB实例详细信息。如NLB实例为每个可用区分配的弹性公网IP和VIP、NLB实例自动生成的DNS名称等信息。
您可直接使用NLB实例提供的DNS名称进行访问测试,也可以使用可用区提供的弹性公网IP进行访问测试。
步骤二:配置域名解析
NLB实例提供的DNS名称可以用于访问测试,但在实际业务场景中,建议您使用自有域名,通过CNAME解析的方式将自有域名指向NLB实例提供的DNS名称。
单击应用访问区域已创建的NLB实例名称,跳转至负载均衡SLB控制的NLB实例详情页面。
在负载均衡SLB控制台的NLB实例详情页面,复制DNS名称。
NLB实例提供的DNS名称将被用于配置域名解析时的记录值。
登录域名解析控制台,按照以下步骤添加CNAME记录。
说明对于非阿里云注册域名,需先将域名添加到云解析控制台,才可以进行域名解析。如果您是阿里云注册的域名,请直接执行以下步骤。
在权威域名解析页面,找到目标域名,在操作列单击解析设置。
在解析设置页面,单击添加记录。
在添加记录面板,配置以下信息完成CNAME解析配置,然后单击确定。
配置项
示例
说明
记录类型
CNAME
在下拉列表中选择CNAME。
CNAME记录会将您的自有域名指向NLB实例提供的DNS名称。
主机记录
www
填写您创建子域名时所添加的域名前缀。
主机记录的具体说明,请参见控制台上的主机记录说明。
解析请求来源
默认
选择默认。
DNS可以识别域名解析请求来源IP的地域、运营商属性(一般为运营商LocalDNS的IP)。在添加解析记录时,可以设置对不同地域、运营商线路来源的解析请求返回不同的记录值。
记录值
nlb-****.com
填写NLB实例提供的DNS名称。
记录值为CNAME指向的域名。
TTL
10
选择控制台提供的默认值。
全称Time To Live,表示DNS记录在DNS服务器上的缓存时间。
步骤三:访问测试
在浏览器上输入自有域名进行访问测试。如http://域名
。
资源清理(可选)
删除NLB实例
在SAE控制台目标应用的基础信息页面,单击应用访问设置区域的NLB实例名称,跳转至负载均衡SLB控制的NLB实例详情页面。
在NLB实例详情页面,单击页面右上角的
,在弹出的释放实例对话框单击确认。返回SAE控制台目标应用的基础信息页面,在应用访问设置区域,单击NLB实例操作列的删除,在弹出的删除确认对话框单击确定,即可删除NLB实例。
如果您为同一个NLB实例添加了多条监听规则,需要删除所有的监听规则,才能删除在SAE侧添加的NLB实例。
如果您只删除了SAE侧添加的NLB实例,没有删除SLB侧的NLB实例,则SLB侧的NLB实例会产生费用。
删除域名解析记录
在域名解析控制台删除已添加的域名解析记录。