为应用绑定CLB并生成应用的公网或私网访问IP

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

SAE上部署应用后,默认无法从公网访问应用,而在VPC内部虽然可以通过实例的私网IP访问应用,但应用变更或重启会导致实例的私网IP发生变化。为解决上述问题,您可以为应用绑定公网或私网CLB,实现通过一个固定的公网或私网IP访问应用,并实现应用实例间的负载均衡。

操作步骤

  1. 登录SAE控制台,在左侧导航栏选择应用管理 > 应用列表,然后选择目标地域和目标命名空间,最后单击目标应用名称。

    IXAcRBAUok

  2. 基础信息页面的应用信息页签,然后在应用访问设置区域按需配置公网访问地址私网访问地址

    • 公网访问地址:通过绑定公网CLB实现客户端通过公网IP访问应用。

    • 私网访问地址:通过绑定私网CLB实现VPC内部的其他应用或客户端通过私网IP访问应用。

    说明

    如需同时实现通过公网IP和私网IP访问应用,您可以:

    • 方案一:跟随本文指引分别配置公网访问地址私网访问地址

    • 方案二:跟随本文指引配置私网访问地址,然后为私网CLB绑定弹性公网IP

    lMRxCikgMK

    配置公网访问地址私网访问地址的操作步骤相同,本文以配置公网访问地址为例。单击添加公网CLB访问

  3. 为应用绑定CLB实例:您可以新建CLB实例绑定已有CLB实例

    新建CLB实例

    添加公网CLB访问对话框,从CLB实例下拉列表中选择新建CLB实例

    SAE自动进行CLB配额检查和账户余额检查,完成配置后,SAE将为您代购全新的CLB实例并将其绑定到应用。

    RrxIxI8Tfm

    绑定已有CLB实例

    添加公网CLB访问对话框,从CLB实例下拉列表中选择已有的CLB。

    CLB实例不能为性能共享型、容器服务独占、或其他产品代购或独占的CLB实例,以防出现监听配置冲突。
    如果是公网CLB实例,需确保CLB实例与SAE应用处于相同地域;如果是私网CLB实例,需确保CLB实例与SAE应用处于相同VPC中,否则无法在列表中选取CLB实例。

    image

  4. 参考以下说明,至少配置一个监听。如果您需要添加多条监听,请点击添加下一条监听。关于四种监听的说明及使用场景,请参见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侧的配置冲突

    SAE侧创建的监听将自动同步到CLB侧,SAE会在应用重启、扩缩容等场景中自动维护该配置的正确性,因此建议您仅在SAE侧管理这些监听配置,而不要在CLB侧更改配置。对于SAE创建的监听、虚拟后端服务器组等配置,如果您确实需要在CLB侧进行修改,请参考下表检查操作的合法性,以避免配置失效或产生未知错误。

    您可以在CLB侧进行额外配置(例如为其他资源创建新的监听),但对于SAE代购的CLB实例,由于在删除公网/私网CLB访问或直接删除应用后,会自动释放相应的CLB实例,您在CLB侧进行的配置也会随之丢失。

    类型

    修改项

    操作是否合法

    实例

    实例名称

    实例标签

    禁止以下操作:

    • 更改SAE创建的标签

    • 删除SAE创建的标签

    EIP绑定

    升降配

    带宽

    监听

    监听名称

    带宽

    调度算法

    虚拟服务器组ID

    访问控制

    添加请求x-forward-for字段

    gzip压缩

    会话保持

    健康检查

    超时时间

    证书配置

    转发规则

    虚拟服务器组

    名称

    后端服务器(权重、实例、端口等)

  5. 等待CLB绑定完成,在公网访问地址区域,可以查看应用的IP地址和端口。

    如果SAE应用有多个实例处理客户端的请求,CLB默认采用轮询的调度算法来实现实例间的负载均衡。如需修改调度算法,请参见添加TCP监听中的调度算法

    image

    将生成的IP地址和端口信息复制到浏览器中并回车,验证是否可以通过公网访问应用。

    访问应用时可能还需要在URL中添加访问路径等信息,这取决于应用程序中的业务逻辑。完整的URL格式为<访问协议>://<IP地址>:端口/<访问路径>,例如http://8.154.xx.xx:80/hello

    如果未出现IP地址和端口信息,表示绑定CLB失败,请查看变更记录并修复失败问题。更多信息,请参见查看变更记录

  1. (可选)如果期望客户端通过自定义域名访问应用,您需要在DNS控制台添加解析记录将您拥有的域名指向SAE生成的公网访问IP地址。

相关操作

删除或编辑CLB访问

警告

在删除公网/私网CLB访问或直接删除应用后,会自动释放SAE代购的CLB实例。

  • 删除后将无法找回相同的CLB实例和访问地址,请谨慎操作。

  • 删除后,建议您访问负载均衡控制台查看,以确保CLB实例已释放。如果CLB实例仍处于计费状态,且确认无需继续使用CLB实例,请手动释放CLB实例,避免持续产生费用。

  1. 基础信息页面的应用信息页签,找到应用访问设置区域的公网访问地址私网访问地址,并根据需求单击编辑或删除链接。

    lMIcqP1UA9

  2. 在弹出的对话框中根据提示操作,单击确认

启用小流量预热

启用小流量预热可以保护新启动的应用实例,避免其在刚上线时因承载过大流量而导致请求处理能力差、系统整体响应时间(RT)变高,甚至服务崩溃的问题。在新应用实例刚上线的一段时间内,可以接收较小的流量,然后逐步增加,在指定时间后正常接收流量。

  1. 基础信息页面的应用信息页签,然后在应用访问设置区域单击启用小流量预热

    iwz79OFg15

  2. 小流量预热功能对话框,设置初始流量权重总预热时间,然后单击确定