更新应用程序负载均衡器

您可以使用控制台、CLI 或 API 更新 IBM Cloud® Application Load Balancer for VPC (ALB)。

在控制台中更新应用程序负载平衡器

要在 IBM Cloud 控制台中更新 ALB,请执行以下过程:

  1. 在浏览器中打开 IBM Cloud 控制台,并登录您的账户。
  2. 选择导航菜单 菜单图标,然后单击基础架构 VPC 图标 > 网络 > 负载平衡器
  3. 选择负载均衡器的区域。
  4. 选择您要更新的负载均衡器。
  5. 如果需要编辑池或虚拟服务器实例参数,请选择 后端池
  6. 如果需要编辑侦听器参数,请选择 前端侦听器。 要更新客户端/服务器超时值,请在要编辑的监听器行中从操作菜单操作图标 中选择编辑。 您可以在 50 秒到 2 小时(7200 秒)之间选择超时值。 该值同时适用于客户端和服务器。 如果您需要超过 2 小时,可以 打开一个支持案例,并提供所需的超时值业务要求。
  7. 完成编辑后,选择 保存 以保存更改。

窗口左上角的“活动”按钮现在显示为“正在更新”。 当 更新 更改回 活动时,将执行更新并应用新更改。

从 CLI 更新应用程序负载均衡器

从 CLI 更新 ALB 有多个选项。 有关选项,请参阅 负载平衡器 VPC CLI 参考

以下示例显示如何使用 CLI 更新 ALB 池以使用算法 least_connections 和成员端口:

样本命令:

ibmcloud is load-balancer-pool-update r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 --algorithm least_connections

样本输出:

Updating pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 of load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com...

ID                         r006-3b66d605-6aa5-4166-9f66-b16054da3cb0
Name                       alb-pool
Protocol                   tcp
Algorithm                  least_connections
Instance group             ID   Name
                           -    -

Health monitor             Type   Port   Health monitor URL   Delay   Retries   Timeout
                           http   8080   /                    10      2         5

Session persistence type   source_ip
Members                    r006-61f8b000-a90d-4abe-909e-c507dffec565
Provision status           update_pending
Created                    2020-08-27T14:45:42.038-05:00

样本命令:

ibmcloud is load-balancer-pool-member-update r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 r006-61f8b000-a90d-4abe-909e-c507dffec565 --port 6060

样本输出:

Updating member r006-61f8b000-a90d-4abe-909e-c507dffec565 of load balancer pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 under account IBM Cloud Network Services as user test@ibm.com...

ID                 r006-61f8b000-a90d-4abe-909e-c507dffec565
Port               6060
Target             0716_6acdd058-4607-4463-af08-d4999d983945
Weight             70
Health             unknown
Created            2020-08-27T14:59:55.446-05:00
Provision status   update_pending

通过 CLI 更新应用程序负载平衡器超时值

下面的示例显示了如何使用 CLI 更新 ALB 超时值:

  1. 获取监听器 ID:
ibmcloud is load-balancer LOAD_BALANCER_ID
  1. 验证当前监听器详细信息:
ibmcloud is load-balancer-listener [--load-balancer LOAD_BALANCER_ID] [--listener LISTENER_ID] [--output JSON]
  1. 更新超时值:
ibmcloud is load-balancer-listener-update [--load-balancer LOAD_BALANCER_ID] [--listener LISTENER_ID] [--idle-connection-timeout VALUE_IN_SECONDS]

其中:

--load-balancer
负载均衡器的标识或名称。
--listener
监听器的 ID 或名称。
--output
输出格式,仅支持 JSON
--idle-connection-timeout
空闲连接超时值(秒)。

样本命令:

ibmcloud is load-balancer-listener-update r042-ce351658-c236-4c99-8711-1414c5a6a99c r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0 --idle-connection-timeout 90

样本输出:

Updating listener r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0 of load balancer r042-ce351658-c236-4c99-8711-1414c5a6a99c under account SoftLayer Internal - Network Operations as user labhatia@in.ibm.com...

ID                        r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0
Certificate instance      -
Connection limit          -
Ports                     22
Idle connection timeout   90
Protocol                  http
Default pool              -
Accept proxy protocol     false
Provision status          update_pending
Created                   2025-04-15T14:11:06+05:30

使用 API 更新应用程序负载均衡器

以下示例说明如何使用 API 来更新应用程序负载均衡器的前端侦听器端口。 例如,如果前端侦听器端口设置为 80,并且要将端口值更新为 90。

要使用 API 更新应用程序负载平衡器,请按照以下步骤操作:

  1. 设置 API 环境

  2. 使用以下示例来获取更新所需的侦听器标识:

    请保存负载均衡器的 ID:

    export lbid="r042-ce351658-c236-4c99-8711-1414c5a6a99c"
    

    安装 "jq",以简洁的 JSON 格式查看以下命令的输出。

    curl -H "Authorization: Bearer $iam_token" -X GET
    "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2" | jq
    

    样本输出:

    {
     "access_mode": "private",
     "attached_load_balancer_pool_members": [],
     "availability": "subnet",
     "created_at": "2024-12-23T06:29:04Z",
     "crn": "crn:v1:bluemix:public:is:br-sao:a/5a83dca0e9c3408788bac5da136a9e76::load-balancer:r042-ce351658-c236-4c99-8711-1414c5a6a99c",
     "dns": {
         "instance": {
         "crn": "crn:v1:bluemix:public:dns-svcs:global:a/74589ab5050034ede18fa510153e91f8:a2b96ed8-cea2-4db0-b60a-c02d99586d4f::"
         },
         "zone": {
         "id": "a9240f0c-da77-4c55-be84-1d56c549a4de"
         }
     },
     "failsafe_policy_actions": [
         "fail",
         "drop",
         "forward"
     ],
     "hostname": "ce351658-br-sao.test.com",
     "href": "https://br-sao.iaas.cloud.ibm.com/v1/load_balancers/r042-ce351658-c236-4c99-8711-1414c5a6a99c",
     "id": "r042-ce351658-c236-4c99-8711-1414c5a6a99c",
     "instance_groups_supported": true,
     "is_private_path": false,
     "is_public": false,
     "listeners": [
         {
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/load_balancers/r042-ce351658-c236-4c99-8711-1414c5a6a99c/listeners/r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0",
         "id": "r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0"
         }
     ],
     "logging": {
         "datapath": {
         "active": true
         }
     },
     "name": "test-alb",
     "operating_status": "online",
     "pools": [
         {
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/load_balancers/r042-ce351658-c236-4c99-8711-1414c5a6a99c/pools/r042-40fe93a2-16f4-467d-b0e4-70c7b093e137",
         "id": "r042-40fe93a2-16f4-467d-b0e4-70c7b093e137",
         "name": "pooltest"
         }
     ],
     "private_ips": [
         {
         "address": "192.168.40.12",
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/subnets/02v7-3520cb95-db1a-4787-9bde-f9cb8e811685/reserved_ips/02v7-be9dd47d-3899-4f67-8f7d-0a38ee73a376",
         "id": "02v7-be9dd47d-3899-4f67-8f7d-0a38ee73a376",
         "name": "author-sabbatical-zookeeper-paddleboat",
         "resource_type": "subnet_reserved_ip"
         },
         {
         "address": "192.168.40.13",
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/subnets/02v7-3520cb95-db1a-4787-9bde-f9cb8e811685/reserved_ips/02v7-4a439c6a-15ed-43c0-910c-345d3af5f0c0",
         "id": "02v7-4a439c6a-15ed-43c0-910c-345d3af5f0c0",
         "name": "thinning-visitor-prance-chaps",
         "resource_type": "subnet_reserved_ip"
         }
     ],
     "profile": {
         "family": "application",
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/load_balancer/profiles/dynamic",
         "name": "dynamic"
     },
     "provisioning_status": "active",
     "public_ips": [],
     "resource_group": {
         "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/5710acc3545d425db62cb37037d17245",
         "id": "5710acc3545d425db62cb37037d17245",
         "name": "Default"
     },
     "resource_type": "load_balancer",
     "route_mode": false,
     "security_groups": [
         {
         "crn": "crn:v1:bluemix:public:is:br-sao:a/5a83dca0e9c3408788bac5da136a9e76::security-group:r042-f9a9b05b-9f19-4e65-a39c-8e5ccd1b0303",
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/security_groups/r042-f9a9b05b-9f19-4e65-a39c-8e5ccd1b0303",
         "id": "r042-f9a9b05b-9f19-4e65-a39c-8e5ccd1b0303",
         "name": "resent-wrongness-erasure-flaky"
         }
     ],
     "security_groups_supported": true,
     "source_ip_session_persistence_supported": true,
     "subnets": [
         {
         "crn": "crn:v1:bluemix:public:is:br-sao-3:a/5a83dca0e9c3408788bac5da136a9e76::subnet:02v7-3520cb95-db1a-4787-9bde-f9cb8e811685",
         "href": "https://br-sao.iaas.cloud.ibm.com/v1/subnets/02v7-3520cb95-db1a-4787-9bde-f9cb8e811685",
         "id": "02v7-3520cb95-db1a-4787-9bde-f9cb8e811685",
         "name": "subnet-test-zone3",
         "resource_type": "subnet"
         }
     ],
     "udp_supported": false
    }
    
    
    1. 保存上一步中要更新的监听器 ID。 例如,将其保存在变量 listenerid 中。
    export listenerid="r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0"
    
    1. 更新负载平衡器的侦听器端口和客户端/服务器超时值:
    curl -H "Authorization: Bearer $iam_token" -X PATCH
    "$vpc_api_endpoint/v1/load_balancers/$lbid/listeners/$listenerid?version=$api_version&generation=2" \
        -d '{"idle_connection_timeout": 50 , "port": 8080}' | jq
    

    样本输出:

    {
        "id": "r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0",
        "href": "https://br-sao.iaas.cloud.ibm.com/v1/load_balancers/r042-ce351658-c236-4c99-8711-1414c5a6a99c/listeners/r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0",
        "protocol": "http",
        "port": 8080,
        "port_min": 8080,
        "port_max": 8080,
        "provisioning_status": "update_pending",
        "created_at": "2025-04-15T08:41:06Z",
        "accept_proxy_protocol": false,
        "idle_connection_timeout": 50
    }
    

超时值可设置为 50 至 7200 秒。 如果您需要的时间超过 2 小时(7200 秒),可以 申请支持