變更我的 ElastiCache for Redis 節點類型時,如何疑難排解錯誤?

1 分的閱讀內容
0

變更我的 Amazon ElastiCache for Redis 節點類型時,該選項無法使用、變更未生效,或是收到錯誤訊息。我該如何疑難排解這些問題?

簡短描述

以下是變更 Redis 節點類型時發生問題的常見原因:

  • 目標節點類型上的記憶體不足。
  • 容量不足。
  • 彈性網路界面不足。
  • 指定的節點類型在可用區域中無法使用。
  • Redis 引擎版本不支援目標節點類型。
  • ApplyImmediately 參數設定為 false。
  • 高節點使用率。

解決方案

**注意:**您可以使用 ElastiCache 事件AWS CloudTrail 取得進一步的見解,並檢視相關的錯誤訊息。

目標節點類型上的記憶體不足

請確定新節點類型足以容納所有資料和所需 Redis 開銷。Amazon CloudWatch 提供 Amazon ElastiCache 下的 Redis 指標。請確定 BytesUsedForCache 指標中顯示的目前總記憶體使用量低於目標節點類型的容量上限

如果 BytesUsedForCache 指標高於目標節點類型的容量上限,則您會收到下列錯誤訊息:

Failed to scale down to cache node type Replication Group <replication_group_name> because the node has insufficient memory. Please select a different node type or reduce current memory usage and retry.

**注意:**根據預設,每個快取節點都有 25% 的記憶體預留供非資料使用和背景寫入使用。此數量是在 reserved-memory-percent 參數中設定的。此預留記憶體可將用於快取資料的最大記憶體減少 25%。這表示可用於資料的記憶體容量較低。您可以修改預留的記憶體數量,以變更可用於快取資料的最大記憶體。此變更需要建立自訂參數群組,因為您無法修改預設參數群組。不過,將預留記憶體百分比設定為 0 可能會導致某些叢集作業 (例如快照) 失敗。

如需快取資料大小和記憶體使用量的相關指示,請參閱為什麼我無法縮減我的 ElastiCache 叢集規模?

容量不足

InsufficientCacheClusterCapacity 錯誤表明 Amazon ElastiCache 無法根據要求從指定的可用區域分配任意數量的執行個體。如需解決此錯誤的相關資訊,請參閱錯誤訊息:InsufficientCacheClusterCapacity

彈性網路界面不足

請確定您有足夠的彈性網路界面容量。如有需要,請使用服務配額增加限值。如需詳細資訊,請參閱如果我已達到 AWS 區域中的限制,如何獲得更多彈性網路界面?

指定的節點類型在可用區域中不可用

如果您使用指定的可用區域中不支援的節點類型,則您會收到下列 InvalidParameterValue 錯誤訊息︰

Specified node type <node_type> is not available in AZ <availability_zone>

如需有關可用節點類型的指示,請參閱為什麼我無法縮減我的 ElastiCache 叢集規模?

Redis 引擎版本不支援目標節點類型

某些節點類型需要較高版本的 Redis 引擎。如需詳細資訊,請參閱支援的節點類型

升級為此節點類型之前,請先升級 Redis 引擎版本

ApplyImmediately 參數設定為 false

如果 ApplyImmediately 參數設定為 false,則會在下次維護重新開機或下次失敗重新開機時 (以先發生者為準) 套用複製群組中節點的變更。如果必須立即變更,請將此參數設定為 true。

**備註:**節點類型變更需要的時間取決於節點類型以及叢集中的資料量。最佳做法是在叢集的流量最低時執行升級。

高節點使用率

修改期間叢集上的繁重工作負載可能會干擾 ElastiCache 工作流程。最佳做法是在低資料流量時間內啟動節點修改。


AWS 官方
AWS 官方已更新 2 年前