目標群組運作狀態檢查 - Elastic Load Balancing

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

目標群組運作狀態檢查

您可以利用一個或多個群組來登錄目標。只要登錄程序一完成,負載平衡器就會開始將請求路由到新登錄的目標。註冊程序可能需要幾分鐘的時間才能完成,並開始運作狀態檢查。

網路負載平衡器 使用主動和被動的運作狀態檢查,以判定目標是否可用於處理請求。預設情況下,每個負載平衡器節點只會將請求路由至其可用區域內運作狀態良好的目標。若您啟用跨區域負載平衡功能,每個負載平衡器節點則會將請求路由至所有已啟用的可用區域內運作狀態良好的目標。如需詳細資訊,請參閱跨區域負載平衡 (Cross-zone load balancing).

憑藉主動的運作狀態檢查,負載平衡器將定期向每個已註冊目標傳送請求以檢查其狀態。每個負載平衡器節點會使用各目標註冊所屬目標群組的運作狀態檢查設定,檢查該目標的運作狀態。每次運作狀態檢查完成後,負載平衡器節點即會關閉其為執行運作狀態檢查而建立的連線。

憑藉被動的運作狀態檢查,負載平衡器將觀察各目標回應連線的情形。被動的運作狀態檢查使負載平衡器得以在主動的運作狀態檢查回報某目標運作狀態不佳之前即偵測出其運作狀態不佳。您無法停用、設定或監控被動的運作狀態檢查。不支援對 UDP 流量進行被動運作狀態檢查。

如果目標變得狀態不良,負載平衡器會針對在與目標相關聯的用戶端連線上接收的封包傳送 TCP RST。

如果一個或多個目標群組在已啟用的可用區域內沒有運作狀態良好的目標,我們將從 DNS 移除相應子網路的 IP 地址,以使請求無法路由至該可用區域內的目標。如果每個目標群組中無任何已啟用的可用區域具有運作狀態良好的目標,請求便會路由至所有已啟用的可用區域內的目標。

對於 HTTP 或 HTTPS 運作狀態檢查請求,主機標頭會包含負載平衡器節點的 IP 位址和接聽程式連接埠 (而不是目標的 IP 位址和運作狀態檢查連接埠)。

如果您新增 TLS 接聽程式至 網路負載平衡器,我們會執行接聽程式連線測試。TLS 終止也會中斷 TCP 連線,此時您的負載平衡器和目標之間會建立新的 TCP 連線。因此,您可能看到此測試的 TCP ping 從負載平衡器傳送至目標 (這些目標已向 TLS 接聽程式註冊)。您可以識別這些 TCP ping,因為他們具有 網路負載平衡器 的來源 IP 地址,​而且連線不包含資料封包。

若是 UDP 服務,則會、則會使用導向您目標上 TCP 連接埠的 TCP 有效運作狀態檢查來測試可用性。您可以在目標上使用任何 TCP 連接埠來驗證 UDP 服務的可用性。如果接聽運作狀態檢查連接埠的服務失敗,您的目標是被視為無法使用。為了改善 UDP 服務運作狀態檢查的準確性,將接聽運作狀態檢查連接埠的服務設定為追蹤 UDP 服務的狀態,若服務無法使用則關閉運作狀態檢查連接埠。

運作狀態檢查設定

您將使用以下設定,為目標群組中的目標設定主動的運作狀態檢查。如果運行狀況檢查超過 未運行閾值計數 連續失敗,負載均衡器將目標停止服務。當運行狀況檢查超過 HealthyThreshold計數 連續成功後,負載均衡器將目標放回服務。

設定 描述:

HealthCheckProtocol

負載平衡器對目標執行運作狀態檢查時使用的通訊協定。可能的通訊協定包括 HTTP、HTTPS 和 TCP。預設為 TCP 通訊協定。

HealthCheckPort

負載平衡器對目標執行運作狀態檢查時使用的連接埠。預設為使用每個目標從負載平衡器接收流量的連接埠。

HealthCheckPath

[HTTP/HTTPS 運作狀態檢查] 執行運作狀態檢查的目標其目的地 ping 路徑。 預設值為 。

HealthCheckTimeoutSeconds

以秒為單位的時間長度,若目標在此期間內毫無回應即表示運作狀態檢查失敗。這個值在檢查 HTTP 運作狀態時一定為 6 秒,在檢查 TCP 和 HTTPS 運作狀態時為 10 秒。

HealthCheckIntervalSeconds

個別目標每次執行運作狀態檢查的大約間隔時間,以秒為單位。此值可以是 10 秒或 30 秒。預設為 30 秒。

重要

運行狀況檢查 網路負載平衡器 分佈並使用共識機制確定目標健康。因此,目標會接收超過所設定次數的運作狀態檢查。為了減輕對目標造成的影響,如果您使用 HTTP 運作狀態檢查,請在目標上使用較簡易的目的地,例如靜態 HTML 檔案,或是改為 TCP 運作狀態檢查。

HealthyThresholdCount

將運作狀態不佳的目標視為運作狀態良好之前,運作狀態檢查需連續成功的次數。範圍介於 2 至 10 之間。預設為 3。

UnhealthyThresholdCount

將目標視為運作狀態不佳之前,運作狀態檢查需連續失敗的次數。此值必須與運作狀態良好閾值計數相同。

Matcher

[HTTP/HTTPS 運作狀態檢查] 檢查來自目標的成功回應時所使用的 HTTP 代碼。此值必須為 200 至 399。

目標運作狀態

在負載平衡器向目標傳送運作狀態檢查請求之前,您必須向目標群組註冊該目標,由接聽程式規則中指定其目標群組,並確保負載平衡器已啟用該目標的可用區域。

下表說明已註冊目標的運作狀態可能的值。

數值 描述:

initial

負載平衡器正在註冊目標或對目標執行初始運作狀態檢查。

相關原因代碼: Elb.RegistrationInProgress || Elb.InitialHealthChecking

healthy

目標的運作狀態良好。

相關原因代碼: 無.

unhealthy

目標未回應運作狀態檢查或未通過運作狀態檢查。

相關原因代碼:Target.FailedHealthChecks

unused

目標未向目標群組註冊、未在接聽程式規則中使用目標群組、目標位於未啟用的可用區域,或目標處於已停止或已終止狀態。

相關原因代碼: Target.NotRegistered || Target.NotInUse || Target.InvalidState || Target.IpUnusable

draining

目標正在取消註冊,連接耗盡作業進行中。

相關原因代碼:Target.DeregistrationInProgress

unavailable

目標健全狀態無法使用。

相關原因代碼:Elb.InternalError

運作狀態檢查原因代碼

如果目標的狀態是 Healthy 以外的任何值,API 將傳回問題的原因代碼和描述,而且主控台會以工具提示顯示同樣的描述。請注意,以 Elb 起始於負載均衡器側和原因代碼,以 Target 源於目標端。

原因代碼 描述:

Elb.InitialHealthChecking

初始運作狀態檢查正進行中

Elb.InternalError

運作狀態檢查由於內部錯誤而失敗

Elb.RegistrationInProgress

目標註冊正進行中

Target.DeregistrationInProgress

目標取消註冊正進行中

Target.FailedHealthChecks

運作狀態檢查失敗

Target.InvalidState

目標處於停止狀態

目標處於終止狀態

目標處於終止或停止狀態

目標處於無效狀態

Target.IpUnusable

IP 地址不能做為目標,因為負載平衡器正在使用它

Target.NotInUse

目標群組未設定為接收來自負載平衡器的流量

目標位於負載平衡器未啟用的可用區域

Target.NotRegistered

目標未向目標群組註冊

檢查目標的運作狀態

您可以檢查已向目標群組註冊的各個目標的運作狀態。

New console

使用新控制檯檢查目標的運行狀況

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導航窗格中, 負載平衡,選擇 目標組.

  3. 選擇目標組的名稱打開其詳細信息頁面。

  4. 目標 選項卡, 狀態 列表示每個目標的狀態。

  5. 如果目標狀態是以外的任何值 Healthy狀態詳情 列包含更多信息。

Old console

使用舊控制檯檢查目標的運行狀況

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導航窗格中, 負載平衡,選擇 目標組.

  3. 選取目標群組。

  4. 選擇 目標,並查看每個目標的狀態 狀態 列。若狀態為 Healthy 以外的任何值,檢視工具提示可獲取詳細資訊。

使用 檢查目標的運作狀態AWS CLI

使用 描述-目標-健康 命令。此命令的輸出包含目標的運作狀態。若狀態為 以外的任何值,其將附上原因代碼。Healthy.

接收有關狀態不良目標的電子郵件通知

使用 CloudWatch 警報觸發A Lambda 發送有關不健康目標詳細信息的函數。有關分步說明,請參閱以下博客帖子: 識別負載均衡器的不健康目標.

修改目標群組的運作狀態檢查設定

您可以修改目標群組的部分運作狀態檢查設定。如果通訊協定的目標群組是 TCP、TLS、UDP 或 TCP_UDP,您無法修改運作狀況檢查協定、間隔、逾時或成功代碼。

New console

如何使用新控制檯修改目標組的運行狀況檢查設置

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導航窗格中, 負載平衡,選擇 目標組.

  3. 選擇目標組的名稱打開其詳細信息頁面。

  4. 組詳情 選項卡, 運行狀況檢查設置 部分,選擇 編輯.

  5. 編輯運行狀況檢查設置 頁面,根據需要修改設置,然後選擇 保存更改.

Old console

如何使用舊控制檯修改目標組的運行狀況檢查設置

  1. https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導航窗格中, 負載平衡,選擇 目標組.

  3. 選取目標群組。

  4. 選擇 運行狀況檢查編輯.

  5. 編輯目標組 頁面,根據需要修改設置,然後選擇 保存.

使用 修改目標群組的運作狀態檢查設定AWS CLI

使用 修改-目標組 命令。