開始免費使用 AWS

建立免費帳戶
或者,請登入主控台

AWS 免費方案包括 Amazon ElastiCache 提供的 750 小時微型快取節點。

查看 AWS 免費方案詳細資訊 »


問:什麼是適用於 Redis 的 Amazon ElastiCache?

適用於 Redis 的 Amazon ElastiCache 是一種 Web 服務,讓使用者能夠在雲端輕鬆部署和執行與 Redis 協定相容的伺服器節點。此服務可進行 Redis 節點的管理、監控和操作;而且可透過 ElastiCache 主控台、命令列界面或 Web 服務 API 執行節點的建立、刪除和修改。適用於 Redis 的 Amazon ElastiCache 支援 Redis 主/從複寫。

問:適用於 Redis 的 Amazon ElastiCache 協定是否與開放原始碼 Redis 相容?

是,適用於 Redis 的 Amazon ElastiCache 協定與開放原始碼 Redis 相容。客戶目前與其現有的獨立 Redis 資料存放區搭配使用的程式碼、應用程式、驅動程式和工具仍然能與適用於 Redis 的 ElastiCache 搭配使用,將現有 Redis 部署遷移到適用於 Redis 的 ElastiCache 時也不需要變更程式碼,除非另有說明。我們目前支援 Redis 2.6.13、2.8.6、2.8.19、2.8.21、2.8.22、2.8.23、2.8.24、3.2.4、3.2.6 及 3.2.10。

問:適用於 Redis 的 Amazon ElastiCache 如何計費?

請參閱定價頁面了解最新的定價資訊。

問:什麼是適用於 Redis 的 Amazon ElastiCache 節點、叢集和複寫群組?

適用於 Redis 的 Amazon ElastiCache 節點是適用於 Redis 的 Amazon ElastiCache 部署的最小建置區塊。每一個適用於 Redis 的 ElastiCache 節點都支援 Redis 協定,並有其自己的 DNS 名稱和連接埠。支援的適用於 Redis 的 ElastiCache 節點類型有多種類型,每種各有不同的 CPU 功能和相關記憶體。適用於 Redis 的 ElastiCache 節點可能擔任主節點或僅供讀取複本的角色。主節點可複製到多個僅供讀取複本節點。適用於 Redis 的 ElastiCache 叢集是一或多個相同角色的適用於 Redis 的 ElastiCache 節點的集合;主節點位於主叢集中,僅供讀取複本節點位於僅供讀取複本叢集中。目前一個叢集只能有一個節點。未來,我們將提高這個限制。叢集是管理邏輯鍵值空間,其中每個節點負責一部分的鍵值空間。您的大多數管理操作將在叢集層次執行。適用於 Redis 的 ElastiCache 複寫群組會封裝主叢集和僅供讀取複本叢集進行 Redis 安裝。一個複寫群組只有一個主叢集和零或多個僅供讀取複本叢集。複寫群組 (以及隨之產生的叢集) 內的所有節點類型都相同,且有相同的參數和安全群組設定。

問:適用於 Redis 的 Amazon ElastiCache 是否支援 Redis 耐用性?

是。您可以使用備份與恢復功能為您的 Redis 資料拍攝快照,以實現耐用性。請查看這裡了解詳細資訊。

問:如何從適用於 Memcached 的 Amazon ElastiCache 遷移到適用於 Redis 的 Amazon ElastiCache,反之又如何操作?

我們目前不支援從 Memcached 自動遷移到 Redis,反之亦然。但是,您可以使用 Memcached 用戶端從 Memcached 叢集讀取,然後使用 Redis 用戶端寫入 Redis 叢集。同樣地,您可以使用 Redis 用戶端從 Redis 叢集讀取,然後使用 Memcached 用戶端寫入 Memcached 叢集。務必考慮資料格式的差異和兩種引擎之間的叢集組態。

問:適用於 Redis 的 Amazon ElastiCache 是否支援異地同步備份操作?

是,透過適用於 Redis 的 Amazon ElastiCache,您可以在另一個 AWS 可用區域中建立僅供讀取複本。主節點發生故障時,我們將佈建一個新的主節點。在無法佈建主節點的情況下,您可以決定將哪一個僅供讀取複本提升為新的主節點。如需如何處理節點故障的更多詳細資訊,請參閱這裡

問:適用於 Redis 的 Amazon ElastiCache 提供哪些節點故障的選項?

適用於 Redis 的 Amazon ElastiCache 會取得新的服務資源以修復節點,然後將節點的現有 DNS 名稱重新導向到新的服務資源。因此,Redis 節點的 DNS 名稱維持不變,但 Redis 節點的 IP 地址可能隨著時間變更。如果您擁有的複寫群組具有一或多個僅供讀取複本,且已啟用異地同步備份,那麼在主節點發生故障時,ElastiCache 將自動偵測故障、選擇複本並將其提升為新的主節點。它也會傳播 DNS 以便您能夠繼續使用主終端節點,並在提升後指向新提升的主節點。有關更多詳細資訊,請參閱此常見問答集的異地同步備份一節。當選取 Redis 複寫選項但停用異地同步備份時,如果主節點發生故障,您可以選擇啟動容錯移轉到僅供讀取複本節點。容錯移轉目標可以在相同區域或另一個區域中。若要容錯回復到原始區域,要將原始區域中的僅供讀取複本提升為主節點。您可以選擇將應用程式設計為使 Redis 用戶端程式庫重新連接到已修復的 Redis 伺服器節點。由於有些 Redis 程式庫會在遇到通訊錯誤或逾時的時候無限期停止使用伺服器,所有這一點很有用。

問:容錯移轉如何運作?

此常見問答集的異地同步備份部分對於已啟用異地同步備份的複寫群組的容錯移轉行為有所說明。

如果您選擇不啟用異地同步備份,那麼當 Amazon ElastiCache 監控主節點且該節點變成無法使用或無法回應,則適用於 Redis 的 Amazon ElastiCache 會取得新的服務資源以修復節點,然後將節點的現有 DNS 名稱重新導向到新的服務資源。因此,Redis 節點的 DNS 名稱維持不變,但 Redis 節點的 IP 地址可能隨著時間變更。但是,如果無法修復主節點 (且異地同步備份已停用),您可以選擇將其中一個僅供讀取複本提升為新的主節點。請參閱這裡了解如何選擇新的主節點。主節點的終端節點 DNS 記錄將會更新,以指向提升後的僅供讀取複本節點。然後,原始主節點的可用區中的僅供讀取複本節點會建立為複寫群組中的僅供讀取複本,接著成為新的主節點。

問:主節點故障期間,我的僅供讀取複本是否可用?

是,主節點故障期間,僅供讀取複本可繼續為請求提供服務。主節點以修復的節點或提升的僅供讀取複本形式恢復後,僅供讀取複本短時間內將不能為任何請求提供服務,因為它們要從主節點同步快取資訊。

問:如何設定適用於 Redis 的 Amazon ElastiCache 節點的參數?

您可以使用快取參數群組設定您的 Redis 安裝,該參數群組必須是 Redis 叢集的指定參數群組。所有僅供讀取複本叢集都使用其主叢集的參數群組。Redis 參數群組就像是 Redis 組態值的「容器」,這些值可套用到一或多個 Redis 主叢集。如果建立的 Redis 主叢集未指定快取參數群組,會使用預設參數群組。此預設群組包含您計劃執行的節點類型預設值。不過,如果您希望 Redis 主叢集以指定的組態值執行,只要建立一個新快取參數群組、修改所需的參數並修改 Redis 主叢集,即可使用新參數群組。

問:是否可透過 Amazon ElastiCache 主控台存取 Redis?

是,Redis 在 ElastiCache 主控台中顯示為引擎選項。您可以選擇 Redis 引擎,利用啟動精靈建立新的 Redis 快取叢集。您也可以使用 ElastiCache 主控台修改或刪除現有的 Redis 叢集。

問:是否可以在 Amazon VPC 中建立適用於 Redis 的 Amazon ElastiCache 叢集?

是。如果您的帳戶為預設情況下的 VPC,則將在與您的帳戶相關的預設 VPC 內建立您的 Redis 叢集。您可以使用 ElastiCache 主控台,在建立叢集時指定不同的 VPC。

問:適用於 Redis 的 Amazon ElastiCache 是否支援 Redis 的密碼功能?

否,適用於 Redis 的 Amazon ElastiCache 不支援 Redis 密碼。這是因為儲存在組態檔案中的密碼的固有限制。適用於 Redis 的 ElastiCache 叢集與 EC2 安全群組相關,而非依賴 Redis 密碼,而且只有此安全群組內的用戶端才有權存取 Redis 伺服器。

問:如何升級到較新的引擎版本?

使用 ModifyCacheCluster 或 ModifyReplicationGroup API,並針對 EngineVersion 參數指定偏好的引擎版本,即可輕鬆升級到較新的引擎版本。您可以在 ElastiCache 主控台選取快取叢集或複寫群組,然後按一下 "Modify"。在 "Modify Cache Cluster" 或 "Modify Replication Group" 視窗,從可用的選項中選取偏好的引擎版本。引擎升級程序的設計是盡可能保留您現有的資料,且需要 Redis 複寫才能成功。如需關於此程序的更多詳細資訊,請參閱這裡

問:是否可以降級到較早的引擎版本?

否。不支援降級到較早的引擎版本。

問:如何擴展到較大的節點類型?

使用 ModifyCacheCluster 或 ModifyReplicationGroup API,並針對 CacheNodeType 參數指定偏好的節點類型,即可輕鬆擴展到較大的節點類型。您可以在 ElastiCache 主控台選取快取叢集或複寫群組,然後按一下 "Modify"。在 "Modify Cache Cluster" 或 "Modify Replication Group" 視窗,從可用的選項中選取偏好的節點類型。擴展程序的設計是盡可能保留您現有的資料,且需要 Redis 複寫才能成功。如需關於此程序的更多詳細資訊,請參閱這裡

問:可以縮減為較小的節點類型嗎?

目前不支援縮減為較小的節點類型。


問:以僅供讀取複本執行 Redis 快取節點代表什麼意義?

僅供讀取複本在 Redis 有兩個用途:

  • 故障處理
  • 讀取擴展

當您以僅供讀取複本執行快取節點時,「主」節點可同時服務寫入和讀取操作。僅供讀取複本在容錯移轉情況中會「提升」做為「備用」複本。容錯移轉之後,備用複本成為主節點,並接受您的快取操作。您可以透過僅供讀取複本輕鬆彈性地擴展超越單一快取節點的容量限制,以處理高讀取量的快取工作負載。

問:何時應考慮使用 Redis 僅供讀取複本?

許多情況都適合為指定主節點部署一或多個僅供讀取複本。部署僅供讀取複本的常見原因包括:

  • 擴展超越單一主節點的運算或 I/O 容量,以處理高讀取量的資料庫工作負載。這可將過多的讀取流量導向一或多個僅供讀取複本。
  • 在主節點不可用時提供讀取流量。如果您的主節點無法處理 I/O 請求 (例如,由於備份或計劃維護而暫停 I/O),可以將讀取流量導向僅供讀取複本。請注意,在這種使用案例中,因為主執行個體不可用,僅供讀取複本中的資料可能為「過時」狀態。僅供讀取複本還可用於讓故障的主節點重新開始活躍起來。
  • 資料保護情況;在極少見的情況或主節點故障或主節點所在的可用區域變成無法使用的情況下,您可以將不同可用區域中的僅供讀取複本提升為新的主節點。

問:如何為指定的主快取節點部署僅供讀取複本節點?

您可以使用 CreateReplicationGroup API 或在 Amazon ElastiCache 管理主控台按幾下滑鼠,就能在幾分鐘內建立僅供讀取複本。在建立複寫群組時,您要指定 MasterCacheClusterIdentifier。MasterCacheClusterIdentifier 是您想從中複寫的「主」快取叢集的快取叢集識別符。然後,您可以呼叫 CreateCacheCluster API 指定主要叢集的 ReplicationGroupIdentifier 和 CacheClusterIdentifier,在複寫群組中建立僅供讀取複本叢集。和標準快取叢集一樣,您也可以指定可用區域。當您啟動僅供讀取複本的建立時,Amazon ElastiCache 將對主快取叢集拍攝快照,並開始複寫。因此,在拍攝快照時,您的主快取叢集上的 I/O 可能會暫停一下。I/O 暫停一般大約會持續一分鐘。

刪除僅供讀取複本和建立它一樣簡單;只要使用 Amazon ElastiCache 管理主控台或呼叫 DeleteCacheCluster API 即可 (指定要刪除的僅供讀取複本的 CacheClusterIdentifier)。

問:是否可同時建立主節點和僅供讀取複本?

是。您可以使用 CreateReplicationGroup API 或 Amazon ElastiCache 管理主控台中的 "Launch Cache Cluster" 精靈並選擇 "Multi-AZ Replication",在幾分鐘內建立新的快取叢集和僅供讀取複本。建立複寫群組時,為該複寫群組指定一個識別符、該複寫群組中所需叢集的總數,以及快取節點類型、快取引擎版本等快取建立參數。您還可以為該複寫群組中的每個叢集指定可用區域。

問:如何連接到我的僅供讀取複本?

您可以像連接到主快取節點一樣,使用 DescribeCacheClusters API 或 AWS 管理主控台擷取僅供讀取複本的終端節點,以連接到僅供讀取複本。如果您有多個僅供讀取複本,各個複本之間的讀取流量分配方式取決於應用程式。

問:我可以為指定的主快取節點建立多少僅供讀取複本?

Amazon ElastiCache 目前允許您為指定的主快取節點最多建立五 (5) 個僅供讀取複本。

問:如果發生容錯移轉,僅供讀取複本會出現什麼情況?

如果發生容錯移轉,所有關聯和可用的僅供讀取複本在容錯移轉完成之後將自動恢復複寫 (從最新提升的僅供讀取複本取得更新)。

問:是否可以為另一個僅供讀取複本建立僅供讀取複本?

不支援為另一個僅供讀取複本建立僅供讀取複本。

問:是否可將僅供讀取複本提升成「獨立」主快取節點?

否,不支援此操作。但是,您可以為適用於 Redis 的 ElastiCache 節點拍攝快照 (可以選擇主節點或任何僅供讀取複本)。然後,使用快照開拓適用於 Redis 的新 ElastiCache 主節點。

問:僅供讀取複本是否會與其主快取節點一起保持在最新狀態?

主快取節點的更新會自動複製到所有關聯的僅供讀取複本。不過,若利用 Redis 的異步複寫技術,僅供讀取複本可能因為各種原因落後於主快取節點。常見的原因包括:

  • 主快取節點的寫入 I/O 磁碟區速率超過套用變更到僅供讀取複本的速率。
  • 主快取節點和僅供讀取複本之間有網路分割或延遲

僅供讀取複本會受到 Redis 複寫的優缺點影響。如果您正在使用僅供讀取複本,應該會注意到僅供讀取複本與其主快取節點之間可能的延遲或「不一致」。按一下這裡,了解如何找出僅供讀取複本「不一致」的指南。

問:如何查看作用中的僅供讀取複本?

您可以使用標準 DescribeCacheClusters API 返回已部署的所有快取叢集清單 (包括僅供讀取複本),或者直接按一下 Amazon ElastiCache 管理主控台的 "Cache Clusters" 標籤查看。

Amazon ElastiCache 會監控僅供讀取複本的複寫狀態,並在因為任何原因停止複寫時,將 Replication State 欄位更新為 Error。您可以檢視 Replication Error 欄位以查看 Redis 引擎產生的錯誤相關詳細資訊,然後採取適當動作加以恢復。您可以在 Amazon ElastiCache User Guide 的疑難排解僅供讀取複本問題章節,進一步了解有關複寫問題的疑難解答。如果複寫錯誤已修復,Replication State 會變更為 Replicating。

Amazon ElastiCache 允許您透過 Amazon CloudWatch 指標 ("Replica Lag") 查看僅供讀取複本落後於主節點的時間距離,並可透過 AWS 管理主控台或 Amazon CloudWatch API 取得。

問:我的僅供讀取複本已遠遠落後於其主快取節點。我應該怎麼做?

如之前的問題所述,使用 Redis 異步複寫時,僅供讀取複本與其主快取節點之間的「不一致」或延遲很常見。如果現有的僅供讀取複本已遠遠落後,而不能滿足您的要求,您可以重新啟動該複本。請注意,複本延遲可能會隨著時間而自然增大和縮小,這取決於主快取節點的穩定狀態使用模式。

問:如何刪除僅供讀取複本?如果刪除它的主快取節點,是否會自動刪除僅供讀取複本?

只要在 AWS 管理主控台按幾下滑鼠,或將其快取叢集識別符傳送到 DeleteCacheCluster API,即可輕鬆地刪除僅供讀取複本。如果您想要同時刪除主快取節點和僅供讀取複本,則必須使用 DeleteReplicationGroup API 或 AWS 管理主控台。

問:僅供讀取複本的費用為何?如何計算帳單週期?

僅供讀取複本按標準快取節點計費,而且費率相同。就和標準快取節點一樣,僅供讀取複本的每「快取節點小時」費率取決於僅供讀取複本的快取節點類別 – 有關最新的定價資訊,請參閱 Amazon ElastiCache 詳細資訊頁面。主快取節點和僅供讀取複本之間複製資料所產生的資料傳輸不收取費用。僅供讀取複本的帳單週期從成功建立僅供讀取複本之後就馬上開始 (即狀態為「作用中」時)。僅供讀取複本將一直按標準 Amazon ElastiCache 快取節點小時費率計費,直到您發出命令將其刪除為止。

問:容錯移轉時會出現什麼情況?這種情況會持續多久?

Amazon ElastiCache 支援啟動容錯移轉,這樣您可以儘快恢復快取操作。在容錯移轉時,Amazon ElastiCache 會翻轉快取節點的 DNS 記錄以指向僅供讀取複本,僅供讀取複本轉而提升成新的主節點。我們鼓勵您遵循最佳實務,在應用程式層實作快取節點連線重試機制。通常,容錯移轉從開始到結束會在三到六分鐘內完成。

問:是否可以在另一個區域建立僅供讀取複本做為我的主節點?

否。您只能在相同區域的同一可用區域或不同可用區域佈建您的僅供讀取複本做為主快取節點。

問:是否可以查看我的主節點目前位於哪個可用區域?

是。您可以使用 AWS 管理主控台或 DescribeCacheClusters API 查看目前主節點的位置。

容錯移轉後,現在我的主節點與其他 AWS 資源 (例如 EC2 執行個體) 位於不同的可用區域。

問:我是否需要擔心有延遲?

可用區域的設計是將低延遲網路連線能力提供給同一區域中的其他可用區域。此外,您可能要考慮以跨多個可用區域的冗餘建構應用程式及其他 AWS 資源,以便在可用區域發生故障時,應用程式能夠靈活反應。


問:什麼是適用於 Redis 的 ElastiCache 複寫群組的異地同步備份?

適用於 Redis 的 ElastiCache 複寫群組是由一個主節點和最多五個僅供讀取複本組成。Redis 將資料從主節點以非同步方式複製到僅供讀取複本。在特定類型的計劃維護期間,或在少見的 ElastiCache 節點故障或可用區域故障情況下,Amazon ElastiCache 將自動偵測主節點的故障、選擇一個僅供讀取複本並將其提升為新的主節點。ElastiCache 還將傳播所提升僅供讀取複本的 DNS 變更,因此,如果您的應用程式正在寫入主節點的終端節點,則不需要更改終端節點。

問:使用異地同步備份有哪些優點?

在異地同步備份模式下執行適用於 Redis 的 ElastiCache,主要優點為提高可用性與降低管理需求。如果適用於 Redis 的 ElastiCache 主節點發生故障,則對您讀取/寫入主節點能力的影響將限制在完成自動容錯移轉所需要的時間。啟用異地同步備份時,ElastiCache 節點會自動容錯移轉,不需要任何管理。您不再需要監控 Redis 節點,主節點中斷時也不再需要手動啟動恢復。

問:異地同步備份如何運作?

如果您正在使用適用於 Redis 的 ElastiCache,而且複寫群組由一個主節點和一或多個僅供讀取複本組成,則可以使用異地同步備份。如果主節點故障,ElastiCache 將自動偵測該故障,從可用的僅供讀取複本中選擇其一,並將其提升為新的主節點。ElastiCache 將傳播所提升複本的 DNS 變更,因此您的應用程式可繼續寫入主終端節點。ElastiCache 也會擴充一個新節點,以取代與故障主節點位於相同可用區域的已提升僅供讀取複本。如果主節點因可用區域暫時中斷而發生故障,一旦該可用區域恢復,新的複本即會啟動。

問:是否可將相同可用區域中的複本設為主節點?

是。請注意,將主節點和複本放在相同可用區域中並不能使適用於 Redis 的 ElastiCache 複寫群組在可用區域發生故障時靈活反應。

問:什麼情況下會使 Amazon ElastiCache 容錯移轉到僅供讀取複本?

如果發生以下任何情況,Amazon ElastiCache 將會容錯移轉到僅供讀取複本:

  • 主節點的可用區域可用性受損
  • 主可用區域的網路連線能力受損
  • 主可用區域的運算單位故障

問:何時應使用異地同步備份?

Redis 複寫搭配異地同步備份使用可提高可用性和容錯能力。這種部署非常適合在生產環境中使用。

問:如何在已啟用異地同步備份的情況下建立適用於 Redis 的 ElastiCache 複寫群組?

按一下 ElastiCache 管理主控台上的 "Launch Cache Cluster",即可建立適用於 Redis 的 ElastiCache 主節點和僅供讀取複本。另一個方式是呼叫 CreateReplicationGroup API。對於現有的複寫群組 (Redis 2.8.6、2.8.19、2.8.21、2.8.22、2.8.23 及 2.8.24),您可以選擇複寫群組並按一下 ElastiCache 管理主控台上的 Modify 或使用 ModifyReplicationGroup API,以啟用異地同步備份。將複寫群組切換為異地同步備份不會中斷您的 Redis 資料,也不會干擾您的節點為請求提供服務的能力。

問:當主節點發生故障時,將提升哪個僅供讀取複本?

如果有多個僅供讀取複本,將提升對主節點非同步複寫延遲最小的僅供讀取複本。

問:使用異地同步備份成本為何?

異地同步備份功能是免費的。您只需為所使用的 ElastiCache 節點付費。

問:異地同步備份有什麼效能影響?

ElastiCache 目前使用 Redis 引擎的原生異步複寫功能,有其優點和限制。尤其是,當僅供讀取複本首次連接到主節點或主節點變更時,僅供讀取複本會從主節點完整同步資料,對本身和主節點都會施加負載。如需 Redis 複寫的更多詳細資訊,請參閱這裡

問:哪些快取節點類型支援異地同步備份?

ElastiCache 中,除 T1 和 T2 系列之外,所有可用快取節點類型都支援異地同步備份。

問:執行自動容錯移轉時,我是否會收到警示?

是,Amazon ElastiCache 將建立事件,以通知您已執行自動容錯移轉。您可以使用 DescribeEvents API 返回與 ElastiCache 節點相關的事件資訊,或按一下 ElastiCache 管理主控台的 Events 部分。

問:容錯移轉後,現在我的主節點與其他 AWS 資源 (例如 EC2 執行個體) 位於不同的可用區域。我是否需要擔心有延遲?

可用區域的設計是將低延遲網路連線能力提供給同一區域中的其他可用區域。您可能要考慮以跨多個可用區域的冗餘建構應用程式及其他 AWS 資源,以便在可用區域發生中斷時,應用程式能夠靈活反應。

問:可以在哪裡獲得關於異地同步備份的更多資訊?

如需異地同步備份的詳細資訊,請參閱 ElastiCache 文件


問:什麼是備份與恢復?

備份與恢復是一項功能,可讓客戶為適用於 Redis 的 ElastiCache 叢集建立快照。ElastiCache 會儲存這些快照,以便使用者之後用來恢復 Redis 叢集。

問:什麼是快照?

快照是您的整個 Redis 叢集在特定時間點的副本。

問:為什麼需要快照?

如果因為節點故障和少見的硬體故障導致資料遺失,建立快照就非常有用。使用備份的另一個常見原因是用於存檔。快照儲存在 Amazon S3 中,這是一種耐久的儲存,這表示即使電源故障也不會清除您的資料。

問:快照有什麼作用?

您可以使用快照,以預先載入的資料來暖開機適用於 Redis 的 ElastiCache 叢集。

問:備份與恢復如何運作?

啟動備份時,ElastiCache 將拍攝特定 Redis 叢集的快照,之後可將其用於恢復或存檔。您隨時可以選擇啟動備份,也可以設定一個保留期長達 35 天每天重複進行的備份。

當您選擇快照進行恢復時,將會建立一個適用於 Redis 的新 ElastiCache 叢集並填入快照的資料。利用這種方式,您可以從特定的快照建立多個適用於 Redis 的 ElastiCache 叢集。

目前,ElastiCache 使用 Redis 的原生機制建立 RDB 檔案並將其存放為快照。

問:我的快照存放在哪裡?

快照存放在 S3 中。

問:如何開始使用備份與恢復?

您可以選擇透過 AWS 管理主控台、ElastiCache API (CreateCacheCluster、ModifyCacheCluster 和 ModifyReplicationGroup API) 以及 CLI 使用備份與恢復功能。您可以選擇隨時停用和重新啟動此功能。

問:如何指定要備份的 Redis 叢集和節點?

備份與恢復是以叢集為基礎來建立快照。使用者可以透過 AWS 管理主控台、CLI 或 CreateSnapshot API,指定要備份的適用於 Redis 的 ElastiCache 叢集。在複寫群組中,您可以選擇備份主叢集或任何唯讀複本叢集。我們建議使用者啟用其中一個僅供讀取複本的備份,以降低對 Redis 主叢集的延遲影響。

問:如何指定何時備份?

您可以透過 AWS 管理主控台、CLI 或 API 指定開始單次備份或重複備份的時間。使用者能夠:

  • 立即拍攝快照 (透過 "Create Snapshot" 主控台按鈕或 CreateSnapshot API)
  • 設定自動每日備份。備份將在您的偏好備份時段內開始執行。您可以透過主控台或是 CreateCacheCluster、ModifyCacheCluster 或 ModifyReplicationGroup API,使用「建立/修改」叢集來設定。

問:什麼是備份時段?為什麼我需要它?

偏好備份時段是使用者定義的時段,您的適用於 Redis 的 ElastiCache 叢集會在此時段開始備份。如果您需要在每日特定時間備份或避免在特別高使用率期間內備份,偏好備份時段將非常有用。

問:拍攝快照對效能有什麼影響?

拍攝快照時,節點延遲可能會在短時間內增加。快照使用 Redis 的內建 BGSAVE,有其優點和限制。尤其是 Redis 程序分叉時,父程序繼續為請求提供服務而子程序將資料儲存在磁碟上然後結束。快照產生期間,分叉會增加記憶體使用量。當此記憶體使用量超過快取節點可用記憶體的使用量時,將會觸發交換,而且會降低節點速度。因此,我們建議在其中一個僅供讀取複本產生快照 (而非主叢集)。此外,我們也建議設定預留記憶體參數,盡量減少交換使用量。請參閱這裡了解更多詳細資訊。

問:是否可以從適用於 Redis 的 ElastiCache 僅供讀取複本建立快照?

是。從僅供讀取複本建立快照是備份資料同時將效能影響降至最低的最佳方式。

問:可在哪些區域使用備份與恢復功能?

可以使用 ElastiCache 服務的所有區域都可以使用備份與恢復功能。

問:是否可以將適用於 Redis 的 ElastiCache 快照匯出到我擁有的 S3 儲存貯體?

是。您可以將適用於 Redis 的 ElastiCache 快照匯出到與您的叢集位於相同區域中的授權 S3 儲存貯體。有關匯出快照和設定所需許可的詳細資訊,請參閱這裡

問:是否可以從一個區域將快照複製到另一個區域?

是。您必須先將快照複製到相同區域中所選的授權 S3 儲存貯體,然後使用 S3 PUT object- Copy API 將快照複製到另一個區域中的儲存貯體。有關複製 S3 物件的詳細資訊,請參閱這裡

問:我有多個使用適用於 Redis 的 ElastiCache 的 AWS 帳戶。是否可以使用一個帳戶的 ElastiCache 快照來暖開機其他帳戶中適用於 Redis 的 ElastiCache 叢集?

是。您必須先將快照複製到相同區域中所選的授權 S3 儲存貯體,然後將跨帳戶儲存貯體許可授予其他帳戶。有關 S3 跨帳戶許可的詳細資訊,請參閱這裡。最後,在叢集建立期間,透過主控台的 Launch Cache Cluster 精靈或透過 CreateCacheCluster API 指定 RDB 檔案在 S3 中的位置。

問:使用備份與恢復的成本為何?

Amazon ElastiCache 為每個作用中的 Redis ElastiCache 叢集免費提供一個快照的儲存空間。額外儲存將根據快照佔用的空間收取費用,每月 0.085 USD/GB (所有區域的價格相同)。使用快照功能進行的資料傳輸是免費的。

問:什麼是保留期?

保留期是指保留自動快照的時間範圍。例如,如果將保留期設為 5 天,則今天拍攝的快照將會保留 5 天之後才刪除。您可以選擇複製一或多個自動快照並將它們存放為手動快照,以此方式,快照在保留期之後也不會被刪除。

問:如何管理自動快照的保留?

您可以使用 AWS 管理主控台或 ModifyCluster API 修改 RetentionPeriod 參數,以管理自動備份的保留期。如果您希望完全關閉自動備份,可以將保留期設為 0 (不建議)。

問:如果刪除適用於 Redis 的 ElastiCache 叢集,我的快照會出現什麼情況?

當您刪除適用於 Redis 的 ElastiCache 叢集時,會保留您的手動快照。您還可以選擇在刪除叢集之前建立最終快照。自動快取快照則不會保留。

問:哪些快取節點類型支援備份與恢復功能?

除 t1.micro 和 t2 系列外,所有適用於 Redis 的 ElastiCache 執行個體節點類型都支援備份與恢復:

最新一代快取節點:

  • cache.m3.medium
  • cache.m3.large
  • cache.m3.xlarge
  • cache.m3.2xlarge
  • cache.r3.large
  • cache.r3.xlarge
  • cache.r3.2xlarge
  • cache.r3.4xlarge
  • cache.r3.8xlarge

上一代快取節點:

  • cache.m1.small
  • cache.m1.medium
  • cache.m1.large
  • cache.m1.xlarge
  • cache.m2.xlarge
  • cache.m2.2xlarge
  • cache.m2.4xlarge
  • cache.c1.xlarge

問:是否可使用自己存放在 S3 中的 RDB 快照來暖開機適用於 Redis 的 ElastiCache 叢集?

是。在叢集建立期間,您可以透過主控台的 Launch Cache Cluster 精靈或 CreateCacheCluster API 指定 RDB 檔案在 S3 中的位置。

問:如果我在 VPC 中執行 ElastiCache,是否可使用備份與恢復功能?

是。


問:什麼是線上叢集大小調整?

適用於 Redis 的 Amazon ElastiCache 提供從執行中叢集新增和移除碎片的能力。您可以動態擴展或縮減 Redis 叢集工作負載以因應需要的變更。ElastiCache 可透過新增或移除碎片調整叢集的大小,並將雜湊槽平均重新分發到新的碎片組態,執行這些工作時叢集會持續保持線上狀態並繼續服務請求。

問:使用線上叢集大小調整有哪些好處?

動態擴展和縮減叢集的能力可協助您管理應用程式的易變性,並因應不斷變化的需求。您可以透過新增或移除碎片來擴展效能和記憶體內容量,將叢集調整到適當的大小。使用此功能即無須 因應峰值需求而過度佈建叢集,有助於提升效率及降低成本。

問:如何使用線上叢集大小調整?

線上叢集大小調整適用於 Redis 引擎版本 3.2.10。若要 重新碎片 叢集,請選取叢集,然後指定要新增或移除碎片。重新調整叢集大小以進行擴展時,ElastiCache 會新增碎片,然後依計數將槽平均分發到各個碎片,以此方式將槽從現有的碎片遷移到新的碎片。同樣地,重新調整叢集大小以進行縮減時,ElastiCache 會將槽遷移到剩餘的碎片以平均分發槽,然後刪除指定的碎片。

問:執行線上叢集大小調整需花費多久時間?

調整叢集大小所需的時間取決於多個因素,像是叢集需要遷移到各個碎片的槽 數量 、資料大小和傳入的請求率。不過,工作流程已經過優化可平行處理槽遷移,因此可減少新增更多碎片以擴展叢集所花費的時間。

問:調整叢集大小期間是否可使用叢集?

是, 重新碎片 進行期間,叢集會持續保持線上並服務傳入請求。但是,不支援在 重新碎片 期間拍攝叢集快照,以避免增加叢集的負載。

問:這項操作對叢集的效能是否會有影響?

雖然線上叢集大小調整可提供無停機時間的擴展/縮減優勢,但它屬於運算密集型操作,可能會增加用戶端連接的延遲。若要在執行這項操作時降低叢集負載,建議您依照文件中所述的最佳實務操作。

問:如何追蹤線上 重新碎片 操作的進度?

您可以透過查看叢集、 碎片 和節點的狀態追蹤該項操作的進度。操作進行期間,叢集、 碎片 和節點會保持 "modifying" 狀態。同樣地,建立、刪除碎片或參與槽遷移時,個別碎片的狀態會反映這些狀態以顯示進度。此外,端對端操作的狀態也可透過 重新碎片 操作進度指標進行追蹤,該指標可顯示完成百分比,並提供操作剩餘時間的相關資訊。最後,事件訊息會在這項操作進行期間,透過說明採取的動作 (碎片建立、槽遷移等) 來顯示進度。

問:什麼是適用於 Redis 的 ElastiCache 叢集重新平衡操作?

重新平衡操作可將槽重新分發到現有的碎片以達到平均分發。建立叢集時手動指定不平均槽分發或在擴展/縮減操作期間造成叢集分發不平均時,這項功能非常實用。假設每個槽的記憶體和 I/O 需求都相同,以計數平均分發槽是讓碎片達到負載平衡最簡單的方式。

問:標記在叢集擴展時如何運作?

新增節點以擴展叢集時,這些節點都具備所有現有節點共有的相同標籤集。此外,使用者可修改所有節點的標籤,然後繼續照常使用標記。

問:使用線上叢集大小調整是否需要變更用戶端或應用程式?

否。叢集大小調整工作流程使用的增強型槽分發符合 Redis 叢集用戶端行為,不需要進行任何應用程式變更。ElastiCache 會保留叢集終端節點,讓您持續使用現有用戶端,無須任何變更。

問:使用增強型 Redis 引擎的費用為何?

使用增強型 Redis 引擎無須額外付費。如往常一樣,您只需支付使用的節點費用。

 


問:適用於 Redis 的 ElastiCache 動態加密提供哪些功能?

動態加密功能可讓您加密用戶端和 Redis 伺服器間、以及 Redis 伺服器之間 (主要和僅供讀取複本節點) 的所有通訊。

問:適用於 Redis 的 ElastiCache 靜態加密提供哪些功能?

靜態加密可加密備份和恢復期間的資料 – 在磁碟上和透過 Amazon S3 備份和恢復的資料都會加密。

問:如何使用動態加密、靜態加密和 Redis AUTH?

動態加密、靜態加密和 Redis AUTH 都是選用功能。透過主控台或命令列界面建立 Redis 叢集時,您可以指定是否要啟用加密和 Redis AUTH,並繼續為與 Redis 叢集的通訊提供身份驗證字符。叢集設定為啟用加密之後,ElastiCache 就可以順暢地管理憑證過期和更新,應用程式無須執行任何其他動作。此外,Redis 用戶端必須支援 TLS,才能利用加密的動態流量。

問:使用動態加密或靜態加密時,是否有必須使用的適用於 Redis 的 Amazon ElastiCache 用戶端?

否。動態加密需要能支援 TLS 的用戶端。大多數常見的 Redis 用戶端 (如 Lettuce、Predis、go-Redis) 都透過一些組態設定提供 TLS 支援。您必須確定所選擇的 Redis 用戶端設定為支援 TLS,並和之前一樣的使用適用於 Redis 的 ElastiCache。

問:是否可在現有適用於 Redis 的 ElastiCache 叢集上啟用動態加密和靜態加密?

否。動態加密和靜態加密只能在新叢集上使用,現有適用於 Redis 的 ElastiCache 叢集不支援此功能。適用於 Redis 的 ElastiCache 版本 3.2.6 是支援這些功能的最初版本。

問:更新憑證是否需要執行任何動作?

否。ElastiCache 在幕後管理認證過期和更新。使用者不需採取任何動作即可繼續執行憑證維護。

問:是否可將我的憑證用於加密?

否。ElastiCache 目前並未提供您使用憑證的能力。ElastiCache 會以透明的方式為您管理憑證。

問:動態加密和靜態加密支援哪些執行個體類型?

動態加密和靜態加密可支援所有最新一代執行個體。

問:使用加密是否需要額外付費?

使用加密無須額外付費。

 


問:適用於 Redis 的 Amazon ElastiCache 是否為 HIPAA 合格服務?

是,適用於 Redis 的 Amazon ElastiCache 是 HIPAA 合格服務,且已新增到 AWS 商業夥伴增補合約 (BAA)。這表示您可以使用適用於 Redis 的 ElastiCache 協助處理、維護和存放受保護的醫療資訊 (PHI),並為醫療保健應用程式提供支援。

問:要使用 HIPAA 合格服務適用於 Redis 的 ElastiCache,該怎麼做?

如果您擁有與 AWS 共同履行的商業夥伴協議 (BAA),現在可以使用適用於 Redis 的 ElastiCache 建立 HIPAA 合規應用程式。如果沒有 BAA 或對在 HIPAA 合規應用程式使用 AWS 有任何問題,請聯絡我們以取得詳細資訊。請參閱 Amazon Web Services 上的 HIPAA 安全與合規架構,了解如何設定 Amazon HIPAA 合格服務以 存放、 處理和傳輸 PHI 的相關資訊。

問:適用於 Redis 的 ElastiCache 支援哪些合規計劃?

適用於 Redis 的 ElastiCache 支援 SOC 1、SOC 2、SOC 3、ISO、MTCS、 C5 和 HIPAA 等合規計劃。請參閱合規計劃的 AWS 服務範圍 取得 支援的 合規 計劃最新清單。

問:使用合規功能是否需要額外付費?

否,使用合規功能不需額外付費。