IBM Cloud Docs
プライベートパスネットワークロードバランサーの作成

プライベートパスネットワークロードバランサーの作成

プライベート・パス・ネットワーク・ロード・バランサー (NLB) は、プライベート・パス・サービスでのみ使用できます。 Load Balancers for VPCのページ から、またはプライベートパスのサービスプロビジョニングプロセスの一部として、プライベートパスのNLBを作成します。 コンソール、CLI、API、または Terraform を使って Private Path ネットワークロードバランサーを作成できます。

プライベート・パスにより、サービス・プロバイダーは、ホストされたサービスの利用者のためにプライベート接続を有効にし、管理することができる。 プライベート・パス・サービスでは、プライベート・パスNLBが各利用者の仮想プライベート・エンドポイント(VPE)ゲートウェイとのセキュアな接続を確立する必要がある。 詳しくは、 プライベート・パス・サービスについて を参照してください。

プライベートパスNLBはポートレンジ機能をサポートしている。 現在、プライベートパスNLBに接続されているすべてのVPEは、範囲内のどのポートにも接続できる。 詳しくは、パブリックネットワークのロードバランサーのポート範囲を設定する を参照してください。

開始前に

プライベートパスNLBが適切に構成されていることを確認するために、以下の要件を確認してください:

  • VPCがない場合は、プライベートパスNLBを作成するのと同じリージョンにVPCを作成する。 プライベート・パス NLB とプライベート・パス・サービスに同じ VPC リージョンを使用します。
  • プライベートパスNLBを作成する前に、仮想サーバーインスタンスを作成します。 これにより、完全に作動することが保証される。
  • 選択したVPCに少なくとも1つのサブネットがあることを確認してください。

コンソール、CLI、API、または Terraform を使って Private Path ネットワークロードバランサーを作成できます。

コンソールでプライベートパスのネットワークロードバランサーを作成する

IBM Cloud コンソールで Network Load Balancer for VPC を作成し設定するには、以下の手順に従う:

  1. ブラウザーから、IBM Cloud コンソールを開き、アカウントにログインします。

  2. ナビゲーションメニューの メニューアイコンを 選択し、 インフラストラクチャ VPCアイコンネットワークロードバランサーをクリックします。

  3. ページ右上の**「作成」**をクリックします。

  4. ロード・バランサー・タイプの場合は、 「ネットワーク・ロード・バランサー (NLB) (Network Load Balancer (NLB))」 タイルを選択します。

  5. 「ロケーション」セクションで、必要に応じて以下のフィールドを編集します。

    • ジオグラフィー: ロード・バランサーを作成するジオグラフィー。
    • リージョン (Region): ロード・バランサーを作成するリージョン。
  6. 「詳細」セクションで、以下の情報を入力します。

    • 名前private-path-load-balancer のようにロードバランサーの名前を入力します。
    • リソース・グループ: ロード・バランサーのリソース・グループを選択します。
    • タグ (オプション)タグを追加して、リソースの整理や検索に役立ちます。 後でさらにタグを追加できます。 詳しくは、『タグの処理』を参照してください。
    • アクセス管理タグ: (オプション) アクセス管理タグをリソースに追加して、アクセス制御関係の編成に役立てます。 サポートされるアクセス管理タグの形式は key:value のみです。 詳しくは、タグを使用したリソースに対するアクセス権限の制御を参照してください。
    • 仮想プライベート・クラウド: ロード・バランサーをデプロイする VPC を選択します。
    • サブネットサブネットを選択します。
    • タイププライベート・パスを選択します。
  7. Back-end poolsセクションで、Create pool をクリックし、以下の情報を指定し、Create をクリックします。 1 つ以上のプールを作成できます。

    • private-path-pool のように、プールの一意の名前を入力します。

    • このプール内のインスタンスのプロトコルを選択します。 プールのプロトコルは、その関連リスナーのプロトコルと一致している必要があります。 例えば、リスナーが TCP である場合、プールのプロトコルは TCP にする必要があります。

    • 以下のオプションから、ロード・バランシング・アルゴリズムである方式を選択します。

      • ラウンドロビン - 各インスタンスに要求を順番に転送します。 すべてのインスタンスが、ほぼ同数のクライアント接続を受信します。
      • 重みづけしたラウンドロビン - 割り当てられた重みに比例して各インスタンスに要求を転送します。 例えば、インスタンス A、B、および C があり、それらの重みが 60、60、および 30 に設定されている場合、インスタンス A と B は同数の接続を受信し、インスタンス C はその半数の接続を受信します。
    • セッション維持を選択し、 「なし」 を選択します。

    • 以下のヘルス・チェック・オプションを入力します。

      • ヘルス・チェック・パス- ヘルス・チェック・パスは、ヘルス・チェック・プロトコルとして HTTP を選択した場合にのみ適用されます。 ヘルス・チェック・パスは、プール内のインスタンスに HTTP ヘルス・チェック要求を送信するためにロード・バランサーが使用する URL を指定します。 デフォルトでは、ヘルス・チェックはルート・パス (/) に送信されます。

      • ヘルス・プロトコル - ロード・バランサーがプール内のインスタンスにヘルス・チェック・メッセージを送信するために使用するプロトコル。

      • ヘルス・ポート(オプション)- ヘルス・チェック・リクエストを送信するポート。 デフォルトでは、ヘルス・チェックは、インスタンスにトラフィックを送信するときと同じポートで送信されます。

      • Interval (sec)- 連続した2回のヘルスチェックの間隔(秒)。

      • Timeout (sec)- システムがヘルスチェック要求からの応答を待つ最大時間。

      • Maximum retries (最大再試行回数)- インスタンスが不健康と宣言されるまでにロードバランサーが行う健康チェックの最大回数。 デフォルトでは、ヘルス・チェックが 2 回失敗すると、インスタンスは正常ではないと見なされます。

        ロード・バランサーは正常でないインスタンスへの接続の送信を停止しますが、それらのインスタンスの正常性のモニターを続け、インスタンスが再び正常と判断された場合 (つまり、ヘルス・チェックの試行が 2 回連続で成功した場合) には、そのインスタンスの使用を再開します。

      プール内のインスタンスが不健全で、アプリケーションが正常に動作していると思われる場合は、ヘルス・プロトコルとヘルス・パスの値を再度確認してください。 また、インスタンスに関連付けられているセキュリティー・グループも参照して、ロード・バランサーとインスタンスの間のトラフィックがルールで許可されていることを確認してください。

  8. バックエンド・プールにメンバーをアタッチするのは、今すぐでも、プライベート・パスNLBを作成した後でも可能です。 バック・エンド・プールのテーブル行の Attach をクリックします。 以下の情報を指定し、 Attachをクリックします。

    • メンバータイプ :仮想サーバーインスタンス、またはアプリケーションロードバランサーをメンバーとして追加します。 仮想サーバーインスタンスの場合は、各タイプを個別にアタッチする。

      プライベートパスNLBプールにALBをメンバーターゲットとしてアタッチした場合、そのプールに他のメンバーを追加することはできません。

    • サブネット: サブネットを選択します。

    • サーバーのリストから、バックエンド・プールに接続したいサーバーを選択します。 各サーバー・ポートに有効な値を指定していることを確認してください。

      バックエンドプールには複数の仮想サーバーインスタンスをアタッチできますが、プライベートパスのロードバランサーは地域的な可用性を提供し、単一のサブネットが選択されていてもゾーン障害に回復力があります。

    ゾーン障害に対する回復力を確保するために、複数のPrivate Pathロードバランサーを作成したり、複数のサブネットを指定したりする必要はありません。 サブネットの選択はロードバランサーに関連付けられたIPアドレスだけに影響します。 バックエンドプールにアタッチできる仮想サーバーインスタンス数の詳細については、「 Private Pathネットワークロードバランサーのクォータとサービス制限 」を参照してください。

    バックエンドのプールテーブルで編集したいメンバーの行にある編集アイコン をクリックすると、添付メンバーを編集できます。 削除したいメンバーの行にあるマイナスアイコンを選択することで、添付メンバーを削除することもできます。

  9. フロントエンドリスナーセクションで 「作成」 をクリックし、以下の情報を指定して 「作成」 をクリックします。 1 つ以上のリスナーを作成できます。

    • Default back-end pool- このリスナーがトラフィックを転送するデフォルトのバックエンド・プール。
    • リスナー・プロトコル- 着信リクエストの受信に使用するプロトコル (TCP )。
    • リスナーポート- リクエストを受け取るリスニングポート。
  10. 注文の概要を確認し、「 作成 」をクリックして注文を完了します。

CLIからPrivate Pathネットワークロードバランサーを作成する

次の例は、CLIからプライベート・パスNLBを作成する例を示している。 この例では、プライベート・パスNLBは、ポート 9090 でリッスンするTCPサーバーを実行している1つのVPC仮想サーバー・インスタンス(ID 0716_6acdd058-4607-4463-af08-d4999d983945 )の前にあります。 ロード・バランサーのフロントエンド・リスナーにより、TCP サーバーへの安全なアクセスが可能になります。

CLIからプライベートパスNLBを作成するには、以下の手順に従ってください:

  1. CLI 環境をセットアップします。

  2. CLIでアカウントにログインします。 パスワードを入力すると、使用するアカウントと地域を選択するプロンプトが表示されます:

    ibmcloud login --sso
    
  3. プライベートパスNLBを作成する:

    ibmcloud is load-balancer-create ppnlb-test private-path --subnet cli-subnet-1 --family network
    

    出力例:

    Creating load balancer ppnlb-test in resource group under account IBM Cloud Network Services as user test@ibm.com...
    
     ID
     Name               ppnlb-test
     CRN
     Family             Network
     Host name
     Subnets            ID                                          Name
                                                                    cli-subnet-2
    
     Public IPs
     Reserved IPs         ID                                          Address        Subnet
    
     Provision status   create_pending
     Operating status   offline
     Is public          false
     Is private path    true
     Listeners
     Pools              ID                                 Name
                                                           my-pool
     Resource group     ID                                 Name
                                                           Default
    
     Created            2025-01-10T15:07:53+05:30
     Availability                 region
     Instance Group Supported     false
     SourceIP Session Supported   false
     Security groups supported    false
     UDP Supported                false
     Access mode                  private_path
    
  4. プールを作成します。

    ibmcloud is load-balancer-pool-create my-pool pp-nlb-test round_robin tcp 20 2 5 http
    

    出力例:

    Creating pool my-pool of load balancer my-pool under account IBM Cloud Network Services as user test@ibm.com...
    
    ID
    Name                       my-pool
    Protocol                   tcp
    Algorithm                  round_robin
    Instance group             ID   Name
                               -    -
    Proxy protocol        disabled
    Health monitor             Type   Port   Health monitor URL   Delay   Retries   Timeout
                               http   -      /                    20      2         5
    
    Session persistence type   Type   Cookie name
                               -      -
    
    Members
    Provision status           create_pending
    Created                    2025-01-10T20:44:57+05:30
    
  5. メンバーを作成します。

    ibmcloud is load-balancer-pool-member-create test-ppnlb-1 test 3000 my-target
    

    ユーザーは、仮想サーバーインスタンスまたはアプリケーションロードバランサー(ALB)をターゲットとしてPPNLBを作成できます。 my-targetmy-instance または my-alb としてメンバーを作成する。

    出力例:

    Creating member of pool test under account IBM Cloud Network Services as user test@ibm.com...
    
    ID                 test
    Port               3000
    Target             10.240.66.14
    Weight             50
    Health             unknown
    Created            0001-01-01T05:53:28+05:53
    Provision status   create_pending
    
  6. リスナーを作成します。

    ibmcloud is load-balancer-listener-create ppnlb-test --port-min 443 --protocol tcp
    

    出力例:

    Creating listener of load balancer ppnlb-test under account IBM Cloud Network Services as user test@ibm.com...
    
    ID
    Certificate instance      -
    Connection limit          -
    Ports                     443
    Idle connection timeout   -
    Protocol                  tcp
    Default pool              -
    Accept proxy protocol     false
    Provision status          create_pending
    Created                   2025-01-10T21:02:37+05:30
    
  7. ロード・バランサーの詳細を表示します。

    ibmcloud is load-balancer ppnlb-test
    

    出力例:

    Getting load balancer ppnlb-test under account IBM Cloud Network Services as user test@ibm.com...
    
    ID
    Name               ppnlb-test
    CRN
    Family             Network
    Host name
    Subnets            ID                                          Name
                                                                   nlb
    
    Public IPs
    Reserved IPs       ID                                          Address        Subnet
    Provision status   active
    Operating status   online
    Is public          false
    Is private path    true
    Listeners
    Pools              ID                                          Name
                                                                   my-pool
    
    Resource group     ID                                 Name
                                                          Default
    
    Created                      2025-01-10T15:07:53+05:30
    Availability                 region
    Instance Group Supported     false
    SourceIP Session Supported   false
    Security groups supported    false
    UDP Supported                false
    Access mode                  private_path
    

APIを使ってネットワークロードバランサーを作成する

以下の例では、APIを使用してプライベート・パスNLBを作成している。 ここで詳しく説明する NLB は、ポート 80 で listen する Web アプリケーションを実行する 2 つの VPC 仮想サーバー・インスタンス (192.168.100.5 および 192.168.100.6) の前にあります。 フロントエンドのリスナーがあり、 HTTPS を使ってウェブアプリケーションに安全にアクセスできる。

この例では、API を使用して VPC、サブネット、およびインスタンスをプロビジョニングするための 前提条件を 省略します。

APIを使用してプライベート・パスNLBを作成するには、以下の手順に従ってください:

  1. API 環境をセットアップします。

  2. API コマンドで使用する以下の値を変数に格納します。

    • subnetId-まずサブネットを取得してから、変数にデータを設定します。
    export subnetId=<your_subnet_id>
    
    • targetId- 次に、サブネットと同じVPCにある仮想サーバー・インスタンスまたはアプリケーション・ロード・バランサー(ALB)を取得する:
    export targetId=<your_target_id>
    
  3. リスナー、プール、およびアタッチされたサーバー・インスタンス(プール・メンバー)を使用して、プライベート・パスNLBを作成します:

    curl -H "Authorization: $iam_token" -X POST
    "$vpc_api_endpoint/v1/load_balancers?version=$api_version&generation=2" \
        -d '{
         "is_public": false,
         "is_private_path": true,
         "name": "my-load-balancer",
         "listeners": [
             {
                 "default_pool": {
                     "name": "my-pool"
                 },
                 "port_min": 80,
                 "port_max": 80,
                 "protocol": "tcp"
             }
         ],
         "subnets": [
             {
                 "id" : "$subnetId"
             }
         ],
         "pools": [
             {
                 "algorithm": "round_robin",
                 "health_monitor": {
                     "delay": 2,
                     "max_retries": 1,
                     "timeout": 1,
                     "port": 80,
                     "type": "tcp"
                 },
                 "name": my-pool",
                 "protocol": "tcp",
                 "members" : [
                     {
                         "port" : 80,
                         "target" : {"id" : "$targetId"}
                     }
                 ]
             }
         ],
         "profile": {
             "name": "network-private-path"
         }
     }'
    

    出力例:

         {
             "availability": "region",
             "created_at": "2023-09-22T21:49:26.000Z",
             "crn": "crn:v1:bluemix:public:is:au-syd:a/b21af5a9874242b7851e780943d595a9::load-balancer:r026-d-86b51a9e-a058-4317-beed-8ee581a1f413",
             "hostname": ".invalid",
             "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413",
             "id": "r026-d-86b51a9e-a058-4317-beed-8ee581a1f413",
             "instance_groups_supported": false,
             "is_private_path": true,
             "is_public": false,
             "listeners": [
                 {
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/listeners/r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47",
                     "id": "r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47"
                 }
             ],
             "logging": {
                 "datapath": {
                     "active": false
                 }
             },
             "name": "my-load-balancer",
             "operating_status": "offline",
             "pools": [
                 {
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/pools/r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679",
                     "id": "r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679",
                     "name": "my-pool"
                 }
             ],
             "private_ips": [
                 {
                     "address": "10.245.0.4",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-e21d477e-3e71-47fc-aec4-9703766cf652",
                     "id": "02h7-e21d477e-3e71-47fc-aec4-9703766cf652",
                     "name": "nugget-ounce-stability-vocation",
                     "resource_type": "subnet_reserved_ip"
                 },
                 {
                     "address": "10.245.0.5",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-1910c529-dadd-4960-aba5-3c4604f99f56",
                     "id": "02h7-1910c529-dadd-4960-aba5-3c4604f99f56",
                     "name": "impostors-synopses-uncivic-livable",
                     "resource_type": "subnet_reserved_ip"
                 },
                 {
                     "address": "10.245.0.6",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce",
                     "id": "02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce",
                     "name": "unmade-garnish-preview-defame",
                     "resource_type": "subnet_reserved_ip"
                 },
                 {
                     "address": "10.245.0.7",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-ae009701-8301-420c-862e-a9ec1f79214c",
                     "id": "02h7-ae009701-8301-420c-862e-a9ec1f79214c",
                     "name": "slacking-scuttle-stonework-reptile",
                     "resource_type": "subnet_reserved_ip"
                 }
             ],
             "profile": {
                 "family": "network",
                 "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-private-path",
                 "name": "network-private-path"
             },
             "provisioning_status": "create_pending",
             "public_ips": [],
             "resource_group": {
                 "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/297468d87ca047c5be28368e52b055ce",
                 "id": "297468d87ca047c5be28368e52b055ce",
                 "name": "Default"
             },
             "resource_type": "load_balancer",
             "route_mode": false,
             "security_groups": [],
             "security_groups_supported": false,
             "source_ip_session_persistence_supported": false,
             "subnets": [
                 {
                     "crn": "crn:v1:bluemix:public:is:au-syd-1:a/b21af5a9874242b7851e780943d595a9::subnet:02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02",
                     "id": "02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02",
                     "name": "my-subnet",
                     "resource_type": "subnet"
                 }
             ],
             "udp_supported": false
         }
    

    次の手順で使用するために、ロード・バランサーの ID を保存します。 例えば、変数 lbid などに保存してください。

    lbid=0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727
    
  4. プライベートパスのロードバランサーの詳細を取得します:

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

    プロビジョニングに時間をかける。 ロード・バランサーの準備ができると、次の出力例に示されているように、online および active の状況に設定されます。

         {
             "availability": "region",
             "created_at": "2023-09-22T21:49:26.000Z",
             "crn": "crn:v1:bluemix:public:is:au-syd:a/b21af5a9874242b7851e780943d595a9::load-balancer:r026-d-86b51a9e-a058-4317-beed-8ee581a1f413",
             "hostname": ".invalid",
             "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413",
             "id": "r026-d-86b51a9e-a058-4317-beed-8ee581a1f413",
             "instance_groups_supported": false,
             "is_private_path": true,
             "is_public": false,
             "listeners": [
                 {
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/listeners/r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47",
                     "id": "r026-00b18a00-d860-4f4d-bb84-e29ffc2d8e47"
                 }
             ],
             "logging": {
                 "datapath": {
                     "active": false
                 }
             },
             "name": "my-load-balancer",
             "operating_status": "only",
             "pools": [
                 {
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancers/r026-d-86b51a9e-a058-4317-beed-8ee581a1f413/pools/r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679",
                     "id": "r026-f25e3f26-3aa6-4aef-9108-1587d3ac6679",
                     "name": "my-pool"
                 }
             ],
             "private_ips": [
                 {
                     "address": "10.245.0.4",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-e21d477e-3e71-47fc-aec4-9703766cf652",
                     "id": "02h7-e21d477e-3e71-47fc-aec4-9703766cf652",
                     "name": "nugget-ounce-stability-vocation",
                     "resource_type": "subnet_reserved_ip"
                 },
                 {
                     "address": "10.245.0.5",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-1910c529-dadd-4960-aba5-3c4604f99f56",
                     "id": "02h7-1910c529-dadd-4960-aba5-3c4604f99f56",
                     "name": "impostors-synopses-uncivic-livable",
                     "resource_type": "subnet_reserved_ip"
                 },
                 {
                     "address": "10.245.0.6",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce",
                     "id": "02h7-a7e55150-5b02-426f-b1dc-aa136effc6ce",
                     "name": "unmade-garnish-preview-defame",
                     "resource_type": "subnet_reserved_ip"
                 },
                 {
                     "address": "10.245.0.7",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02/reserved_ips/02h7-ae009701-8301-420c-862e-a9ec1f79214c",
                     "id": "02h7-ae009701-8301-420c-862e-a9ec1f79214c",
                     "name": "slacking-scuttle-stonework-reptile",
                     "resource_type": "subnet_reserved_ip"
                 }
             ],
             "profile": {
                 "family": "network",
                 "href": "https://au-syd.iaas.cloud.ibm.com/v1/load_balancer/profiles/network-private-path",
                 "name": "network-private-path"
             },
             "provisioning_status": "active",
             "public_ips": [],
             "resource_group": {
                 "href": "https://resource-controller.cloud.ibm.com/v2/resource_groups/297468d87ca047c5be28368e52b055ce",
                 "id": "297468d87ca047c5be28368e52b055ce",
                 "name": "Default"
             },
             "resource_type": "load_balancer",
             "route_mode": false,
             "security_groups": [],
             "security_groups_supported": false,
             "source_ip_session_persistence_supported": false,
             "subnets": [
                 {
                     "crn": "crn:v1:bluemix:public:is:au-syd-1:a/b21af5a9874242b7851e780943d595a9::subnet:02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02",
                     "href": "https://au-syd.iaas.cloud.ibm.com/v1/subnets/02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02",
                     "id": "02h7-ee9114e7-28d4-4416-bbfa-f274dbd49f02",
                     "name": "my-subnet",
                     "resource_type": "subnet"
                 }
             ],
             "udp_supported": false
         }
    

TerraformでPrivate Pathネットワークロードバランサーを作る

次の例では、Terraformを使ってPrivate Pathネットワークのロードバランサーを作成します:

  1. プライベートパスNLBを作成する:

    resource "ibm_is_lb" "example_ppnlb" {
      name    = "example-ppnlb"
      subnets = [ibm_is_subnet.example_subnet.id]
      profile = "network-private-path"
      type    = "private_path"
    }
    
  2. オプションで、プライベート・パスNLB用のプールを作成する:

    resource "ibm_is_lb_pool" "example_pool" {
      name            = "example-pool"
      lb              = [ibm_is_lb.example_ppnlb.id]
      algorithm       = "round_robin"
      protocol        = "tcp"
      health_delay    = 2
      health_retries  = 2
      health_timeout  = 1
      health_type     = "tcp"
    }
    
  3. オプションとして、ALBまたは仮想サーバーインスタンスIDをプライベートパスNLBのプールメンバーとしてターゲットにします:

    resource "ibm_is_lb" "example_alb" {
      name    = "example-alb"
      subnets = [ibm_is_subnet.example_subnet.id]
    }
    
    resource "ibm_is_lb_pool_member" "example_member" {
      lb        = [ibm_is_lb.example_ppnlb.id]
      pool      = element(split("/", ibm_is_lb_pool.example_pool.id), 1)
      port      = 8080
      weight    = 20
      target_id = [ibm_is_lb.example_alb.id]
    }
    

Terraformリソースに関するドキュメントは Terraform Registryを 参照。