负载均衡BLB

    普通型blb实例


    普通型blb实例提供了负载均衡常规功能组件,能够满足用户对负载均衡的通用需求,具备轻量化、配置简单、价格便宜等特点。

    self即blb_client;具体各个参数含义请参考blb官方文档,api参考下的普通型blb接口

    创建blb实例

    描述:

    • 创建一个LoadBalancer,返回分配的服务地址及实例ID。
    • 付费方式为后付费。
    • 需要实名认证,若未通过实名认证可以前往百度智能云官网控制台中的安全认证下的实名认证中进行认证。

    使用以下代码可以创建blb实例:

        @required(vpc_id=(bytes, str),
                  subnet_id=(bytes, str))
        def create_loadbalancer(self, vpc_id, subnet_id, name=None,
                                desc=None, client_token=None, config=None):

    使用示例如下:

        blb_client.create_loadbalancer(vpc_id="vpc-jupcnrwxqgvf", subnet_id="sbn-p64udgxpymae")

    修改blb实例

    描述:

    • 更新指定的单个LoadBalancer配置信息,包括LoadBalancer实例的名称和描述。

    使用以下代码可以修改blb实例:

        @required(blbId=(bytes, str))
        def update_loadbalancer(self, blb_id, name=None, desc=None,
                            client_token=None, config=None):

    使用示例如下:

        blb_client.update_loadbalancer(blb_id="lb-13223bfa", name="blb_bj")

    查询blb实例列表

    描述:

    • 查询用户账户下所有LoadBalancer的信息
    • 支持按LoadBalancer的id、name、address进行查询,匹配规则支持部分包含(不支持正则)
    • 支持按bccId进行查询,目前只支持单个bccId查询,并且仅支持精确查询。查询结果为包含该后端服务器的负载均衡实例。
    • 返回结果是多重查询条件的交集
    • 如果BLB实例开启了公网访问,返回结果将会带上公网IP
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询blb列表:

        def describe_loadbalancers(self, address=None, name=None, blb_id=None,
                                   bcc_id=None, marker=None, max_keys=None,
                                   config=None):

    使用示例如下:

        blb_client.describe_loadbalancers()

    查询blb实例详情

    描述:

    • 按id查询用户账户下某个LoadBalancer的详细信息
    • 包含LoadBalancer所有的监听器端口信息

    使用以下代码可以查询blb详情:

        @required(blb_id=(bytes, str))
        def describe_loadbalancer_detail(self, blb_id, config=None):

    使用示例如下:

        blb_client.describe_loadbalancer_detail(blb_id="lb-13223bfa")

    删除blb实例

    描述:

    • 释放指定LoadBalancer,被释放的LoadBalancer无法找回

    使用以下代码可以删除blb实例:

        @required(blb_id=(bytes, str))
        def delete_loadbalancer(self, blb_id, client_token=None, config=None):

    使用示例如下:

        blb_client.delete_loadbalancer(blb_id="lb-13223bfa")

    创建httpListener实例

    描述:

    • 在指定LoadBalancer下,创建一个基于HTTP协议的监听器,监听一个前端端口,将发往该端口的所有HTTP请求,转发到后端服务器监听的后端端口上

    使用以下代码可以创建httpListener实例:

        @required(blb_id=(bytes, str), listener_port=int,
                  backend_port=int, scheduler=(bytes, str))
        def create_http_listener(self, blb_id, listener_port,
                                 backend_port, scheduler,
                                 keep_session=None, keep_session_type=None,
                                 keep_session_duration=None,
                                 keep_session_cookie_name=None,
                                 x_forward_for=None,
                                 health_check_type=None, health_check_port=None,
                                 health_check_uri=None,
                                 health_check_timeout_in_second=None,
                                 health_check_interval=None,
                                 unhealthy_threshold=None,
                                 healthy_threshold=None,
                                 health_check_normal_status=None,
                                 server_timeout=None, redirect_port=None,
                                 client_token=None, config=None):

    使用示例如下:

        blb_client.create_http_listener(blb_id="lb-2f30bc8a", listener_port=80, backend_port=80, scheduler="RoundRobin")

    创建httpsListener实例

    描述:

    • 在指定LoadBalancer下,创建一个基于HTTPS协议的监听器,监听一个前端端口,将发往该端口的所有HTTPS请求,先通过SSL卸载转换为HTTP请求后,再转发到后端服务器监听的后端端口上。

    使用以下代码可以创建httpsListener实例:

        @required(blb_id=(bytes, str), listener_port=int,
                  backend_port=int, scheduler=(bytes, str), cert_ids=list)
        def create_https_listener(self, blb_id, listener_port, backend_port,
                                  scheduler, cert_ids, keep_session=None,
                                  keep_session_type=None,
                                  keep_session_duration=None,
                                  keep_session_cookie_name=None,
                                  x_forward_for=None, health_check_type=None,
                                  health_check_port=None, health_check_uri=None,
                                  health_check_timeout_in_second=None,
                                  health_check_interval=None,
                                  unhealth_threshold=None, health_threshold=None,
                                  health_check_normal_status=None,
                                  server_timeout=None, ie6_compatible=None,
                                  encryption_type=None, encryption_protocols=None,
                                  dual_auth=None, client_certIds=None,
                                  client_token=None, config=None):

    使用示例如下:

        blb_client.create_https_listener(blb_id="lb-2f30bc8a", listener_port=443, backend_port=80, scheduler="RoundRobin", cert_ids=["cert-gs8bktrm7drp"])

    创建tcpListener实例

    描述:

    • 在指定LoadBalancer下,创建一个基于TCP协议的监听器,监听一个前端端口,将发往该端口的所有TCP流量,转发到后端服务器监听的后端端口上。TCP监听器只支持TCP协议的健康检查,检查端口和后端服务器监听端口一致。

    使用以下代码可以创建tcpListener实例:

        @required(blb_id=(bytes, str),
                  listener_port=int,
                  backend_port=int,
                  scheduler=(bytes, str))
        def create_tcp_listener(self, blb_id, listener_port,
                                backend_port, scheduler,
                                health_check_timeout_in_second=None,
                                health_check_interval=None,
                                unhealthy_threshold=None,
                                healthy_threshold=None,
                                client_token=None, config=None):

    使用示例如下:

        blb_client.create_tcp_listener(blb_id="lb-2f30bc8a", listener_port=80, backend_port=80, scheduler="RoundRobin")

    创建udpListener实例

    描述:

    • 在指定LoadBalancer下,创建一个基于UDP协议的监听器,监听一个前端端口,将发往该端口的所有UDP流量,转发到后端服务器监听的后端端口上。UDP监听器只支持UDP协议的健康检查,检查端口和后端服务器监听端口一致。

    使用以下代码可以创建udpListener实例:

        @required(blb_id=(bytes, str),
                  listener_port=int,
                  backend_port=int,
                  scheduler=(bytes, str),
                  health_check_string=(bytes, str))
        def create_udp_listener(self, blb_id, listener_port, backend_port,
                                scheduler, health_check_string,
                                health_check_timeout_in_second=None,
                                health_check_interval=None,
                                unhealthy_threshold=None,
                                healthy_threshold=None,
                                client_token=None, config=None):

    使用示例如下:

        blb_client.create_udp_listener(blb_id="lb-2f30bc8a", listener_port=53, backend_port=53, scheduler="RoundRobin", health_check_string="\00\01\01\00\01\00\00\00\00\00\00\05baidu\03com\00\00\01\00\01")

    创建sslListener实例

    描述:

    • 在指定LoadBalancer下,创建一个基于TCP协议的监听器,监听一个前端端口,将发往该端口的所有TCP流量,转发到后端服务器监听的后端端口上。TCP监听器只支持TCP协议的健康检查,检查端口和后端服务器监听端口一致。

    使用以下代码可以创建sslListener实例:

        @required(blb_id=(bytes, str), listener_port=int,
                  backend_port=int, scheduler=(bytes, str), cert_ids=list)
        def create_ssl_listener(self, blb_id, listener_port, backend_port,
                                scheduler, cert_ids,
                                health_check_timeout_in_second=None,
                                health_check_interval=None,
                                unhealth_threshold=None, health_threshold=None,
                                ie6_compatible=None, encryption_type=None,
                                encryption_protocols=None,
                                dual_auth=None, client_certIds=None,
                                client_token=None, config=None):

    使用示例如下:

        blb_client.create_ssl_listener(blb_id="lb-2f30bc8a", listener_port=443, backend_port=80, scheduler="RoundRobin", cert_ids=["cert-gs8bktrm7drp"])

    更新httpListener实例

    描述:

    • 更新指定LoadBalancer下的HTTP监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

    使用以下代码可以更新httpListener实例:

        @required(blb_id=(bytes, str),
                  listener_port=int)
        def update_http_listener(self, blb_id, listener_port, backend_port=None,
                                 scheduler=None, keep_session=None,
                                 keep_session_type=None,
                                 keep_session_duration=None,
                                 keep_session_cookie_name=None,
                                 x_forward_for=None,
                                 health_check_type=None, health_check_port=None,
                                 health_check_uri=None,
                                 health_check_timeout_in_second=None,
                                 health_check_interval=None,
                                 unhealth_threshold=None, health_threshold=None,
                                 health_check_normal_status=None,
                                 server_timeout=None,
                                 redirect_port=None, config=None):

    使用示例如下:

        blb_client.update_http_listener(blb_id="lb-2f30bc8a", listener_port=80, backend_port=90)

    更新httpsListener实例

    描述:

    • 更新指定LoadBalancer下的HTTPS监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

    使用以下代码可以更新httpsListener实例:

        @required(blb_id=(bytes, str), listener_port=int)
        def update_https_listener(self, blb_id, listener_port,
                                  backend_port=None,
                                  scheduler=None, keep_session=None,
                                  keep_session_type=None,
                                  keep_session_duration=None,
                                  keep_session_cookie_name=None,
                                  x_forward_for=None, health_check_type=None,
                                  health_check_port=None, health_check_uri=None,
                                  health_check_timeout_in_second=None,
                                  health_check_interval=None,
                                  unhealth_threshold=None, health_threshold=None,
                                  health_check_normal_status=None,
                                  server_timeout=None,
                                  cert_ids=None, ie6_compatible=None,
                                  config=None):

    使用示例如下:

        blb_client.update_https_listener(blb_id="lb-2f30bc8a", listener_port=443, backend_port=90)

    更新tcpListener实例

    描述:

    • 更新指定LoadBalancer下的TCP监听器参数,请求参数中所有指定的字段都会被更新,未指定的字段保持不变,监听器通过端口指定。

    使用以下代码可以更新tcpListener实例:

        @required(blb_id=(bytes, str),
                  listener_port=int)
        def update_tcp_listener(self, blb_id, listener_port,
                                backend_port=None, scheduler=None,
                                health_check_timeout_in_second=None,
                                health_check_interval=None,
                                unhealth_threshold=None,
                                health_threshold=None,
                                config=None):

    使用示例如下:

        blb_client.update_tcp_listener(blb_id="lb-2f30bc8a", listener_port=80, backend_port=90)

    更新udpListener实例

    描述:

    • 更新指定LoadBalancer下的UDP监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

    使用以下代码可以更新udpListener实例:

        @required(blb_id=(bytes, str),
                  listener_port=int,
                  backend_port=int)
        def update_udp_listener(self, blb_id, listener_port, backend_port=None,
                                scheduler=None, health_check_string=None,
                                health_check_timeout_in_second=None,
                                health_check_interval=None,
                                unhealth_threshold=None,
                                health_threshold=None,
                                config=None):

    使用示例如下:

        blb_client.update_udp_listener(blb_id="lb-2f30bc8a", listener_port=53, backend_port=53, scheduler="LeastConnection")

    更新sslListener实例

    描述:

    • 更新指定LoadBalancer下的SSL监听器参数,所有请求参数中指定的域都会被更新,未指定的域保持不变,监听器通过端口指定。

    使用以下代码可以更新sslListener实例:

        @required(blb_id=(bytes, str), listener_port=int)
        def update_ssl_listener(self, blb_id, listener_port,
                                backend_port=None, scheduler=None,
                                health_check_timeout_in_second=None,
                                health_check_interval=None,
                                unhealth_threshold=None,
                                health_threshold=None, cert_ids=None,
                                ie6_compatible=None,
                                encryption_type=None,
                                encryption_protocols=None,
                                dual_auth=None, client_certIds=None,
                                config=None):

    使用示例如下:

        blb_client.update_ssl_listener(blb_id="lb-2f30bc8a", listener_port=443, backend_port=90)

    查询httpListener实例

    描述:

    • 查询指定LoadBalancer下所有HTTP监听器的信息
    • 支持按监听器端口进行匹配查询
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询httpListener实例:

        @required(blb_id=(bytes, str))
        def describe_http_listener(self, blb_id, listener_port=None,
                                   marker=None, max_keys=None, config=None):

    使用示例如下:

        blb_client.describe_http_listener(blb_id="lb-2f30bc8a")

    查询httpsListener实例

    描述:

    • 查询指定LoadBalancer下所有HTTPS监听器的信息
    • 支持按监听器端口进行匹配查询
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询httpsListener实例:

        @required(blb_id=(bytes, str))
        def describe_https_listener(self, blb_id, listener_port=None,
                                    marker=None, max_keys=None, config=None):

    使用示例如下:

        blb_client.describe_https_listener(blb_id="lb-2f30bc8a")

    查询tcpListener实例

    描述:

    • 查询指定LoadBalancer下所有TCP监听器的信息
    • 支持按监听器端口进行匹配查询
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询tcpListener实例:

        def describe_tcp_listener(self, blb_id, listener_port=None,
                                  marker=None, max_keys=None, config=None):

    使用示例如下:

        blb_client.describe_tcp_listener(blb_id="lb-2f30bc8a")

    查询udpListener实例

    描述:

    • 查询指定LoadBalancer下所有UDP监听器的信息
    • 支持按监听器端口进行匹配查询
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询udpListener实例:

        @required(blb_id=(bytes, str))
        def describe_udp_listener(self, blb_id, listener_port=None, marker=None,
                                  max_keys=None, config=None):

    使用示例如下:

        blb_client.describe_udp_listener(blb_id="lb-2f30bc8a")

    查询sslListener实例

    描述:

    • 查询指定LoadBalancer下所有SSL监听器的信息
    • 支持按监听器端口进行匹配查询
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询sslListener实例:

        @required(blb_id=(bytes, str))
        def describe_ssl_listener(self, blb_id, listener_port=None,
                                  marker=None, max_keys=None, config=None):

    使用示例如下:

        blb_client.describe_ssl_listener(blb_id="lb-2f30bc8a")

    删除Listener实例

    描述:

    • 释放指定LoadBalancer下的监听器,监听器通过监听端口来指定
    • 支持批量释放

    使用以下代码可以删除Listener实例:

        @required(blb_id=(bytes, str),
                  portList=list)
        def delete_listeners(self, blb_id, portList, client_token=None, config=None):

    使用示例如下:

        blb_client.delete_listeners(blb_id="lb-2f30bc8a", portList=[443])

    新增后端服务器实例

    描述:

    • 为指定LoadBalancer添加后端服务器,支持批量添加

    使用以下代码可以新增后端服务器实例:

        @required(blb_id=(bytes, str),
                  backend_server_list=list)
        def add_backend_servers(self, blb_id, backend_server_list,
                                client_token=None, config=None):

    使用示例如下:

        backendServerModel = {
            "instanceId": "i-jVRZWSXN"
        }
        blb_client.add_backend_servers(blb_id="lb-93421df2", backend_server_list=[backendServerModel])

    修改后端服务器实例

    描述:

    • 更新指定LoadBalancer下的后端服务器权重,支持批量修改。

    使用以下代码可以修改后端服务器实例:

        @required(blb_id=(bytes, str),
                  backend_server_list=list)
        def update_backend_servers(self, blb_id, backend_server_list,
                                   client_token=None, config=None):

    使用示例如下:

        backendServerModel = {
            "instanceId": "i-jVRZWSXN",
            "weight": 50
        }
        blb_client.update_backend_servers(blb_id="lb-93421df2", backend_server_list=[backendServerModel])

    查询后端服务器实例

    描述:

    • 查询指定LoadBalancer下的后端服务器列表
    • 结果支持marker分页,分页大小默认为1000,可通过maxKeys参数指定

    使用以下代码可以查询后端服务器实例:

        @required(blb_id=(bytes, str))
        def describe_backend_servers(self, blb_id, marker=None,
                                     max_keys=None, config=None):

    使用示例如下:

        blb_client.describe_backend_servers(blb_id="lb-93421df2")

    移除后端服务器实例

    描述:

    • 释放指定LoadBalancer下的后端服务器,后端服务器通过其标识符指定
    • 支持批量释放

    使用以下代码可以移除后端服务器实例:

        @required(blb_id=(bytes, str),
                  backend_server_list=list)
        def remove_backend_servers(self, blb_id, backend_server_list,
                                   client_token=None, config=None):
            

    使用示例如下:

        blb_client.remove_backend_servers(blb_id="lb-93421df2", backend_server_list=["i-jVRZWSXN"])
    上一篇
    初始化
    下一篇
    应用型blb实例