Atualização de um balanceador de carga de aplicativos

É possível atualizar um IBM Cloud® Application Load Balancer for VPC (ALB) com o console, a CLI ou a API.

Atualização de um balanceador de carga de aplicativos no console

Para atualizar um ALB no console do IBM Cloud, siga este procedimento:

  1. No seu navegador, abra a console do IBM Cloud e faça login na sua conta.
  2. Selecione o ícone Menu do menu de navegação e clique no ícone VPC de infraestrutura > Rede > Balanceadores de carga.
  3. Selecione a região do seu balanceador de carga.
  4. Selecione o balanceador de carga que deseja atualizar.
  5. Selecione Conjuntos de back-end se for necessário editar parâmetros de um conjunto ou da instância de servidor virtual.
  6. Selecione Listeners de front-end se for necessário editar parâmetros do listener. Para atualizar os valores de tempo limite do Cliente/Servidor, selecione Edit (Editar ) no menu Actions (Ações), ícone Actions(Ações) ) na linha do Listener que você deseja editar. Você pode selecionar um valor de tempo limite entre 50 segundos e 2 horas (7200 segundos). Esse valor é para o cliente e o servidor. Se precisar de mais de 2 horas, você pode abrir um caso de suporte e fornecer um requisito comercial para o valor de tempo limite necessário.
  7. Depois que você terminar de editar, selecione Salvar para salvar suas mudanças.

O botão “Ativo”, no canto superior esquerdo da janela, agora aparece como “Atualizando ”. Quando Atualizando muda de volta para Ativo, a atualização está concluída e as novas mudanças são aplicadas.

Atualização de um balanceador de carga de aplicativos pela CLI

Há várias opções para atualizar seu ALB a partir da CLI. Para obter opções, consulte Referência da CLI de VPC para balanceadores de carga.

O exemplo a seguir mostra como usar a CLI para atualizar o seu conjunto do ALB para usar o algoritmo least_connections e a porta do membro:

Comando de amostra:

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

Saída de amostra:

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

Comando de amostra:

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

Saída de amostra:

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

Atualização de um valor de tempo limite do balanceador de carga de aplicativos na CLI

O exemplo a seguir mostra como usar a CLI para atualizar o valor de tempo limite do ALB:

  1. Obter o ID do ouvinte:
ibmcloud is load-balancer LOAD_BALANCER_ID
  1. Verifique os detalhes do ouvinte atual:
ibmcloud is load-balancer-listener [--load-balancer LOAD_BALANCER_ID] [--listener LISTENER_ID] [--output JSON]
  1. Atualizar o valor do tempo limite:
ibmcloud is load-balancer-listener-update [--load-balancer LOAD_BALANCER_ID] [--listener LISTENER_ID] [--idle-connection-timeout VALUE_IN_SECONDS]

Em que:

--load-balancer
ID ou nome do balanceador de carga.
--listener
ID ou nome do ouvinte.
--output
Formato de saída: apenas o formato JSON é compatível.
--idle-connection-timeout
Valor de tempo limite da conexão ociosa em segundos.

Comando de amostra:

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

Saída de amostra:

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

Atualizando um balanceador de carga de aplicativos por meio da API

O exemplo a seguir ilustra como usar a API para atualizar a porta do listener de front-end de um balanceador de carga do aplicativo. Por exemplo, se a porta do atendente front-end foi definida como 80 e você deseja atualizar o valor da porta para 90.

Para atualizar um balanceador de carga de aplicativos por meio da API, siga estas etapas:

  1. Configure o seu Ambiente de API.

  2. Use o exemplo a seguir para obter o ID do listener necessário para a atualização:

    Salve o ID do balanceador de carga:

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

    Instale o "jq" para exibir a saída do seguinte comando no formato JSON limpo.

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

    Saída de amostra:

    {
     "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. Salve o ID do listener que você deseja atualizar da etapa anterior. Por exemplo, salve-o na variável listenerid.
    export listenerid="r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0"
    
    1. Atualize a porta do ouvinte e os valores de tempo limite do cliente/servidor do balanceador de carga:
    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
    

    Saída de amostra:

    {
        "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
    }
    

Você pode definir um valor de tempo limite entre 50 e 7200 segundos. Se precisar de mais de 2 horas (7200 segundos), você pode abrir um caso de suporte.