Aggiornamento di un programma di bilanciamento del carico dell'applicazione

È possibile aggiornare un sito IBM Cloud® Application Load Balancer for VPC (ALB) tramite console, CLI o API.

Aggiornamento di un bilanciatore di carico delle applicazioni nella console

Per aggiornare un ALB nella console IBM Cloud, completa la seguente procedura:

  1. Dal tuo browser, apri la console IBM Cloud ed effettua l'accesso al tuo account.
  2. Selezionare l' icona Menu del menu di navigazione, quindi fare clic sull'icona Infrastruttura VPC > Rete > Bilanciatori di carico.
  3. Seleziona la regione del tuo programma di bilanciamento del carico.
  4. Seleziona il bilanciatore di carico che desideri aggiornare.
  5. Seleziona Pool di back-end se devi modificare i parametri di un pool o di un'istanza del server virtuale.
  6. Selezionare Listener di front-end se è necessario modificare i parametri del listener. Per aggiornare i valori di timeout del client/server, selezionare Modifica dal menu Azioni Icona Azioni Azioni nella riga dell'ascoltatore che si desidera modificare. È possibile selezionare un valore di timeout compreso tra 50 secondi e 2 ore (7200 secondi). Questo valore vale sia per il client che per il server. Se avete bisogno di più di 2 ore, potete aprire un caso di assistenza e fornire un requisito aziendale per il valore di timeout richiesto.
  7. Una volta terminata la modifica, selezionare Salva per salvare le modifiche.

Il pulsante Attivo in alto a sinistra della finestra è ora visualizzato come Aggiornamento. Quando Aggiornamento torna a Attivo, l'aggiornamento viene eseguito e vengono applicate le nuove modifiche.

Aggiornamento di un programma di bilanciamento del carico dell'applicazione dalla CLI

Esistono diverse opzioni per aggiornare l'ALB dalla CLI. Per le opzioni, vedere il riferimento alla VPC CLI per i bilanciatori di carico.

Il seguente esempio mostra come utilizzare la CLI per aggiornare il pool ALB per utilizzare l'algoritmo least_connections e la porta del membro:

Esempio di comando:

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

Output di esempio:

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

Esempio di comando:

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

Output di esempio:

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

Aggiornamento del valore di timeout di un bilanciatore di carico delle applicazioni dalla CLI

L'esempio seguente mostra come utilizzare la CLI per aggiornare il valore di timeout ALB:

  1. Ottenere l'ID dell'ascoltatore:
ibmcloud is load-balancer LOAD_BALANCER_ID
  1. Verificare i dettagli dell'ascoltatore corrente:
ibmcloud is load-balancer-listener [--load-balancer LOAD_BALANCER_ID] [--listener LISTENER_ID] [--output JSON]
  1. Aggiornare il valore del timeout:
ibmcloud is load-balancer-listener-update [--load-balancer LOAD_BALANCER_ID] [--listener LISTENER_ID] [--idle-connection-timeout VALUE_IN_SECONDS]

Dove:

--load-balancer
ID o nome del bilanciatore di carico.
--listener
ID o nome dell'ascoltatore.
--output
Formato di output: è supportato solo il formato JSON .
--idle-connection-timeout
Valore di timeout della connessione inattiva in secondi.

Esempio di comando:

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

Output di esempio:

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

Aggiornamento di un programma di bilanciamento del carico dell'applicazione con l'API

Il seguente esempio illustra come utilizzare l'API per aggiornare la porta del listener di front-end di un programma di bilanciamento del carico dell'applicazione. Ad esempio, se la porta del listener di front-end è stata impostata su 80 e si desidera aggiornare il valore della porta a 90.

Per aggiornare un bilanciatore di carico delle applicazioni con l'API, procedere come segue:

  1. Configura il tuo ambiente API .

  2. Utilizzare il seguente esempio per ottenere l'ID listener necessario per l'aggiornamento:

    Salva l'ID del bilanciatore di carico:

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

    Installare "jq" per visualizzare l'output del comando seguente in formato JSON pulito.

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

    Output di esempio:

    {
     "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. Salvare l'ID ascoltatore che si desidera aggiornare dal passaggio precedente. Ad esempio, salvala nella variabile listenerid``.
    export listenerid="r042-a00f2544-a1d3-4f9b-af31-4c34990a01f0"
    
    1. Aggiornare i valori della porta dell'ascoltatore e del timeout client/server del bilanciatore di carico:
    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
    

    Output di esempio:

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

È possibile impostare un valore di timeout compreso tra 50 e 7200 secondi. Se sono necessarie più di 2 ore (7200 secondi), è possibile aprire un caso di assistenza.