我收到 Amazon ElastiCache 自助服務更新的通知,我想知道我需要採取哪些動作。
簡短描述
Amazon ElastiCache 會自動監控您的 Redis 和 MemCached 節點機群,以便在服務更新可用時套用服務更新。服務更新有助於強化 Amazon ElastiCache 的安全性、可靠性和營運效能。一般而言,您會設定預先定義的維護時段,以便 Amazon ElastiCache 可以套用這些更新。但是,在某些情況下,您可能會發現此方法過於嚴格,並且可能會限制您的業務流程。自助服務更新功能可讓您自行決定套用更新。
解決方法
如何檢視服務更新通知?
如果您有合格的叢集,Amazon ElastiCache 會透過下列方法通知您可用的更新:
- ElastiCache 主控台通知
- 電子郵件
- Amazon Simple Notification Service (SNS) 訊息
- AWS Personal Health Dashboard (PHD) 通知
- Amazon CloudWatch Events
在整個更新生命週期中,您可能會收到多個服務更新通知。您收到的服務更新通知數量取決於更新的類型,例如強制更新或非強制更新。通知也取決於您在叢集上執行的動作。例如,如果您在截止日期前套用強制更新,就不會收到提醒或自動更新通知。
如需設定 SNS 通知的相關資訊,請參閱監視 ElastiCache 事件。
**注意:**對於在服務更新說明中指定的發行日期之後啟動或取代的節點,不會傳送通知。
如何查看可用的服務更新?
收到有關可用服務更新的通知後,您可以使用 AWS Command Line Interface (AWS CLI) describe-service-updates命令擷取這些更新。如需詳細資訊,請參閱 describe-service-updates。
注意: 如果您在執行 AWS CLI 命令時收到錯誤,請確定您使用的是最新版本的 AWS CLI。
您也可以從 ElastiCache 主控台檢查可用的服務更新。請遵循下列指示從主控台檢視更新:
- 開啟 ElastiCache 主控台。
- 選擇服務更新。您可以檢視 ElastiCache 機群的所有服務更新、說明和狀態。
如何判斷服務更新中有哪些修正?
檢查服務更新詳細資料中的更新說明一節,以瞭解修正程式或改進。
如何套用服務更新?
您可以在服務更新發行且可用時立即套用服務更新。最佳做法是在收到服務更新通知後,儘快套用更新。
若要在叢集上套用服務更新,請執行 AWS CLI batch-apply-update-action 命令。如需詳細資訊,請參閱 batch-apply-update-action。
若要使用 ElastiCache 主控台套用服務更新,請遵循下列指示
- 開啟 ElastiCache 主控台。
- 選擇服務更新。
- 選取您要套用的服務更新,然後選擇立即套用。如需詳細資訊,請參閱使用主控台套用服務更新。
注意:您只能套用狀態為可用或已排程的服務更新。
套用服務更新有什麼影響?
對於 Redis,更新在每個碎片中一次最多套用至一個節點。正在更新的節點會經歷幾秒鐘的停機時間,而 Redis 叢集的其餘部分則會繼續為流量提供服務。在某些執行個體組態和流量模式中,取代作業可能需要較長時間。例如,Redis 主節點可能沒有足夠的可用記憶體,而且可能會遇到很高的寫入流量。
針對 Memcached 節點,取代程序會顯示空白的新節點,並終止目前的節點。會移除快取內容以重新開始。在交換期間,新節點會在短時間內無法使用。交換後,您的應用程式可能會在空白的新節點中填入快取資料時面臨效能下降。為了將影響降至最低,更新會一次套用至一個節點。由於 Memcached 節點不需要同步,因此無論節點大小如何,其取代都會更快完成。
**注意:**對於 Redis 和 MemCached,叢集組態沒有變化。您可能會在 Amazon CloudWatch 指標中看到延遲,這些指標會盡快趕上。
若要將服務更新期間的影響降到最低,請參閱 Amazon ElastiCache 受管維護和服務更新說明頁面中的以下三個問題:
- 節點取代需要多久時間?
- 節點取代對我的應用程式有何影響?
- 我應該遵循哪些最佳做法,以獲得順暢的取代體驗並將資料遺失降到最低?
服務更新是強制性的嗎?
如果到期日之後自動更新屬性設定為是,則服務更新是強制性且必須套用。
如果服務更新套用截止日期已過,該怎麼辦?
如果您未在套用截止日期前套用更新,Amazon ElastiCache 會開始在維護時段中排定更新。更新會排定在叢集的維護時段中。您將在排定日期前一週收到新通知。Amazon ElastiCache 不會在沒有事先通知的情況下,在您的維護時段套用更新。
注意:即使在套用截止日期之後,您仍然可以在排定的自動更新日期之前套用服務更新。套用更新之後,排定的自動更新就會作廢。
如何處理過期的服務更新?
您無法套用過期的服務更新。但是,新節點包含所有適用的服務更新。您可以手動取代尚未更新的現有節點,以取得最新更新。在服務更新的發行日期之後啟動的節點會自動接收過去的更新。如需有關手動取代節點的詳細資訊,請參閱取代節點 (Redis) 和 取代節點 (MemCached)。
注意:如果您在更新到期日之前錯過套用更新,則更新會包含在下一次服務更新中。
如果同一個叢集有多個服務更新,該怎麼辦?
服務更新始終是累積的。如果您對同一個叢集有多個可以改善安全性和效能的服務更新,您可以套用最新的服務更新。所有未完成的適用更新都會套用。
如何重新排定強制服務更新?
安全是共同的責任。因此,最佳做法是盡快套用服務更新。如果排定的時間不適合您,您可以透過變更維護時段來延遲服務更新。在您變更維護時段且排定日期已過之後,服務更新會在接下來的幾週內重新排定至新指定的時段。您會在新日期前一週收到新通知。
如何重新排定選擇性的服務更新?
最佳作法是及時套用所有自助服務更新以維持合規性,而不論更新是否為強制性。如果服務更新的屬性到期日之後自動更新 設定為否,則 Amazon ElastiCache 不會自動套用更新。如果您未在更新到期日之前安裝更新,則會略過該更新,而且不需要採取任何動作。如果您想要套用過期的更新,請參閱上一節: 如何處理過期的服務更新?
如何取得其他協助?
如果在套用服務更新期間或之後發現問題,請聯絡 AWS Support 團隊。
相關資訊
ElastiCache for Redis 的服務更新