Classic Load Balancer 執行個體的 Health 狀態檢查 - Elastic Load Balancing

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Classic Load Balancer 執行個體的 Health 狀態檢查

您的 Classic Load Balancer 會定期將請求傳送到已註冊的執行個體來測試其狀態。這些測試稱為運作狀況檢查。在進行運作狀態檢查時,運作狀態良好的執行個體的狀態為 InService。在進行運作狀態檢查時,運作狀態不佳的執行個體狀態為 OutOfService。無論執行個體運作狀態良好或不佳,負載平衡器都會在所有註冊的執行個體上執行運作狀態檢查。

負載平衡器只會將請求路由到運作狀態良好的執行個體。當負載平衡器判斷某個執行個體的運作狀態不佳時,會停止將請求路由到該執行個體。在執行個體還原到運作良好的狀態後,負載平衡器就會重新恢復路由請求到該執行個體。

負載平衡器會檢查其已註冊執行個體的運作狀態,使用方式是透過 Elastic Load Balancing 所提供預設的運作狀態檢查組態,或是您指定的自訂運作狀態檢查組態。

如果您的 Auto Scaling 群組與 Classic Load Balancer 相關聯,您可以使用負載平衡器的運作狀態檢查,以確定您的 Auto Scaling 群組中的執行個體的運作狀態。根據預設,每個執行個體的 Auto Scaling 群組定期決定運作狀態。如需詳細資訊,請參閱 Amazon Auto Scaling 使用者指南中的將 Elastic Load Balancing 運作狀態檢查新增至您的 EC2 Auto Scaling 群

運作狀態檢查組態

設定運作狀態,包含負載平衡器用於決定註冊執行個體的運作狀態的資訊。下表說明組態欄位的運作狀態檢查。

欄位 描述

通訊協定

使用通訊協定連線到執行個體。

有效值:TCPHTTPHTTPSSSL

主控台預設:HTTP

CLI/API預設值:TCP

連線埠

使用連接埠連線到執行個體,,像是 protocol:port 對。如果該負載平衡器無法與執行個體在設定的回應逾時時間在指定的連接埠連線,執行個體就視為運作狀態不佳。

通訊協定:TCPHTTPHTTPSSSL

連接埠範圍:1 到 65535

主控台預設:HTTP:80

CLI/API預設值:TCP:80

路徑

HTTP或HTTPS要求的目的地。

HTTP或HTTPSGET要求會發出給連接埠和路徑上的執行個體。如果運作狀態檢查在回應的逾時時段內收到「200 OK」以外的任何回應,執行個體會被視為狀況不良。如果回應包含內文,您的應用程式必須將 Content-Length 標頭設為大於或等於零的值,或指定 Transfer-Encoding 值設為「區塊」。

預設:/index.html

回應逾時

等待收到運作狀態檢查回應的時間,(以秒為單位)。

有效值:2 到 60

預設:5

HealthCheck 間隔

個別執行個體的運作狀態檢查之間的時間,(以秒為單位)。

有效值:5 到 300

預設:30

狀態不良閾值

宣告EC2執行個體運作狀態不良之前,必須進行的連續失敗運作狀態檢查次數。

有效值:2 到 10

預設:2

運作良好閾值

宣告EC2執行個體健康狀態良好之前,必須進行的連續成功運作狀態檢查次數。

有效值:2 到 10

預設:10

負載平衡器每隔 Interval 秒會使用指定的連接埠、通訊協定和路徑,向每個已註冊執行個體傳送運作狀態檢查請求。每個運作狀態檢查請求是各自獨立,且在整個間隔內持續進行。執行個體回應所花的時間不影響下次運作狀態檢查請求的間隔。如果健全狀況檢查超過UnhealthyThresholdCount連續的失敗,負載平衡器會將執行個體停止服務。當健康狀態檢查超過HealthyThresholdCount連續成功時,負載平衡器會將執行個體重新啟用。

如果執行個體在HTTPS健康狀態檢查間隔內傳回 200 個回應碼,就會成功執行HTTP/健康狀態檢查。如果TCP連線成功,TCP健康狀態檢查就會成功。如果SSL交握成功,SSL健全狀況檢查就會成功。

更新運作狀態檢查組態

您可以在任何時間更新您的負載平衡器的運作狀態檢查的組態。

使用主控台更新您的負載平衡器的運作狀態檢查的組態。
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格的 Load Balancing (負載平衡器),選擇 Load Balancer (負載平衡器)

  3. 選擇負載平衡器的名稱來開啟其詳細資訊頁面。

  4. Health checks (運作狀態檢查) 標籤上,選擇 Edit (編輯)

  5. 編輯運作狀態檢查設定頁面的運作狀態檢查下方,視需要更新組態。

  6. 對您的選項感到滿意後,請選擇儲存變更

使用更新負載平衡器的健康狀態檢查組態 AWS CLI

使用下列 configure-health-check 命令:

aws elb configure-health-check --load-balancer-name my-load-balancer --health-check Target=HTTP:80/path,Interval=30,UnhealthyThreshold=2,HealthyThreshold=2,Timeout=3

檢查您的執行個體的運作狀態

您可以查看您已註冊執行個體的運作狀態。

使用主控台檢查執行個體的運作狀態
  1. 在打開 Amazon EC2 控制台https://console.aws.amazon.com/ec2/

  2. 在導覽窗格的 Load Balancing (負載平衡器),選擇 Load Balancer (負載平衡器)

  3. 選擇負載平衡器的名稱來開啟其詳細資訊頁面。

  4. 詳細資訊區段中,狀態表示在服務中的執行個體數量。

  5. 目標執行個體索引標籤的目標執行個體表中,運作狀態欄位表示每個註冊執行個體的具體狀態。

使用檢查執行個體的健全狀態 AWS CLI

使用下列 describe-instance-health 命令:

aws elb describe-instance-health --load-balancer-name my-load-balancer

故障診斷運作狀態檢查

您的已註冊執行個體未能通過負載平衡器的運作狀態檢查的原因有若干個。執行健康狀態檢查失敗的最常見原因是EC2執行個體關閉與負載平衡器的連線,或EC2執行個體的回應逾時。如需有關可能原因和步驟,以及您需要採取哪些步驟解決運作狀態檢查問題的詳細資訊,請參閱故障診斷 Classic Load Balancer:運作狀態檢查