擴展 Amazon DocumentDB 集群 - Amazon DocumentDB

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

擴展 Amazon DocumentDB 集群

Amazon DocumentDB 可讓您根據自己的需求擴展叢集中的儲存和運算。本節說明如何使用儲存擴展、執行個體擴展和讀取擴展來管理 Amazon DocumentDB 叢集和執行個體的效能和擴展。

儲存體擴展

Amazon DocumentDB 儲存會隨叢集磁碟區中的資料自動擴展。隨著資料的增長,叢集磁碟區儲存會以 10 GiB 的增量增長,最高可達 128 TiB。

執行個體擴展

您可以透過修改叢集中每個執行個體的執行個體類別,視需要擴展 Amazon DocumentDB 叢集。Amazon DocumentDB 支持針對 Amazon DocumentDB 優化的多個實例類別。

如需詳細資訊,請參閱 修改 Amazon DocumentDB 實例

讀取擴展

您可以在叢集中建立最多 15 個 Amazon DocumentDB 複本,以實現 Amazon DocumentDB 叢集的讀取擴展。每個 Amazon DocumentDB 複本都會從叢集磁碟區傳回相同的資料,但最少的複本延遲時間 — 通常在主執行個體寫入更新後不到 100 毫秒。隨著讀取流量的增加,您可以建立額外的 Amazon DocumentDB 複本並直接連線到這些複本,以分配叢集的讀取負載。Amazon DocumentDB 複本不一定要與主執行個體屬於相同的執行個體類別。

如需詳細資訊,請參閱 將 Amazon DocumentDB 執行個體新增至叢集

若要使用 Amazon DocumentDB 讀取擴展,建議您以複本集的形式連接到叢集,並使用驅動程式的內建讀取偏好設定功能將讀取分發到複本執行個體。如需詳細資訊,請參閱 以複本集形式連接至 Amazon DocumentDB

寫入縮放

您可以透過增加叢集主執行個體的大小來擴展 Amazon DocumentDB 叢集的寫入容量。本節提供兩種方法,可根據您的需求調整叢集的主要執行個體。第一個選項旨在將應用程式的影響降至最低,但需要更多步驟才能完成。第二個選項針對簡易性進行最佳化,因為它的步驟較少,但會對您的應用程式產生更多潛在的折衷影響。

視您的應用程式而定,您可以選擇最適合您的以下方法。如需有關可用執行個體大小和成本的詳細資訊,請參閱 Amazon DocumentDB 定價頁面。

  1. 針對高可用性和效能進行最佳化 — 如果您要以複本集模式連線到叢集 (建議使用),您可以使用下列程序將擴展主執行個體時對應用程式的影響降到最低。此方法可將影響降至最低,因為它使叢集維持在高可用性或高於高可用性的水準,而讀取擴展目標會作為執行個體新增至叢集,而不是就地更新。

    1. 將一或多個較大執行個體類型的複本新增至叢集 (請參閱將 Amazon DocumentDB 執行個體新增至叢集)。建議所有複本具有與主要執行個體類型相同或更大的執行個體類型。這樣可以避免不小心降低寫入效能,從容錯移轉到較小的執行個體類型。對大多數客戶而言,這表示將叢集中的執行個體數目暫時增加一倍,然後在擴展完成後移除較小的複本。

    2. 將所有新複本上的容錯移轉層設定為優先順序為零,確保較小執行個體類型的複本具有最高的容錯移轉優先順序。如需詳細資訊,請參閱 控制容錯移轉目標

    3. 初始化手動容錯移轉,將其中一個新複本升級為主要執行個體。如需詳細資訊,請參閱 測試容錯移轉

      注意

      這將導致您的叢集停機約 30 秒。請據此進行相應計劃。

    4. 從叢集中移除小於新主要執行個體類型的所有複本。

    5. 將所有執行個體的容錯移轉層設定回相同的優先順序 (通常,這表示會將它們設定回 1)。

    舉例來說,假設您的叢集目前包含三個 r5.large 執行個體 (一個主要和兩個複本),而您想要擴展到 r5.xlarge 執行個體類型。若要執行這項操作,您必須先將三個 r5.xlarge 複本執行個體新增至叢集,然後將新 r5.xlarge 複本的容錯移轉層設定為零。接下來,您將啟動手動容錯移轉 (您的應用程式將停機約 30 秒)。容錯移轉完成後,您會從叢集中移除所有三個 r5.large 執行個體,使叢集擴展至 r5.xlarge 執行個體。

    為協助優化成本,Amazon DocumentDB 執行個體以一秒遞增方式計費,在建立、修改或刪除執行個體等可計費狀態變更後,最低收費十分鐘。如需詳細資訊,請參閱最佳實務文件中的成本最佳化

  2. 優化簡單性-此方法優化簡單性。它不會擴展和收縮叢集,但可能會暫時降低您的讀取容量。

    變更複本的執行個體類別可能會導致該執行個體在短暫的時間內無法提供要求,從幾秒鐘到少於 30 秒。如果您以複本集模式連線到叢集 (建議使用),這會在擴充作業期間減少一個複本的讀取容量 (例如,3 節點叢集中的 66% 容量,或 4 節點叢集中 75% 的容量等)。

    1. 擴展叢集中的其中一個複本執行個體。如需詳細資訊,請參閱 管理執行個體類別

    2. 請等待執行個體可用 (請參閱監控 Amazon DocumentDB 執行個體的狀態)。

      注意

      這將導致您的叢集停機約 30 秒。請據此進行相應計劃。

    3. 繼續執行步驟 1 和 2,直到所有複本執行個體都已逐個調整為止。

    4. 起始手動容錯移轉。這會將其中一個複本提升為主要執行個體。如需詳細資訊,請參閱 Amazon DocumentDB 容錯移轉

      注意

      這將導致叢集最多 30 秒的停機時間,但通常所花費的時間比這更少。請據此進行相應計劃。

    5. 擴展前一個主要執行個體 (現在是複本) 執行個體。