

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

# 使用自動負載型擴展
<a name="workinginstances-autoscaling-loadbased"></a>

**重要**  
 AWS OpsWorks Stacks 此服務已於 2024 年 5 月 26 日終止，並已針對新客戶和現有客戶停用。我們強烈建議客戶盡快將其工作負載遷移至其他解決方案。如果您對遷移有任何疑問，請透過 [AWS re：Post](https://repost.aws/) 或透過 [AWS Premium Support](https://aws.amazon.com/support) 聯絡 AWS 支援 團隊。

負載型執行個體可讓您快速啟動或停止執行個體，以回應傳入流量的變更。 OpsWorks Stacks 使用 [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 資料來運算每個 layer 的下列指標，代表所有 layer 執行個體的平均值：
+ CPU：平均 CPU 消耗，例如 80%
+ 記憶體：平均記憶體消耗，例如 60%
+ 負載：系統在一分鐘內執行的平均運算工作。

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

跨越閾值即會觸發「擴展事件」**。您可以透過指定下列項目，來判斷 OpsWorks Stacks 回應擴展事件的方式：
+ 要啟動或停止的執行個體數。
+  OpsWorks Stacks 在超過閾值後應該等待多久，才能開始或刪除執行個體。例如，CPU 使用率必須超過閾值至少 15 分鐘。此值可讓您忽略短暫的流量波動。
+ Stacks OpsWorks 應在啟動或停止執行個體後等待多久，然後再次監控指標。您通常會希望允許足夠的時間，讓啟動的執行個體上線或停止的執行個體關機之後，再評定 layer 是否仍然超過閾值。

發生擴展事件時， OpsWorks Stacks 只會啟動或停止負載型執行個體。它不會啟動或停止全年無休執行個體或時間式執行個體。

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

**建立負載式執行個體**

1. 在**執行個體**頁面上，選擇 **\$1Instance** 以新增執行個體。選擇**進階**，然後選擇**負載型**。  
![\[Add instance (新增執行個體) 頁面上的負載類型擴展選項\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/load_based_instances.png)

1. 設定執行個體，然後選擇**新增執行個體**，將執行個體新增至 layer。

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

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

**啟用和設定自訂負載式擴展**

1. 在導覽窗格的**執行個體**下，選擇**負載型**，然後選擇適當 layer 的**編輯**。  
![\[執行個體 layer 上的編輯動作\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/load_based.png)

1. 將**啟用負載型自動擴展**設定為**開啟**。然後設定閾值和擴展參數，定義新增或刪除執行個體的方式和時機。  
![\[負載類型擴展的閾值\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/load_based_config.png)  
**Layer 平均閾值**  
您可以根據下列值 (所有 layer 執行個體的平均) 設定擴展的閾值。  
   + **平均 CPU** – 層的平均 CPU 使用率，以總數的百分比表示。
   + **平均記憶體** – layer 的平均記憶體使用率，以總數的百分比表示。
   + **平均負載** – layer 的平均負載。

     如需如何計算負載的詳細資訊，請參閱 Wikipedia 上的[負載 （運算）](http://en.wikipedia.org/wiki/Load_(computing))。
跨越閾值會導致擴展事件，如果需要更多執行個體，則向上擴展，如果需要較少的執行個體，則向下擴展。 OpsWorks Stacks 接著會根據擴展參數新增或刪除執行個體。  
**自訂 CloudWatch 警示**  
您最多可以使用五個自訂 CloudWatch 警示作為擴展或縮減閾值。他們必須位於和堆疊相同的區域中。如需如何建立自訂警示的詳細資訊，請參閱[建立 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/AlarmThatSendsEmail.html)。  
若要使用自訂警示，您必須更新您的服務角色，允許 `cloudwatch:DescribeAlarms`。您可以在第一次使用此功能時讓 OpsWorks Stacks 為您更新角色，也可以手動編輯角色。如需詳細資訊，請參閱[允許 OpsWorks Stacks 代表您採取行動](opsworks-security-servicerole.md)。  
當有多個警示設定為負載型組態時，如果警示處於`INSUFFICIENT_DATA`指標型警示狀態，即使另一個警示處於 `ALARM` 狀態，也無法進行負載型執行個體擴展。只有在所有警示都處於 `OK`或 `ALARM` 狀態時，才能繼續自動擴展。如需使用 Amazon CloudWatch 警示的詳細資訊，請參閱《[Amazon CloudWatch 使用者指南》中的使用 Amazon CloudWatch 警示](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html)。 *Amazon CloudWatch *  
**擴展參數**  
下列參數控制 OpsWorks Stacks 如何管理擴展事件。  
   + **批次啟動伺服器** – 發生擴展事件時要新增或移除的執行個體數量。
   + **如果超過閾值** – 在 Stacks 觸發擴展事件之前，負載必須保持超過擴展閾值或低於縮減閾值的時間量 OpsWorks （以分鐘為單位）。
   + **擴展後，忽略指標 ** – 發生擴展事件後 Stacks OpsWorks 應忽略指標並抑制其他擴展事件的時間量 （以分鐘為單位）。

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

     您可以增加此設定，以防止當**平均 CPU**、**平均記憶體**或**平均負載**等圖層平均值出現暫時性分歧時，突然擺動擴展。

     例如，如果 CPU 用量超過限制，且記憶體用量接近縮減規模，則執行個體向上擴展事件之後可能會立即發生記憶體縮減事件。若要避免這種情況，您可以增加**擴展後忽略指標**設定的分鐘數。在此範例中，會發生 CPU 擴展，但記憶體縮減事件不會。

1. 若要新增其他負載型執行個體，請選擇 **\$1 執行個體**、設定設定，然後選擇**新增執行個體**。重複執行此作業，直到您擁有足夠的負載式執行個體處理您的預期最大負載。然後選擇 **Save** (儲存)。

**注意**  
您也可以開啟負載型****頁面，然後選擇**新增負載型執行個體** （如果您尚未將負載型執行個體新增至 layer) 或 **\$1 執行個體** （如果 layer 已有一或多個負載型執行個體），將新的負載型執行個體新增至 layer。接著設定執行個體，如本節中先前部分所述。

**將現有負載式執行個體新增至 layer**

1. 在導覽窗格的**執行個體**下，選擇**負載型**。

1. 如果您已啟用層的負載型自動擴展，請選擇 **\$1 執行個體**。否則，請選擇**新增負載型執行個體**。選擇**現有**索引標籤。  
![\[將現有負載類型執行個體新增至 layer\]](http://docs.aws.amazon.com/zh_tw/opsworks/latest/userguide/images/load_based_instances_existing.png)

1. 在**現有**索引標籤上，選擇執行個體。清單只會顯示負載式執行個體。
**注意**  
如果您改變使用現有執行個體的想法，請在**新增**索引標籤上，如上述程序所述建立新的執行個體。

1. 選擇**新增執行個體**，將執行個體新增至 layer。

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

**停用自動負載式擴展**

1. 在導覽窗格的**執行個體**下，選擇**負載型**，然後選擇適當 layer 的**編輯**。

1. **啟用以負載為基礎的自動擴展**至**否**。