本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
快照和還原
執行 Valkey、Redis OSS 或 Serverless Memcached 的 Amazon ElastiCache 快取可以透過建立快照來備份其資料。您可以使用備份來還原快取或將資料植入新的快取。備份包含快取的中繼資料,以及快取中的所有資料。所有備份都會寫入 Amazon Simple Storage Service (Amazon S3),該服務提供耐久性儲存空間。您可以隨時透過建立新的 Valkey、Redis OSS 或 Serverless Memcached 快取,並填入來自備份的資料來還原資料。透過 ElastiCache,您可以使用 AWS Management Console、 AWS Command Line Interface (AWS CLI) 和 ElastiCache API 來管理備份。
如果您打算刪除快取,而且有必要保留資料,您可以採取額外的預防措施。若要達成此目標,請先建立手動備份、確認其狀態為可用,然後刪除快取。這樣做可確保備份失敗時,快取資料仍然可用。您可以依照前述的最佳實務,重試進行備份。
備份限制
規劃或建立備份時,請考慮下列限制:
-
只有在 Valkey、Redis OSS 或 Serverless Memcached 上執行的快取才支援備份和還原。
-
對於 Valkey 或 Redis OSS (停用叢集模式) 叢集,
cache.t1.micro
節點不支援備份和還原。所有其他快取節點類型則受到支援。 -
對於 Valkey 或 Redis OSS (啟用叢集模式) 叢集,所有節點類型都支援備份和還原。
-
在任何連續的 24 小時期間內,每個無伺服器快取建立的手動備份不得超過 24 個。對於 Valkey 和 Redis OSS 自行設計的叢集,您可以在叢集中為每個節點建立不超過 20 個手動備份。
-
Valkey 或 Redis OSS (啟用叢集模式) 僅支援在叢集層級 (適用於 API 或 CLI、複寫群組層級) 上進行備份。Valkey 或 Redis OSS (啟用叢集模式) 不支援在碎片層級 (適用於 API 或 CLI 的節點群組層級) 進行備份。
-
在備份過程中,您無法在無伺服器快取上執行任何其他 API 或 CLI 操作。您可以在備份期間在自行設計的叢集上執行 API 或 CLI 操作。
-
如果您使用具有資料分層的 Valkey 或 Redis OSS 快取,則無法將備份匯出至 Amazon S3。
-
只能將使用 r6gd 節點類型的叢集備份還原到使用 r6gd 節點類型的叢集。
自行設計叢集之備份的效能影響
無伺服器快取上的備份對於應用程式來說公開透明,不會影響效能。然而,在建立自行設計叢集的備份時,根據可用的保留記憶體而定,可能會對效能造成某種程度的影響。自行設計的叢集備份不適用於 ElastiCache for Memcached,但適用於 ElastiCache for Redis OSS。
以下是提升自行設計叢集之備份效能的準則。
-
設定
reserved-memory-percent
參數 - 為了降低過度分頁的風險,建議您設定 reserved-memory-percent 參數。此參數可防止 Valkey 和 Redis OSS 耗用節點的所有可用記憶體,並可協助減少分頁數量。您也可以直接使用更大的節點來提升效能。如需 reserved-memory 和 reserved-memory-percent 參數的詳細資訊,請參閱管理 Valkey 和 Redis OSS 的預留記憶體。 -
從僅供讀取複本建立備份 – 如果您在具有多個節點的節點群組中執行 Valkey 或 Redis OSS,您可以從主要節點或其中一個僅供讀取複本取得備份。由於 BGSAVE 期間所需的系統資源,我們建議您從其中一個僅供讀取複本建立備份。從複本建立備份時,主要節點會保持不受 BGSAVE 資源需求的影響。主要節點可繼續服務請求而不會變慢。
若要執行此操作,請參閱「建立手動備份 (主控台)」,並在 Create Backup (建立備份)視窗裡的 Cluster Name (叢集名稱) 欄位中,選擇複本而非預設主節點。
如果您刪除複寫群組並請求最終備份,ElastiCache 一律會從主節點進行備份。這可確保在刪除複寫群組之前擷取最新的 Valkey 或 Redis OSS 資料。