本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
在SAE上部署应用后,默认无法从公网访问应用,而在VPC内部虽然可以通过实例的私网IP访问应用,但应用变更或重启会导致实例的私网IP发生变化。为解决上述问题,您可以为应用绑定公网或私网CLB,实现通过一个固定的公网或私网IP访问应用,并实现应用实例间的负载均衡。
背景信息
操作步骤
登录SAE控制台,在左侧导航栏选择 ,然后选择目标地域和目标命名空间,最后单击目标应用名称。
在基础信息页面的应用信息页签,然后在应用访问设置区域按需配置公网访问地址或私网访问地址:
公网访问地址:通过绑定公网CLB实现客户端通过公网IP访问应用。
私网访问地址:通过绑定私网CLB实现VPC内部的其他应用或客户端通过私网IP访问应用。
说明如需同时实现通过公网IP和私网IP访问应用,您可以:
方案一:跟随本文指引分别配置公网访问地址和私网访问地址。
方案二:跟随本文指引配置私网访问地址,然后为私网CLB绑定弹性公网IP。
配置公网访问地址与私网访问地址的操作步骤相同,本文以配置公网访问地址为例。单击添加公网CLB访问。
为应用绑定CLB实例:您可以新建CLB实例或绑定已有CLB实例。
新建CLB实例
在添加公网CLB访问对话框,从CLB实例下拉列表中选择新建CLB实例。
SAE自动进行CLB配额检查和账户余额检查,完成配置后,SAE将为您代购全新的CLB实例并将其绑定到应用。
绑定已有CLB实例
在添加公网CLB访问对话框,从CLB实例下拉列表中选择已有的CLB。
CLB实例不能为性能共享型、容器服务独占、或其他产品代购或独占的CLB实例,以防出现监听配置冲突。
如果是公网CLB实例,需确保CLB实例与SAE应用处于相同地域;如果是私网CLB实例,需确保CLB实例与SAE应用处于相同VPC中,否则无法在列表中选取CLB实例。
参考以下说明,至少配置一个监听。如果您需要添加多条监听,请点击添加下一条监听。关于四种监听的说明及使用场景,请参见CLB监听。完成配置后,单击确定。
配置项
说明
示例值
HTTP协议
HTTP端口:提供公网访问应用的CLB端口,取值范围为[1,65535]。
容器端口:进程监听端口,由程序定义。
HTTP端口:80
容器端口:8080(Web服务的默认端口)
HTTPS协议
HTTPS端口:提供公网访问应用的CLB端口,取值范围为[1,65535]。
SSL证书:SSL协议证书,在下拉列表中选择已上传的SSL证书。
容器端口:进程监听端口,由程序定义。
HTTPS端口:443
SSL证书:在下拉列表中选择已创建的SSL证书。如果您还未创建证书,请参见配置HTTPS监听前创建证书。
容器端口:8080(Web服务的默认端口)
TCP协议
CLB端口:提供公网访问应用的CLB端口,取值范围为[1,65535]。
容器端口:进程监听端口,由程序定义。
CLB端口:21
容器端口:8080(Web服务的默认端口)
UDP协议
CLB端口:提供公网访问应用的CLB端口,取值范围为[1,65535]。
容器端口:进程监听端口,由程序定义。
CLB端口:49152
容器端口:8080(Web服务的默认端口)
如果提示
应用没有可用实例,请扩容后重试
,这是由于应用实例数已缩容为0,请先手动扩容后,再为应用绑定CLB实例。在SAE侧创建的监听将自动同步到CLB侧,您可以在负载均衡控制台查看。建议后续仅在SAE侧管理这些监听配置,而不要在CLB侧更改配置。更多信息,请参见避免SAE侧与CLB侧的配置冲突。
避免SAE侧与CLB侧的配置冲突
等待CLB绑定完成,在公网访问地址区域,可以查看应用的IP地址和端口。
如果SAE应用有多个实例处理客户端的请求,CLB默认采用轮询的调度算法来实现实例间的负载均衡。如需修改调度算法,请参见添加TCP监听中的调度算法。
将生成的IP地址和端口信息复制到浏览器中并回车,验证是否可以通过公网访问应用。
访问应用时可能还需要在URL中添加访问路径等信息,这取决于应用程序中的业务逻辑。完整的URL格式为
<访问协议>://<IP地址>:端口/<访问路径>
,例如http://8.154.xx.xx:80/hello
。如果未出现IP地址和端口信息,表示绑定CLB失败,请查看变更记录并修复失败问题。更多信息,请参见查看变更记录。
(可选)如果期望客户端通过自定义域名访问应用,您需要在DNS控制台添加解析记录将您拥有的域名指向SAE生成的公网访问IP地址。
相关操作
删除或编辑CLB访问
在基础信息页面的应用信息页签,找到应用访问设置区域的公网访问地址或私网访问地址,并根据需求单击编辑或删除链接。
在弹出的对话框中根据提示操作,单击确认。
启用小流量预热
启用小流量预热可以保护新启动的应用实例,避免其在刚上线时因承载过大流量而导致请求处理能力差、系统整体响应时间(RT)变高,甚至服务崩溃的问题。在新应用实例刚上线的一段时间内,可以接收较小的流量,然后逐步增加,在指定时间后正常接收流量。
在基础信息页面的应用信息页签,然后在应用访问设置区域单击启用小流量预热。
在小流量预热功能对话框,设置初始流量权重与总预热时间,然后单击确定。