準備將 Elastic Load Balancing 負載平衡器連接至您的 Auto Scaling 群組 - Amazon EC2 Auto Scaling

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

準備將 Elastic Load Balancing 負載平衡器連接至您的 Auto Scaling 群組

將 Elastic Load Balancing 負載平衡器連結至 Auto Scaling 群組之前,您必須完成下列先決條件:

  • 您必須已經建立負載平衡器和目標群組,用來將流量路由到 Auto Scaling 群組。

    建立負載平衡器和目標群組的方法有兩種:

    • 使用 Elastic Load Balancing — 在建立 Auto Scaling 群組之前,請遵循 Elastic Load Balancing 說明文件中的程序,建立和設定負載平衡器和目標群組。略過註冊 Amazon EC2 執行個體的步驟。當您將目標群組連接到自動擴展群組時,Amazon EC2 Auto Scaling 會自動處理註冊 (和取消註冊) 執行個體。如需詳細資訊,請參閱《Elastic Load Balancing 使用者指南》中的 Elastic Load Balancing 入門

    • 使用 Amazon EC2 自動擴展 — 透過 Amazon EC2 Auto Scaling 主控台的基本組態建立、設定和連接負載平衡器和目標群組。如需詳細資訊,請參閱 從 Amazon EC2 Auto Scaling 主控台設定 Application Load Balancer 或 Network Load Balancer

  • 在建立負載平衡器之前,請先瞭解您需要的負載平衡器類型。如需詳細資訊,請參閱 Elastic Load Balancing 類型

  • 負載平衡器及其目標群組必須與 Auto Scaling 群組位於相同 AWS 帳戶、VPC 和區域中。

  • 目標群組必須指定 instance 的目標類型。在使用 Auto Scaling 群組時,您無法指定 ip 的目標類型。

  • 如果 Auto Scaling 群組的啟動範本不包含正確的安全性群組,以允許負載平衡器傳送必要的輸入流量,則您必須更新啟動範本。建議採用的規則取決於負載平衡器的類型和負載平衡器使用的後端類型。例如,若要將流量路由傳送至 Web 伺服器,則允許從負載平衡器的連接埠 80 上傳入 HTTP 存取。修改啟動範本時,現有執行個體不會以新設定更新。若要更新現有執行個體,您可以啟動執行個體重新整理以取代執行個體。如需詳細資訊,請參閱 使用執行個體重新整理更新 Auto Scaling 群組中的執行個體

  • 啟動範本中的安全性群組也必須允許從正確連接埠上的負載平衡器存取,Elastic Load Balancing 才能執行其健康狀態檢查。

  • 在閘道 Load Balancer 後方部署虛擬應用裝置時,啟動範本中的 Amazon 機器映像 (AMI) 必須指定支援 GENEVE 通訊協定的 AMI ID,以允許 Auto Scaling 群組與閘道 Load Balancer 交換流量。此外,啟動範本中的安全性群組必須允許連接埠 6081 上的 UDP 流量。

提示

如果您的 Bootstrap 指令碼需要一段時間才能完成,可以選擇將啟動 lifecycle hook 新增至 Auto Scaling 群組,以在 Bootstrap 指令碼成功完成且執行個體上的應用程式已準備好接受流量之前,先延遲在負載平衡器後再註冊執行個體。初始在 Amazon EC2 Auto Scaling 主控台中建立 Auto Scaling 群組時,無法新增 lifecycle hook。但是,您可以在建立群組之後加入生命週期掛接。如需詳細資訊,請參閱 Amazon EC2 Auto Scaling lifecycle hook

設定目標的健全狀況檢查

您可以為使用 Elastic Load Balancing 器註冊的目標設定健康狀態檢查,以確保它們能夠正確處理流量。具體步驟會根據您使用的負載平衡器類型而有所不同。如需詳細資訊,請參閱下列資源:

  • Ap@@ plication Load Balancer — 請參閱應用程式負載平衡器使用者指南中目標群組的 Health 全狀況檢查。

  • Network Load Balancer — 請參閱網路負載平衡器使用者指南中目標群組的 Health 狀態檢查

  • 閘道 Load Balancer — 請參閱閘道負載平衡器使用者指南中目標群組的 Health 全狀況檢查。

  • C@@ lassic Load Balancer — 請參閱 Classic Load Balancer 使用者指南中的為您的傳統負載平衡器設定健康狀態檢查

根據預設,Amazon EC2 Auto Scaling 不會將執行個體視為運作狀態不良,如果 Elastic Load Balancing 運作狀態檢查失敗,則會取代執行個體。Auto Scaling 群組的預設運作狀態檢查只進行 EC2 運作狀態檢查。如需詳細資訊,請參閱 Auto Scaling 群組中的執行個體運作狀態檢查

若要讓 Amazon EC2 Auto Scaling 取代 Elastic Load Balancing 報告運作狀態不佳的執行個體,您可以將 Auto Scaling 群組設定為使用 Elastic Load Balancing 運作狀態檢查。如此一來,如果執行個體未通過 EC2 運作狀態檢查或 Elastic Load Balancing 運作狀態檢查,Amazon EC2 Auto Scaling 就會將執行個體視為運作狀態不佳。如果將多個負載平衡器目標群組或 Classic Load Balancer 連接到群組,上述所有項目都必須回報執行個體狀態良好,群組才會將該執行個體視為狀態良好。假如上述任一個項目回報執行個體運作狀態不佳,Auto Scaling 群組便會替換該執行個體,即使其他回報其運作狀態良好也一樣。

如需如何為 Auto Scaling 群組啟用這些健康狀態檢查的相關資訊,請參閱將 Elastic Load Balancing 負載平衡器連接至您的 Auto Scaling 群組

注意

若要確定這些健全狀況檢查會盡快啟動,請確定群組的健全狀況檢查寬限期設定不是太高,但足以供 Elastic Load Balancing 健康狀態檢查使用,以判斷目標是否可用來處理要求。如需詳細資訊,請參閱 設定 Auto Scaling 群組的運作狀態檢查寬限期。