アプリケーション・ロード・バランサーの更新

コンソール、CLI、またはAPIを使用して、 IBM Cloud® Application Load Balancer for VPC (ALB)を更新することができます。

コンソールでアプリケーションロードバランサーを更新する

IBM Cloud コンソールでALBを更新するには、以下の手順を実行してください:

  1. お使いのブラウザで IBM Cloud コンソールを開き、 アカウントにログインしてください。
  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコンネットワークロードバランサーをクリックします。
  3. ロード・バランサーのリージョンを選択します。
  4. 更新するロード・バランサーを選択します。
  5. プールまたは仮想サービス・インスタンスのパラメーターを編集する必要がある場合は、**「バックエンド・プール」**を選択します。
  6. リスナーのパラメーターを編集する必要がある場合は、**「フロントエンド・リスナー」**を選択します。 クライアント/サーバーのタイムアウト値を更新するには、編集したいリスナーの行の [Actions]メニューの [Actions]アイコン[Actions] から [Edit] を選択します。 タイムアウト値は50秒から2時間(7200秒)の間で選択できます。 この値はクライアントとサーバーの両方に適用される。 2時間以上必要な場合は、 サポートケースを作成 し、必要なタイムアウト値のビジネス要件を提示してください。
  7. 編集が完了したら、**「保存」**を選択して変更を保存します。

ウィンドウの左上にある「 アクティブ 」ボタンが、「 更新中 」と表示されるようになりました。 **「更新中」「アクティブ」**に戻ったら、更新が完了し、新しい変更が適用されます。

CLI からアプリケーションロードバランサーを更新する

CLIからALBを更新するには、複数のオプションがある。 オプションについては、 VPC CLI reference for load balancersを 参照してください。

以下の例は、CLI を使用して、アルゴリズム least_connections とメンバーのポートを使用するように ALB のプールを更新する方法を示しています。

サンプル・コマンド:

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
ロード・バランサーの ID または名前。
--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 を取得します。

    ロード・バランサーの ID を保存します。

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

    以下のコマンドの出力をきれいなJSON形式で表示するには、「jq」をインストールする。

    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秒)以上必要な場合は、 サポートケースを開いて ください。