使用時間型和負載型執行個體管理負載 - AWS OpsWorks

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

使用時間型和負載型執行個體管理負載

重要

該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post 或透過進AWS 階 Support 與 AWS Support 團隊聯絡。

隨著您的傳入流量變化,您的堆疊擁有的執行個體數可能會太少而無法正常處理負載,或是超過所需數太多。您可以透過使用時間式或負載式的執行個體,自動增加或減少 layer 的執行個體,來節省時間和金錢,以讓您總有足夠的執行個體來適當處理傳入流量,而無須為不需要的容量支付費用。您無須監控伺服器負載,也無須手動啟動或停止執行個體。此外,時間式和負載式的執行個體會自動分散、擴展和平衡區域內多個可用區域的應用程式,給予您備援及延展性。

自動擴展是以兩個執行個體類型為基礎,會根據不同的條件調整 layer 的線上執行個體。

  • Time-based (時間式) 執行個體

    他們允許堆疊透過包含只在特定時間或特定幾天執行的執行個體,來處理遵循可預測模式的負載。例如,您可以在下午 6 點之後啟動一些執行個體,來執行每天晚上的備份任務,或是在週末流量較低時停止某些執行個體。

  • Load-based (負載式) 執行個體

    他們允許堆疊透過在流量較高時啟動額外執行個體,並在流量較低時停止執行個體,來根據幾項負載指標中的任何指標來處理變動的負載。例如,您可以讓 AWS OpsWorks 堆疊在平均 CPU 使用率超過 80% 時啟動執行個體,並在平均 CPU 負載低於 60% 時停止執行個體。

時間式和負載式執行個體都支援 Linux 堆疊,但 Windows 堆疊只能使用時間式執行個體。

與您必須手動啟動和停止的全年無休執行個體不同,您不會自行啟動或停止時間式或負載式執行個體。相反地,您可以設定執行個體,而 AWS OpsWorks 堆疊會根據執行個體的設定啟動或停止它們。例如,您可以設定以時間為基礎的執行個體以指定的排程啟動和停止。 AWS OpsWorks 然後,堆疊會根據該組態啟動和停止執行個體。

常見的實務便是同時使用三種執行個體類型,如下所示。

  • 一組全年無休的執行個體,處理基本負載。您通常只需啟動這些執行個體,並讓他們持續執行即可。

  • 一組以時間為基礎的執行個體, AWS OpsWorks Stack 會啟動和停止,以處理可預測的流量變化。例如,或您的流量在工作時間內最高,您會將時間式執行個體設為在上午啟動,並在傍晚關機。

  • 一組以負載為基礎的執行個體, AWS OpsWorks Stack 會啟動和停止,以處理無法預測的流量變化。 AWS OpsWorks 當負載接近堆棧的 24/7 和基於時間的實例的容量時,堆棧啟動它們,並在流量恢復正常時停止它們。

如需如何使用這些擴展時間的詳細資訊,請參閱最佳化應用程式伺服器的數目

注意

如果您已為執行個體層建立應用程式或建立自訂食譜, AWS OpsWorks Stacks 會在第一次啟動時,自動將最新版本部署到以時間為基礎的執行個體和以負載為基礎的執行個體。不過, AWS OpsWorks Stacks 不一定會將最新的食譜部署到重新啟動的離線執行個體。如需詳細資訊,請參閱 編輯應用程式更新自訂技術指南

基於負載的縮放與自 auto 修復有何不同

自動負載式擴展使用所有執行中執行個體的平均負載指標。如果指標維持在指定的臨界值之間, AWS OpsWorks 堆疊不會啟動或停止任何執行個體。另一方面,透過自動修復 auto 能,當執行個體停止回應時, AWS OpsWorks Stacks 會自動以相同的設定啟動新的執行個體。執行個體可能會因網路問題或執行個體的一些問題而無法回應。

例如,假設您的 CPU 升頻臨界值為 80%,而一個執行個體停止回應。

  • 如果停用 auto 修復功能,而剩餘執行中的執行個體可以將平均 CPU 使用率維持在 80% 以下, AWS OpsWorks 堆疊就不會啟動新的執行個體。它只會在剩餘執行個體的平均 CPU 使用率超過 80% 時啟動取代用執行個體。

  • 如果啟用了 auto 修復, AWS OpsWorks 堆疊會啟動取代執行個體,而不論負載閾值為何。