

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

# 管理 Amazon OpenSearch Serverless 的容量限制
<a name="serverless-scaling"></a>

透過 Amazon OpenSearch Serverless，您就不需自行管理容量。OpenSearch Serverless 會根據目前的工作負載自動擴展帳戶的運算容量。Serverless 運算容量是以 *OpenSearch 運算單元* (OCU) 來測量。每個 OCU 都是 6 GiB 記憶體和對應虛擬 CPU (vCPU) 的組合，並會建立 Amazon S3 的資料管道。如需有關 OpenSearch Serverless 中分開的架構的詳細資訊，請參閱[運作方式](serverless-overview.md#serverless-process)。

當您建立第一個集合時，OpenSearch Serverless 會根據備援設定執行個體化 OCUs。預設會啟用備援作用中複本，這會執行個體化四個 OCUs （兩個用於索引，兩個用於搜尋）。這可確保另一個可用區域中待命節點的高可用性。

對於開發和測試，您可以停用集合的**啟用備援**設定。這會移除待命複本，並僅使用兩個 OCUs （一個用於索引，另一個用於搜尋）。

這些 OCU 會永遠存在，即使沒有索引編製或搜尋活動也一樣。所有後續集合都可以共用這些 OCUs，但具有唯一 AWS KMS 金鑰的集合除外，這會執行個體化自己的一組 OCUs。與集合群組相關聯的所有集合可以共用相同的一組 OCUs。單一集合群組中只能包含一種集合類型 （搜尋、時間序列或向量搜尋）。如需詳細資訊，請參閱[Amazon OpenSearch Serverless 集合群組](serverless-collection-groups.md)。

OpenSearch Serverless 會自動向外擴展，並在索引和搜尋用量增加時新增 OCUs。當流量減少時，容量會縮減至資料大小所需的最小 OCUs 數量。

對於搜尋和時間序列集合，閒置時所需的 OCUs 數量與資料大小和索引計數成正比。對於向量集合，OCU 需求依賴記憶體 (RAM) 來存放向量圖形，以及存放索引的磁碟空間。非閒置時，OCU 需求會考慮這兩個因素。

向量集合會將索引資料儲存在 OCU 本機儲存中。達到 OCU RAM 限制的速度快於磁碟限制，這會依 RAM 空間限制向量集合。

啟用備援後，OCU 容量會縮減至至少 1 個用於索引的 OCU (0.5 個 OCU x 2)，以及 1 個用於搜尋的 OCU (0.5 個 OCU x 2)。當您停用備援時，您的集合可以縮減至 0.5 OCU 進行索引，而 0.5 OCU 進行搜尋。

擴展也會考慮集合或索引所需的碎片數量。每個 OCU 都支援指定的碎片數量，索引數量應與碎片計數成比例。所需的基本 OCUs 總數是資料、記憶體和碎片需求的上限。如需詳細資訊，請參閱*AWS 大數據部落格*上[任何規模的 Amazon OpenSearch Serverless 經濟實惠搜尋功能](https://aws.amazon.com/blogs/big-data/amazon-opensearch-serverless-cost-effective-search-capabilities-at-any-scale/)。

對於*搜尋*和*向量搜尋*集合，所有資料都存放在熱索引上，以確保快速的查詢回應時間。*時間序列*集合使用熱儲存和暖儲存的組合，將最新的資料保留在熱儲存中，以最佳化更頻繁存取資料的查詢回應時間。如需詳細資訊，請參閱[選擇集合類型](serverless-overview.md#serverless-usecase)。

**注意**  
向量搜尋集合無法與*搜尋*和*時間序列*集合共用 OCUs，即使向量搜尋集合使用與*搜尋*或*時間序列*集合相同的 KMS 金鑰。將針對您的第一個向量集合建立新的一組 OCUs。向量集合的 OCUs 會在相同的 KMS 金鑰集合之間共用。

若要管理集合的容量並控制成本，您可以指定目前帳戶和區域的整體索引編制和搜尋容量上限，而 OpenSearch Serverless 會根據這些規格自動橫向擴展集合資源。

索引編製和搜尋容量會分別調整，因此您可以針對每個容量指定帳戶層級限制：
+ **索引編製容量上限**：OpenSearch Serverless 可將索引編製容量提高到這個數目的 OCU。
+ **搜尋容量上限**：OpenSearch Serverless 可將搜尋容量提高到這個數目的 OCU。

**注意**  
目前，容量設定僅適用於帳戶層級。您無法設定每個集合的容量限制。

您的目標應該是確保容量上限足以處理尖峰工作負載。OpenSearch Serverless 會根據設定，自動橫向擴展集合的 OCU 數目，以處理索引編制和搜尋工作負載。

**Topics**
+ [進行容量設定](#serverless-scaling-configure)
+ [容量限制上限](#serverless-scaling-limits)
+ [監控容量用量](#serverless-scaling-monitoring)

## 進行容量設定
<a name="serverless-scaling-configure"></a>

若要在 OpenSearch Serverless 主控台中進行容量設定，請在左側導覽窗格中，展開 **Serverless** (無伺服器)，然後選取 **Dashboard** (儀表板)。在 **Capacity management** (容量管理) 下指定索引編製和搜尋容量上限：

![容量管理儀表板顯示索引和搜尋的最大容量設定為 10 OCUs。](http://docs.aws.amazon.com/zh_tw/opensearch-service/latest/developerguide/images/ServerlessCapacity.png)


若要使用 設定容量 AWS CLI，請傳送 [UpdateAccountSettings](https://docs.aws.amazon.com/opensearch-service/latest/ServerlessAPIReference/API_UpdateAccountSettings.html) 請求：

```
aws opensearchserverless update-account-settings \
    --capacity-limits '{ "maxIndexingCapacityInOCU": {{8}},"maxSearchCapacityInOCU": {{9}} }'
```

## 容量限制上限
<a name="serverless-scaling-limits"></a>

集合可包含的索引總數上限為 1000。對於這三種類型的集合，預設的 OCU 容量上限為 10 個用於索引OCUs，以及 10 個用於搜尋OCUs。帳戶允許的最小 OCU 容量為 1 個 OCU 【0.5 個 OCU x 2】 用於索引，1 個 OCU 【0.5 個 OCU x 2】 用於搜尋。對於所有集合，允許的容量上限為 1，700 個用於索引OCUs，以及 1，700 個用於搜尋OCUs。您可以將 OCU 計數設定為從 2 到最大允許容量的任何數字，以 2 的倍數表示。

每個 OCU 都包含足夠的暫時性熱儲存，可容納 120 GiB 的索引資料。OpenSearch Serverless 支援*搜尋*和*向量搜尋*集合中每個索引最多 1 TiB 的資料，以及*時間序列*集合中每個索引最多 100 TiB 的熱資料。對於時間序列集合，您仍然可以擷取更多資料，這些資料可以儲存為 S3 中的暖資料。

如需所有配額的清單，請參閱 [OpenSearch Serverless 配額](https://docs.aws.amazon.com/general/latest/gr/opensearch-service.html#opensearch-limits-serverless)。

## 監控容量用量
<a name="serverless-scaling-monitoring"></a>

您可以監控 `SearchOCU` 和 `IndexingOCU` 帳戶層級 CloudWatch 指標，以了解集合的擴展方式。建議您設定警示，以在帳戶接近與容量相關的指標閾值時通知您，如此您就可相應調整容量設定。

您也可使用這些指標，判斷容量上限設定是否合適，或者是否需要進行調整。分析這些指標，以將精力集中於集合效率的優化。如需有關 OpenSearch Serverless 傳送至 CloudWatch 的指標的詳細資訊，請參閱[監控 Amazon OpenSearch Serverless](serverless-monitoring.md)。