使用基於負載的自動調整 - AWS OpsWorks

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

使用基於負載的自動調整

重要

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

以負載為基礎的執行個體可讓您快速啟動或停止執行個體,以回應傳入流量的變化。 AWS OpsWorks Stacks 使用 Amazon CloudWatch 資料為每個層計算下列指標,這些指標代表所有層執行個體的平均值:

  • CPU:平均 CPU 消耗,例如 80%

  • 記憶體:平均記憶體消耗,例如 60%

  • 負載:系統在一分鐘內執行的平均運算工作。

您可以為任何或全部的指標定義「擴展」和「縮小」閾值。您也可以使用自訂 CloudWatch 警示作為閾值。

跨越閾值即會觸發「擴展事件」。您可以透過指定下列項目,來判斷 AWS OpsWorks Stacks 回應擴展事件的方式:

  • 要啟動或停止的執行個體數。

  • 啟動或刪除執行個體之前, AWS OpsWorks 堆疊在超過臨界值之後應該等待多長時間。例如,CPU 使用率必須超過閾值至少 15 分鐘。此值可讓您忽略短暫的流量波動。

  • AWS OpsWorks Stack 在啟動或停止執行個體之後應等待多長時間,才能再次監視指標。您通常會希望允許足夠的時間,讓啟動的執行個體上線或停止的執行個體關機之後,再評定 layer 是否仍然超過閾值。

發生擴展事件時, AWS OpsWorks Stack 只會啟動或停止以載入為基礎的執行個體。它不會啟動或停止全年無休執行個體或時間式執行個體。

注意

自動負載式擴展不會建立新的執行個體。它只會啟動和停止您已建立的執行個體。因此您必須事先佈建足夠的負載式執行個體,才能處理預期的最大負載。

建立負載式執行個體
  1. 在 [執行個體] 頁面上,選擇 [+ 執行個體] 新增執行個體。選擇 [進階],然後選擇 [基於負載]。

    Add instance (新增執行個體) 頁面上的負載類型擴展選項
  2. 設定執行個體,然後選擇「新增執行個體」,將執行個體新增至圖層。

重複這個程序,直到您已建立足夠數目的執行個體。您可以視需要於稍後新增或移除執行個體。

在您將負載式執行個體新增到 layer 後,您必須啟用負載式擴展並指定組態。負載式擴展組態為一種 layer 屬性,而非執行個體屬性,可指定 layer 應啟動或停止其負載式執行個體的時機。您必須為每個使用負載式執行個體的 layer 分別指定它。

啟用和設定自訂負載式擴展
  1. 在導覽窗格的 [執行個體] 下,選擇 [以載入為基礎],然後針對適當的圖層選擇 [編輯]。

    執行個體 layer 上的編輯動作
  2. 基於負載的 auto 調整啟用設定為啟。然後設定閾值和擴展參數,定義新增或刪除執行個體的方式和時機。

    負載類型擴展的閾值
    Layer 平均閾值

    您可以根據下列值 (所有 layer 執行個體的平均) 設定擴展的閾值。

    • 平均 CPU — 層的平均 CPU 使用率,佔總數的百分比。

    • 平均記憶體 — 層的平均記憶體使用率,佔總數的百分比。

    • 平均負載 — 圖層的平均負載。

      有關如何計算負載的更多信息,請參閱維基百科上的負載(計算)

    超過閾值會導致擴展事件,如果需要更多的執行個體,並在需要更少的執行個體時縮減規模。 AWS OpsWorks 然後,堆疊會根據縮放參數新增或刪除執行個體。

    自訂 CloudWatch 鬧鐘

    您最多可以使用五個自訂 CloudWatch 警示作為升頻或縮減規模閾值。他們必須位於和堆疊相同的區域中。如需如何建立自訂警示的詳細資訊,請參閱建立 Amazon CloudWatch 警示

    注意

    若要使用自訂警示,您必須更新您的服務角色,允許 cloudwatch:DescribeAlarms。你可以讓 AWS OpsWorks 堆疊在第一次使用此功能時為你更新角色,也可以手動編輯角色。如需詳細資訊,請參閱 允許 AWS OpsWorks 堆疊代表您採取行動

    當針對以負載為基礎的組態設定多個警示時,如果警示處於INSUFFICIENT_DATA公制警示狀態,即使另一個警示處於該狀態,也無法進行以負載為基礎的執行個體調整。ALARM只有在所有鬧鐘都處於OKALARM狀態時,才能繼續自動調整比例。如需使用 Amazon CloudWatch 警示的詳細資訊,請參閱 Amazon 使用 CloudWatch 者指南中的使用 Amazon CloudWatch 警示

    擴展參數

    下列參數控制 AWS OpsWorks Stack 管理縮放事件的方式。

    • 分批啟動伺服器 — 發生擴展事件時要新增或移除的執行個體數目。

    • 如果超過臨界值 — 時間量 (以分鐘為單位),在 AWS OpsWorks 堆疊觸發擴展事件之前,負載必須保持超過升級閾值或低於縮減閾值。

    • 縮放後,忽略量度 — 擴展事件發生後, AWS OpsWorks Stack 應忽略量度並隱藏其他縮放事件的時間量 (以分鐘為單位)。

      舉例來說, AWS OpsWorks Stacks 會在升級事件後加入新的執行個體,但在開機和設定之前,執行個體不會開始減少負載。在新的執行個體上線並開始處理請求之前 (通常需要數分鐘),引發其他擴展事件沒有意義。此設定可讓您命令 AWS OpsWorks Stacks 隱藏擴展事件足夠的時間,以讓新的執行個體上線。

      您可以增加此設定,以防止層平均值 (例如平均 CPU、平均記憶體或平均負載) 發生暫時性分歧時突然波動。

      例如,如果 CPU 使用率超過限制且記憶體使用量接近縮減規模,則執行個體高檔事件之後可能會立即出現記憶體縮減規模事件。若要避免這種情況發生,您可以增加「縮放後,忽略量度」設定中的分鐘數。在此範例中,會發生 CPU 調整規模,但記憶體縮放事件則不會發生。

  3. 若要新增其他負載型執行個體,請選擇 [+ 執行個體],進行設定,然後選擇 [新增執行個體]。重複執行此作業,直到您擁有足夠的負載式執行個體處理您的預期最大負載。然後選擇 Save (儲存)。

注意

您也可以開啟以載入為基礎的頁面,然後選擇新增以載入為基礎的執行個體 (如果您尚未將以載入為基礎的執行個體新增至圖層) 或 + 執行個體 (如果該層已經有一或多個以載入為基礎的執行個體),將以負載為基礎的執行個體新增至圖層。接著設定執行個體,如本節中先前部分所述。

將現有負載式執行個體新增至 layer
  1. 在導覽窗格的 [執行個體] 下,選擇 [以負載為基礎]。

  2. 如果您已為圖層啟用以負載為基礎的自動縮放功能,請選擇 [+ 實體]。否則,請選擇 [新增負載型執行個體]。選擇「現有」頁標。

    將現有負載類型執行個體新增至 layer
  3. 在「現有」頁籤上,選擇執行個體。清單只會顯示負載式執行個體。

    注意

    如果您改變使用現有執行個體的想法,請在「新建」(New) 標籤上建立新執行個體,如前述程序所述。

  4. 選擇「新增實體」,將實體新增至圖層。

您可以隨時修改自動負載式擴展的組態或停用它。

停用自動負載式擴展
  1. 在導覽窗格的 [執行個體] 下,選擇 [以載入為基礎],然後針對適當的圖層選擇 [編輯]。

  2. 以負載為基礎的 auto 調整啟用切換為