建立應用程式負載平衡器
您可以建立 IBM Cloud® Application Load Balancer for VPC (ALB),將入站流量分散到多個實體。 您可以將 ALB 用於虛擬伺服器實體、裸機伺服器實體,以及其他擁有負載平衡器可存取 IP 位址的裝置,例如透過 IBM Cloud Direct Link 連線的 Power Systems™ Virtual Server 實體。
在主控台中建立應用程式負載平衡器
若要建立 ALB,請執行下列動作:
-
請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。
-
選取導覽功能表
,然後按一下 Infrastructure
> Network > Load balancers。
-
在「VPC 負載平衡器」頁面上,按一下「建立」。
-
在「負載平衡器類型」中,請選取「應用程式負載平衡器 (ALB)」磁磚。
-
在「位置」區段中,如有需要,請編輯以下欄位。
- 地區: 指出您要建立負載平衡器的地區。
-
在「詳細資訊」區段中,請填寫以下資訊:
-
名稱:輸入負載平衡器的名稱,例如
my-load-balancer。 -
資源群組:選取負載平衡器的資源群組。
-
標籤:(可選) 添加標籤,有助於您整理和查找資源。 您之後可以新增其他標籤。 如需相關資訊,請參閱使用標籤。
-
存取管理標籤: (選用) 將存取管理標籤新增至資源,以協助組織存取控制關係。 存取權管理標籤唯一支援的格式是
key:value。 如需相關資訊,請參閱 使用標籤控制對資源的存取權。 -
虛擬專用雲端:選取 VPC。
-
子網路:選取要在其中建立負載平衡器的子網路。 若要最大化應用程式的可用性,請選取不同區域中的子網路。
每個 ALB 不能指派超過 15 個子網路。
-
類型: 選取負載平衡器類型。
- 公共負載平衡器擁有一個公共 IP 位址,這表示它能夠透過網際網路將來自客戶端的請求進行路由。
- 私有負載平衡器擁有一個私有 IP 位址,這表示僅限於同一區域及 VPC 內的內部客戶端才能存取它。
-
DNS 類型:請選擇「公開」或「私有」。 私有 DNS 區域僅能在 IBM Cloud 上解析,且僅限於帳戶中明確允許的網路,或具備跨帳戶存取權限的網路。
僅針對私人類型,按一下綁定以輸入 DNS 範例和區域資訊,然後按一下綁定。
-
-
在 Back-end pools (後端池) 區段中,按一下 Create (建立 ),並指定下列資訊以建立後端池。 您可以建立一個以上的儲存區。
- 名稱:輸入儲存區的名稱,例如
my-pool。 - 池協定:選擇此池中實體的通訊協定。 池協定必須與其監聽器協定相容。 對於 HTTP 或 HTTPS 監聽器,請使用 HTTP 作為池協定。 對於 TCP 監聽器,請使用 TCP 作為池協定。
- 階段作業綁定:選取是否將使用者階段作業期間的所有要求都傳送至相同實例。
- 代理協定:請選擇 「已停用」 (預設值)、「版本 1」或「版本 2」(代理協定標頭的版本)。 代理協定會將代理協定標頭附加至傳送至後端叢集的 TCP、HTTP 及 HTTPS 封包上。 此設定可讓後端伺服器取得負載平衡器在代理協定標頭中設定的客戶端 IP 位址與連接埠資訊。
- 方法:選擇您希望負載平衡器如何將流量分配至池中的各實例:
- 最少連線數:在現行時間,將要求轉遞給連線數目最少的實例。
- 循環式:依次將要求轉遞給每個實例。 所有實例都會收到大約相等數目的用戶端連線。
- 加權循環式:依實例的指派加權比例,將要求轉遞給每個實例。 例如,您具有實例 A、B 及 C,且其加權設為
60、60及30。 實例 A 與實例 B 會接收相等數目的連線,而實例 C 會接收一半數目的連線。
- 狀態檢查:設定負載平衡器檢查實例狀態的方式。
- 狀態檢查路徑:僅當選取「HTTP」作為狀態檢查協定時,此狀態檢查路徑才適用。 健康檢查路徑指定了負載平衡器用於將 HTTP 健康檢查請求傳送至叢集內各實例所使用的 URL。 依預設,性能檢查會傳送至根路徑 (
/)。 - 健康檢查協定:負載平衡器用於向叢集中的實例發送健康檢查訊息所採用的協定。
- 健康埠 (選用): 傳送健康檢查要求的連接埠。 預設情況下,狀態檢查會透過與傳送至該實例的流量相同的埠進行傳送。
- 間隔(秒):兩次連續健康檢查嘗試之間的間隔(以秒為單位)。 預設情況下,每 5 秒會發送一次狀態檢查。
- 超時 (秒):系統等待健康檢查請求回應的最長時間。 預設情況下,負載平衡器會等待 2 秒以取得回應。
- 最大重試次數:負載平衡器在將某個執行個體判定為「狀態異常」之前,所進行的健康檢查嘗試次數上限。 依預設,在兩次失敗的性能檢查之後,就不再將實例視為性能良好。
- 狀態檢查路徑:僅當選取「HTTP」作為狀態檢查協定時,此狀態檢查路徑才適用。 健康檢查路徑指定了負載平衡器用於將 HTTP 健康檢查請求傳送至叢集內各實例所使用的 URL。 依預設,性能檢查會傳送至根路徑 (
- 名稱:輸入儲存區的名稱,例如
-
(可選)選取「請求設定」以自訂狀態檢查請求的數值。 若未指定任何數值,則會採用預設設定。
- 請求方法:請選擇以下其中一種:
GET或POST。 您可以針對這兩種方法自訂請求標頭。 在使用POST方法時,您可以選擇性地自訂請求正文。 - 請求內容:請包含用於健康檢查的 HTTP 請求內容。 若未特別指定,健康檢查請求將不包含請求正文。
- 主機標頭:包含主機標頭,以確保請求使用 HTTP/1.1 協定。 否則,系統將預設使用 HTTP/1.0。
- 新增其他請求標頭:新增一個或多個請求標頭。
- 標頭名稱:對於
GET請求方法,請從以下選項中選擇一項:content-type、accept、authorization、cookie、origin、referrer或user-agent。 對於POST的請求方法,請選擇以下其中一種:content-type、content-length、application-json或accept-encoding。 - 值:請輸入與指定「標頭名稱」對應的值。
針對私有路徑網路負載平衡器(PPNLB),存在一個已知問題,即 GET API 回應中未返回健康狀態監控的請求與回應欄位。
- 請求方法:請選擇以下其中一種:
-
(可選)選取「回應設定」以自訂狀態檢查的回應值。 若未指定任何數值,則會採用預設設定。
-
回應內容:請輸入回應內容。
-
回應代碼:您可以在 100 至 599 的範圍內,以逗號分隔的方式指定多個數值。 若要指定範圍,請使用 XX。 例如,2XX 適用於 200-299。
HTTP 以純文字形式傳送資料,此類資料可能遭攔截,因此被視為不安全。建議使用
https取代http作為通訊協定。 如需更多詳細資訊,請參閱 《 為什麼 HTTP 並不安全? 》。雖然負載平衡器會停止將連線傳送至狀態異常的實例,但它仍會持續監控這些實例的狀態,並在確認其狀態恢復正常時(也就是若它們連續兩次成功通過狀態檢查),恢復使用這些實例。
如果池中的執行個體狀態異常,而您認為應用程式運作正常,請仔細檢查健康檢查協定和健康檢查路徑的值。 此外,請檢查附著於這些執行個體上的所有安全性群組,以確保其規則允許負載平衡器與執行個體之間的流量。
-
-
按一下 建立 以建立後端儲存區。
在建立後端儲存區之後,您可以連接伺服器實例。
-
若要將伺服器實例新增至新儲存區,請在表格的 伺服器實例 直欄中按一下 連接伺服器。
-
若要將 VPC 裝置新增至儲存區 (例如虛擬伺服器實例及裸機伺服器),請選取 VPC 裝置 標籤。 為每個實例指定下列資訊:
-
選取一個以上要從中選取實例的子網路。
-
選取實例。 如果一個實例具有多個介面,請務必選擇正確的 IP 位址。
-
指定用來將資料流量傳送至實例的埠。
-
如果您的儲存區使用加權循環式方法,請指派每個實例的加權。
將權重設為「
0」表示不會將新的連線轉發至該實例,但只要當前連線仍處於活躍狀態,現有的流量仍會繼續流經該實例。 使用權重值0,有助於讓實例平穩下線,並將其從服務輪替中移除。 -
按一下 配置埠及加權,然後指定將資料流量傳送至實例的埠。
-
-
若要將其他伺服器實例連接至後端儲存區 (例如 IBM Power Systems Virtual Server內包含的伺服器),請選取 其他 標籤,然後按一下 新增其他。 為每個實例指定下列資訊:
-
指定裝置的專用 IP 位址。
-
指定用來將資料流量傳送至實例的埠。
-
如果您的儲存區使用加權循環式方法,請指派每個實例的加權。
將權重設為「
0」表示不會將新的連線轉發至該實例,但只要當前連線仍處於活躍狀態,現有的流量仍會繼續流經該實例。 使用權重值0,有助於讓實例平穩下線,並將其從服務輪替中移除。
-
-
按一下 連接,將伺服器實例連接至後端儲存區。
-
-
在「前端接聽器」區段中,按一下 建立接聽器,並指定下列資訊以建立接聽器。 您可以建立一個以上的接聽器。
- 通訊協定:用來接收送入要求的通訊協定。
- Proxy 通訊協定: 選取是否容許前端接聽器接受 Proxy 通訊協定資料流量。
- 埠:用來接收要求的接聽埠。
- 後端叢集:此監聽器將流量轉發至的預設後端叢集。
- 連線數上限(選用):接聽器容許的並行連線數目上限。
- IAM 授權:如果 HTTPS 是此監聽器的選取通訊協定,您必須指定 IAM 授權,可以是實例或 CRN。
- Secrets Manager:如果 HTTPS 是此監聽器的選定通訊協定,則必須選擇或建立秘密管理員。
- SSL 憑證:如果 HTTPS 是針對此接聽器所選取的通訊協定,則您必須選取 SSL 憑證。 請確保負載平衡器已獲授權存取 SSL 的憑證。
- 逾時 (秒) (選用): 在經過閒置逾時期間之後,如果尚未傳送或接收任何資料,則負載平衡器會關閉連線的逾時上限。 最小和最大超時值分別為 50 秒和 2 小時。 這些值同時適用於用戶端和伺服器。 若要將超時限制增加到 2 小時以上,請 建立支援個案,提供所需超時值的業務需求。
-
按一下 建立,以建立前端接聽器。
-
在「安全群組」區段中,選取您要連接至負載平衡器的安全群組,或按一下 建立 以建立新的安全群組來連接至 ALB。
確保安全群組容許負載平衡資料流量 (接聽器、後端及性能檢查埠)。 如果您未指定安全群組,則會改為連接 VPC 中的預設安全群組。
-
完成建立儲存區及接聽器之後,請按一下建立負載平衡器。
-
若要檢視現有負載平衡器的詳細資料,請在負載平衡器頁面上按一下負載平衡器名稱。
-
您可以選擇為任何現有池建立備份。 這可讓備份資料池在成員故障時管理流量。 為此,您必須建立故障安全政策:
-
只有應用程式負載平衡器允許您將一個以上的池與單一監聽器相關聯。
-
確保負載平衡器中至少有一個已存在的池。
監聽器是負載平衡器中的父資源。 您可以直接(透過設定監聽器為
default_pool)或間接(透過另一個池的failsafe_policy.target)將池與監聽器相關聯。 間接引用的池必須已連結至監聽器。 -
負載平衡器的狀態變更為 Active(作用中 )後,選擇 Back-end pools(後端池) 索引標籤。
-
在池清單頁中,按一下編輯,然後指 定下列資訊:
- 動作:選取向前,以設定故障安全原則。 這會在成員失敗時將流量轉發至備份資料池,並使目標部分處於活動狀態。
- 目標:從相容池清單中選取一個池作為您的備份池。
-
-
如果要將 HTTP 監聽器的流量重定向到 HTTPS 監聽器,可以使用 HTTPS 重定向設定建立 HTTP 監聽器。
第 7 層負載平衡原則會改寫您在這裡定義的設定。 此外,請注意,在建立新的 HTTP 監聽器(並設定 HTTPS 重定向)之前,必須先存在一個現有的 HTTPS 監聽器。
若要這樣做,請執行下列動作:
- 在負載平衡器狀態變更為 作用中之後,請按一下 前端接聽器 標籤。
- 在接聽器清單頁面中,按一下 建立,然後指定下列資訊:
- 通訊協定:選擇 HTTP 作為通訊協定。
- 連接埠:選擇用於接收請求的監聽連接埠。
- 最大連線數 (可選):設定監聽器允許的最多同時連線數。
- HTTPS 重定向:按一下切換按鈕以啟用 重定向設定,然後指 定下列 重定向設定:HTTPS HTTPS
- HTTPS listener:目標 HTTPS 監聽器,來自目前 HTTP 監聽器的傳入流量會被重定向到該監聽器。 請注意,您只會看到 HTTPS 監聽器的清單,其
accept_proxy_protocol值與 HTTP 監聽器相同。 - 重定向 URI (可選):請求重定向至的 URL。
- 狀態碼: 負載平衡器所傳回回應的狀態碼。
- HTTPS listener:目標 HTTPS 監聽器,來自目前 HTTP 監聽器的傳入流量會被重定向到該監聽器。 請注意,您只會看到 HTTPS 監聽器的清單,其
-
如果要根據特定條件為 HTTP 或 HTTPS 前端監聽器重定向、轉寄或拒絕特定的傳入流量,請設定第 7 層政策。
- 在負載平衡器狀態變更為 作用中之後,請按一下導覽中的 前端接聽器,然後針對您建立的接聽器按一下 原則 直欄中的值。
- 在「原則」頁面上,按一下 新增原則,並指定下列資訊以建立原則。 您可以建立多項政策。
- 名稱:輸入政策名稱,例如「
my-policy」。 該名稱在接聽器內必須是唯一的。 - 動作: 當原則的所有規則都符合時要採取的動作。 您可以用 403 回應拒絕請求、將請求重定向到設定的 URL 和回應代碼、將 HTTP 監聽器的流量重定向到 HTTPS 監聽器,或將請求轉發到特定的後端池。 如果送入的要求不符合任何原則的規則,則會將要求轉遞至接聽器的預設後端儲存區。
- 優先順序: 在每一種動作類型內,以優先順序遞增順序來評估原則。 無論優先級如何,系統總是會優先評估用於拒絕流量的政策。 接下來會評估用來重新導向資料流量的原則,接著會評估用來轉遞資料流量的原則。
- 重定向:若動作設定為「重定向」,則此處為請求將被重定向至的 URL。 您必須提供完整的 URL 或 URI 的參數。 使用 URL 時,所有進入的流量都會重定向到此 URL。 使用 URI 參數時,可以透過使用參數的傳入值來保留傳入流量請求的值。 這包括協定、連接埠、主機、路徑和查詢。 URI 參數的預設值等於其原始輸入值。 若要保留傳入值,請將它們提供為
{protocol},{port},{host},{path},和{query}。 例如,如果傳入請求的主機為ibm.com,則預設值為{host},等於傳入的ibm.com值。 - 狀態碼:若動作設定為「重新導向」,則為負載平衡器所傳回的回應狀態碼。
- 轉發:若動作設定為「轉發至叢集」,則此處指請求將被轉發至的後端虛擬伺服器執行個體叢集。
- 名稱:輸入政策名稱,例如「
- 在「政策」頁面上,您也可以使用下列設定建立 HTTPS 重定向政策:
- 名稱:輸入政策名稱,例如「
my-policy」。 該名稱在接聽器內必須是唯一的。 - 動作:選擇重定向至 HTTPS 選項。
- HTTPS listener:目標 HTTPS 監聽器,來自目前 HTTP 監聽器的流量會被重定向到該監聽器。 請注意,您只會看到 HTTPS 監聽器的清單,其
accept_proxy_proxy值與 HTTP 監聽器相同。 - 重定向 URI (可選):請求重定向至的 URL。
- 狀態碼: 負載平衡器所傳回回應的狀態碼。
- 名稱:輸入政策名稱,例如「
- 在「原則」頁面上,按一下原則的 新增規則。 如果原則有規則,請按一下 規則 直欄中的值,以新增更多規則。
- 在「規則」視窗中,按一下 新增規則,然後指定下列資訊以建立規則。 如果您為原則建立多個規則,則只有在符合原則的所有規則時,才會套用原則。
- 條件:指定用於評估規則的條件。
- 類型:規則要評估的資訊類型:來自請求的主機名稱、HTTP 標頭欄位,或 URL 中的路徑。
- 值:待比對的值。
- 鍵:要評估的 HTTP 標頭欄位的名稱,如果規則類型是標頭。 例如,若要匹配 HTTP 標頭中的 cookie,請輸入 Cookie 作為關鍵字。
從 CLI 建立應用程式負載平衡器
以下範例示範如何使用命令列介面 (CLI) 建立一個應用層負載平衡器 ( Application Load Balancer for VPC, ALB)。 在此範例中,它在一個 VPC 虛擬伺服器實例 (ID 0716_6acdd058-4607-4463-af08-d4999d983945) 前執行 TCP 伺服器,該伺服器在連接埠 9090 上監聽。 負載平衡器有一個前端監聽器,可安全存取 TCP 伺服器。
若要從 CLI 建立應用程式負載平衡器,請遵循下列步驟:
-
設定 CLI 環境。
-
使用終端機,透過 CLI 登入您的帳戶。 輸入密碼之後,系統會提示您要使用的帳戶及區域:
ibmcloud login --sso -
建立負載平衡器:
ibmcloud is load-balancer-create alb-test public --subnet 0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c --family application輸出範例:
ibmcloud is load-balancer-create my-lb public --subnet my-subnet Creating load balancer my-lb under account vpcdemo as user test@ibm.com.. ID r026-ec6717fa-aa6c-46c4-94ff-4ccd193ee423 Name my-lb CRN crn:v1:bluemix:public:is:au-syd:a/7f75c7b025e54bc5635f754b2f888665::load-balancer:r026-ec6717fa-aa6c-46c4-94ff-4ccd193ee423 Family application Host name ec6717fa-au-syd.lb.appdomain.cloud Subnets ID Name 02h7-16f74a61-b586-4143-92df-dbc4a047bd5c my-subnet Public IPs Private IPs Provision status create_pending Operating status offline Is public true Is private path false Listeners Pools ID Name Resource group ID Name bdd96715c2a44f2bb60df4ff14a543f5 - Created 2026-05-26T14:47:06+05:30 Availability subnet Instance Group Supported true SourceIP Session Supported true Security groups supported true UDP Supported false Failsafe policy actions fail,drop,forward Access mode public Advanced Health Checks Supported true FQDN Pool Members Supported true -
建立一個水池:
ibmcloud is load-balancer-pool-create alb-pool r134-1b3d2967-d395-4023-8705-829454081e23 weighted_round_robin tcp 10 --failsafe-policy-action forward --failsafe-policy-target pool2輸出範例:
Creating pool alb-pool 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 weighted_round_robin Instance group ID Name - - Health monitor Type Port Health monitor URL Delay Retries Timeout http 8080 / 10 2 5 Failsafe policy Action Target ID Target name Healthy Member Threshold Count forward r006-815e16e7-8729-4d9e-9203-936a6b615ee1 pool2 0 Session persistence type source_ip Members Provision status active Created 2020-08-27T14:45:42.038-05:00 -
建立成員:
ibmcloud is load-balancer-pool-member-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 9090 0716_6acdd058-4607-4463-af08-d4999d983945 --weight 70輸出範例:
Creating member of 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 9090 Target 0716_6acdd058-4607-4463-af08-d4999d983945 Weight 70 Health unknown Created 2020-08-27T14:59:55.446-05:00 Provision status create_pending -
建立接聽器:
$ibmcloud is load-balancer-listener-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 7070 tcp --default-pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 -idle-connection-timeout 30輸出範例:
$ibmcloud is load-balancer-listener-create r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 7070 tcp --default-pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 -idle-connection-timeout 30 Sample output: Creating listener of load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com... ID r006-2847a948-f9b6-4fc1-91c6-f1c49dac3eba Certificate instance - Connection limit - Idle connection timeout 30 Port 7070 Protocol tcp Default pool r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 Provision status create_pending Created 2020-08-27T15:16:08.643-05:00如需更多選項,請參閱 負載平衡器的 VPC CLI 參考。
-
創建政策:
ibmcloud is load-balancer-listener-policy-create 72251a2e-d6c5-42b4-97b0-b5f8e8d1f479 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 --action redirect --priority 2 --target-http-status-code 301 --target-url "https://{host}:443/{path}"輸出範例:
Creating policy of load balancer listener 72b27b5c-f4b0-48bb-b954-5becc7c1dcb3 under account IBM Cloud Network Services as user test@ibm.com... ID r006-4847a949-f9b6-4fc1-71c6-d1c49dac3ebc Action redirect Priority 2 Http status code 301 Target Url https://{host}:443/{path} Provision status create_pending Created 2024-04-23T15:16:08.643-05:00 -
取得負載平衡器的詳細資料:
ibmcloud is load-balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776輸出範例:
Getting load balancer r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 under account IBM Cloud Network Services as user test@ibm.com... ID r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 Name alb-test CRN crn:v1:public:is:us-south-1:a/123456::load-balancer:r006-99b5ab45-6357-42db-8b32-5d2c8aa62776 Family Application Host name 99b5ab45-us-south.lb.test.appdomain.cloud Subnets ID Name 0896-b1f24514-89dc-4afd-b0e2-5489a43cf45c alb-subnet Public IPs 150.238.50.78, 150.238.54.95 Private IPs 10.240.0.58, 10.240.0.59 Provision status active Operating status online Is public true Listeners r006-2847a948-f9b6-4fc1-91c6-f1c49dac3eba Pools ID Name r006-3b66d605-6aa5-4166-9f66-b16054da3cb0 alb-pool Resource group ID Name 3021f90279574ce287dd5fba82c08899 Default Created 2020-08-27T14:34:34.732-05:00
使用 API 建立應用程式負載平衡器
下列範例說明使用 API 在兩個 VPC 虛擬伺服器實例 (192.168.100.5 及 192.168.100.6) 之前建立應用程式負載平衡器,執行在埠 80 上接聽的 Web 應用程式。 負載平衡器設有前端監聽器,可透過 HTTPS 安全地存取該 Web 應用程式。
此範例會跳過使用 API 來佈建 VPC、子網路及實例的 必要步驟。
若要使用 API 建立應用程式負載平衡器,請遵循下列步驟:
-
設定 API 環境。
-
將下列值儲存在要在 API 指令中使用的變數中:
ResourceGroupId-首先,取得資源群組,然後移入變數:
export ResourceGroupId=<your_resourcegroup_id>您也可以使用 IBM Cloud 主控台找到您的資源群組 ID。 請在瀏覽器中開啟 IBM Cloud 控制台,並登入您的帳戶。 選取管理 > 帳戶 > 資源群組。
-
使用以下示例程式碼建立一個具有監聽器、池和附加伺服器實例 (池成員) 的負載平衡器:
curl -H "Authorization: Bearer $iam_token" -X POST "$vpc_api_endpoint/v1/load_balancers?version=$api_version&generation=2" \ -d @alb_create_payload.json Where alb_create_payload.json has the following content: '{ "name": "example-balancer", "is_public": true, "listeners": [ { "certificate_instance": { "crn": "crn:v1:bluemix:public:cloudcerts:us-south:a/123456:b8877ea4-b8eg-467e-912a-da1eb7f031cg:certificate:43219c4c97d013fb2a95b21dddde1234" }, "port": 443, "protocol": "https", "idle_connection_timeout" : 80, "default_pool": { "name": "example-pool" } } ], "pools": [ { "algorithm": "round_robin", "health_monitor": { "delay": 5, "max_retries": 2, "timeout": 2, "type": "tcp", "url_path": "/" }, "name": "example-pool", "protocol": "tcp", "session_persistence": { "cookie_name": "string", "type": "source_ip" }, "members": [ { "port": 80, "target": { "address": "192.168.100.5" }, "weight": 50 }, { "port": 80, "target": { "address": "192.168.100.6" }, "weight": 50 } ] } ], "subnets": [ { "id": "7ec87131-1c7e-4990-b4f0-a26f2e61f98e" } ] }'如需更多選項,請參閱 負載平衡器的 VPC API 參考。
輸出範例:
{ "created_at": "2018-07-12T23:17:07.5985381Z", "crn": "crn:v1:bluemix:public:is:us-south:a/123456::load-balancer:dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "hostname": "ac34687d.lb.appdomain.cloud", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "id": "0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "is_public": true, "profile": { "name": "network-fixed" }, "listeners": [ { "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/70294e14-4e61-11e8-bcf4-0242ac110004" } ], "name": "example-balancer", "operating_status": "offline", "pools": [ { "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/70294e14-4e61-11e8-bcf4-0242ac110004", "name": "example-pool" } ], "provisioning_status": "create_pending", "resource_group": { "id": "56969d60-43e9-465c-883c-b9f7363e78e8" }, "subnets": [ { "id": "0738-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "example-subnet" } ] }儲存要在後續步驟中使用的負載平衡器 ID。 例如,將它儲存在變數
lbid中。lbid=0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727 -
取得負載平衡器的詳細資料
curl -H "Authorization: Bearer $iam_token" -X GET "$vpc_api_endpoint/v1/load_balancers/$lbid?version=$api_version&generation=2"等待一段時間以便佈建。 當負載平衡器準備就緒時,其狀態會設定為「
online」和「active」,如下列範例輸出所示:{ "id": "0738-dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "crn": "crn:v1:bluemix:public:is:us-south:a/123456::load-balancer:dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727", "name": "example-balancer", "created_at": "2018-07-13T22:22:24.489Z", "hostname": "dd754295-e9e0-4c9d-bf6c-58fbc59e5727.lb.appdomain.cloud", "is_public": true, "profile": { "name": "network-fixed" }, "listeners": [ { "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/listeners/70294e14-4e61-11e8-bcf4-0242ac110004" } ], "operating_status": "online", "pools": [ { "id": "0738-70294e14-4e61-11e8-bcf4-0242ac110004", "href": "https://us-south.iaas.cloud.ibm.com/v1/load_balancers/dd754295-e9e0-4c9d-bf6c-58fbc59e5727/pools/70294e14-4e61-11e8-bcf4-0242ac110004", "name": "example-pool" } ], "private_ips": [ { "address": "192.168.10.5" }, { "address": "192.168.10.6" } ], "provisioning_status": "active", "public_ips": [ { "address": "169.11.111.115" }, { "address": "169.11.111.116" } ], "resource_group": { "id": "0738-56969d60-43e9-465c-883c-b9f7363e78e8" }, "subnets": [ { "id": "0738-7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "href": "https://us-south.iaas.cloud.ibm.com/v1/subnets/7ec86020-1c6e-4889-b3f0-a15f2e50f87e", "name": "example-subnet" } ] }