本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用時間型和負載型執行個體管理負載
重要
該 AWS OpsWorks Stacks 服務於 2024 年 5 月 26 日終止使用壽命,並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載移轉至其他解決方案。如果您對移轉有任何疑問,請透過 AWS Re: post
隨著您的傳入流量變化,您的堆疊擁有的執行個體數可能會太少而無法正常處理負載,或是超過所需數太多。您可以透過使用時間式或負載式的執行個體,自動增加或減少 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 和基於時間的實例的容量時,堆棧啟動它們,並在流量恢復正常時停止它們。
如需如何使用這些擴展時間的詳細資訊,請參閱最佳化應用程式伺服器的數目。
注意
基於負載的縮放與自 auto 修復有何不同
自動負載式擴展使用所有執行中執行個體的平均負載指標。如果指標維持在指定的臨界值之間, AWS OpsWorks 堆疊不會啟動或停止任何執行個體。另一方面,透過自動修復 auto 能,當執行個體停止回應時, AWS OpsWorks Stacks 會自動以相同的設定啟動新的執行個體。執行個體可能會因網路問題或執行個體的一些問題而無法回應。
例如,假設您的 CPU 升頻臨界值為 80%,而一個執行個體停止回應。
-
如果停用 auto 修復功能,而剩餘執行中的執行個體可以將平均 CPU 使用率維持在 80% 以下, AWS OpsWorks 堆疊就不會啟動新的執行個體。它只會在剩餘執行個體的平均 CPU 使用率超過 80% 時啟動取代用執行個體。
-
如果啟用了 auto 修復, AWS OpsWorks 堆疊會啟動取代執行個體,而不論負載閾值為何。