

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

# 使用節點型叢集時的升級考量
<a name="VersionManagement-upgrade-considerations"></a>

**注意**  
下列考量僅適用於升級節點型叢集時。不適用 ElastiCache Serverless。

**Valkey 和 Redis OSS 考量事項**

升級節點型 Valkey 或 Redis OSS 叢集時，請考慮下列事項。
+ 引擎版本管理功能是為了讓您能夠盡可能控制執行修補的方式，但在系統或快取軟體可能存在關鍵安全漏洞的情況下，ElastiCache 保留代您修補叢集的權利。
+ 從適用於 Valkey 的 ElastiCache 7.2 版和適用於 Redis OSS 的 ElastiCache 6.0 版開始，ElastiCache 將為每個次要版本提供單一版本，而不是提供多個修補程式版本。
+ 從 Redis OSS 引擎 5.0.6 版開始，您可以在最短的停機時間內升級叢集版本。叢集在整個升級過程中都可供讀取，而在過程的多數時間也可供寫入，除了在容錯移轉操作中會有幾秒可能無法寫入。
+ 您也可以升級 5.0.6 以前版本的 ElastiCache 叢集。所涉及的程序相同，但可能會在 DNS 傳播期間產生較長的容錯移轉時間 (30s-1m)。
+ 從 Redis OSS 7 開始，ElastiCache 支援在 Valkey 或 Redis OSS （停用叢集模式） 與 Valkey 或 Redis OSS （啟用叢集模式） 之間切換。
+ Amazon ElastiCache for Redis OSS 引擎升級程序旨在盡最大努力保留現有的資料，並需要成功的 Redis OSS 複寫。
+ 升級引擎時，ElastiCache 會終止現有的用戶端連線。為了在引擎升級期間將停機時間降至最低，我們建議您使用錯誤重試和指數退避為 [Redis OSS 用戶端實作最佳實務](BestPractices.Clients.redis.md)，以及將[維護期間的停機時間降至最低](BestPractices.MinimizeDowntime.md)的最佳實務。
+ 升級引擎時，您無法直接從 Valkey 或 Redis OSS （停用叢集模式） 升級到 Valkey 或 Redis OSS （啟用叢集模式）。下列程序說明如何從 Valkey 或 Redis OSS （停用叢集模式） 升級到 Valkey 或 Redis OSS （啟用叢集模式）。

**從 Valkey 或 Redis OSS （停用叢集模式） 升級到 Valkey 或 Redis OSS （啟用叢集模式） 引擎版本**

  1. 備份您的 Valkey 或 Redis OSS （停用叢集模式） 叢集或複寫群組。如需詳細資訊，請參閱[取得手動備份](backups-manual.md)。

  1. 使用備份建立並植入具有一個碎片 （節點群組） 的 Valkey 或 Redis OSS （啟用叢集模式） 叢集。指定新的引擎版本，並在建立叢集或複寫群組時啟用叢集模式。如需詳細資訊，請參閱[教學課程：使用外部建立的備份來植入新的節點型叢集](backups-seeding-redis.md)。

  1. 刪除舊的 Valkey 或 Redis OSS （停用叢集模式） 叢集或複寫群組。如需詳細資訊，請參閱 [在 ElastiCache 中刪除叢集](Clusters.Delete.md) 或 [刪除複寫群組](Replication.DeletingRepGroup.md) 。

  1. 將新的 Valkey 或 Redis OSS （啟用叢集模式） 叢集或複寫群組擴展為您需要的碎片數量 （節點群組）。如需詳細資訊，請參閱[擴展 Valkey 或 Redis OSS （啟用叢集模式） 叢集](scaling-redis-cluster-mode-enabled.md)
+ 升級主要引擎版本 (例如從 5.0.6 升級到 6.0) 時，還需要選擇一個與新引擎版本相容的新參數群組。
+ 對於停用異地同步備份的單一 Redis OSS 叢集和叢集，我們建議將足夠的記憶體提供給 Redis OSS，如中所述[確保您有足夠的記憶體來建立 Valkey 或 Redis OSS 快照](BestPractices.BGSAVE.md)。在這類案例中，主要叢集將無法在升級期間處理服務的請求。
+ 對於啟用異地同步備份的 Redis OSS 叢集，我們也建議您在低傳入寫入流量期間排程引擎升級。升級到 Redis OSS 5.0.6 或更新版本時，主要叢集在升級程序期間仍可繼續供服務請求使用。

  系統會依下列方式處理及修補含多個碎片的叢集和複寫群組：
  + 所有碎片都會平行處理。不論任何時間，一個碎片上都只能執行一項升級操作。
  + 在每個碎片中，都會先處理所有複本，再處理主要複本。如果某個碎片中的複本較少，則該碎片中的主要複本可能會在其他碎片的複本處理完成前就已處理。
  + 跨所有碎片時，則會循序處理主要節點。一次只會升級一個主要節點。
+ 如果您目前的叢集和複寫群組已啟用加密功能，就無法升級到不支援加密的引擎版本，例如從 3.2.6 升級到 3.2.10。

**Memcached 考量事項**

升級節點型 Memcached 叢集時，請考慮下列事項。
+ 引擎版本管理功能是為了讓您能夠盡可能控制執行修補的方式，但在系統或快取軟體可能存在關鍵安全漏洞的情況下，ElastiCache 保留代您修補叢集的權利。
+ 由於 Memcached 引擎不支援永久儲存，因此 Memcached 引擎版本升級一定是破壞性程序，並會清除叢集中的所有快取資料。