ElastiCache 元件和功能 - Amazon ElastiCache

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

ElastiCache 元件和功能

接下來,您可以找到 Amazon ElastiCache 部署主要元件的概觀。

ElastiCache 節點

節點是 ElastiCache 部署的最小建置區塊。節點可以與其他節點隔離而獨立存在,或與其他節點以某種關係存在。

節點是固定大小的安全網路連接 區塊RAM。每個節點都會執行當您建立叢集時所選擇的引擎和版本執行個體。您可視需要將叢集中的節點垂直擴展或縮減為不同的執行個體類型。如需詳細資訊,請參閱擴展 ElastiCache

叢集中每個節點的執行個體類型都相同,並且執行相同的快取引擎。每個快取節點都有自己的網域名稱服務 (DNS) 名稱和連接埠。支援多種類型的快取節點,每個節點都有各種數量的相關記憶體。如需支援的節點執行個體類型清單,請參閱支援的節點類型

您可以購買節點 pay-as-you-go,其中您只需為節點的使用付費。或以大幅降低的每小時費率購買預留節點。如果您的用量很高,購買預留節點可以為您節省成本。假設您的叢集幾乎總是在使用中,且您會偶爾新增節點來處理使用尖峰。在此情況下,您可以購買多個預留節點來在大多數時間執行。然後,您可以在偶爾需要新增節點的時間購買 pay-as-you-go節點。如需預留節點的詳細資訊,請參閱預留節點

如需節點的詳細資訊,請參閱在 中管理節點 ElastiCache

ElastiCache 碎片

Valkey 或 Redis OSS 碎片 (在 API和 中稱為節點群組CLI) 是一到六個相關節點的群組。啟用叢集模式的 Valkey 或 Redis OSS叢集一律至少有一個碎片。

碎片化是一種資料庫分割方法,可將大型資料庫分割為更小、更快速且更易於管理的區塊,稱為資料碎片。這可以透過在多個不同的區段中分佈操作來提高資料庫效率。使用碎片可以提供許多好處,包括改善效能、可擴展性和成本效益。

啟用叢集模式的 Valkey 和 Redis OSS叢集最多可以有 500 個碎片,您的資料會分割到碎片。如果 Valkey 或 Redis OSS引擎版本為 5.0.6 或更新版本,節點或碎片限制可以增加到每個叢集最多 500 個。例如,您可以選擇設定具有 500 個節點的叢集,並容許碎片在 83 個(每個碎片一個主要版本和 5 個複本)到 500 個(單一主要版本並且沒有複本)之間變化。請確保有足夠的可用 IP 地址來容納增加的數量。常見陷阱包括子網路群組中的子網路CIDR太小,範圍太小,或者子網路被其他叢集共用和大量使用。如需詳細資訊,請參閱建立子網路群組。對於 5.0.6 以下的版本,每個叢集的限制為 250 個。

若要請求提高配額,請參閱 AWS 服務配額,並選擇配額類型 Nodes per cluster per instance type (每執行個體類型每叢集的節點數)

多個節點碎片實作複寫的方式,是使用一個讀/寫主節點及 1 至 5 個複本節點。如需詳細資訊,請參閱使用複寫群組的高可用性

如需碎片的詳細資訊,請參閱在 中使用碎片 ElastiCache

ElastiCache 叢集

叢集是一或多個節點 的邏輯分組。資料會跨 Memcached 叢集中的節點分割,並跨啟用叢集模式的 Valkey 或 Redis OSS叢集中的碎片分割。

許多 ElastiCache 操作以叢集為目標:

  • 建立叢集

  • 修改叢集

  • 擷取叢集的快照 (所有 Redis 版本)

  • 刪除叢集

  • 在叢集中檢視元素

  • 從叢集中新增或移除成本配置標籤

如需詳細資訊,請參閱下列相關主題:

一般叢集組態

以下是一般叢集組態。

Valkey 或 Redis OSS叢集

停用叢集模式的 Valkey 或 Redis OSS叢集一律只包含一個碎片 (在 API和 中CLI,一個節點群組)。Valkey 或 Redis OSS 碎片包含一到六個節點。如果一個碎片中有多個節點,該碎片便可支援複寫。在這種情況下,一個節點是讀/寫主節點,其他節點則是唯讀複本節點。

為了改善容錯能力,我們建議在 Valkey 或 Redis OSS叢集中至少有兩個節點,並啟用多可用區域。如需詳細資訊,請參閱減少故障

隨著 Valkey 或 Redis OSS叢集的需求變更,您可以進行擴展或縮減。若要這麼做,請將叢集移至不同的節點執行個體類型。如果您的應用程式需要密集讀取,建議您將僅供讀取複本新增至叢集。如此一來,您就可以將讀取作業分散在更適當數量的節點間。

您也可以使用資料分層。將較常存取的資料存放在記憶體中,而較不常存取的資料存放在硬碟上。使用資料分層的優點在於可降低記憶體需求。如需詳細資訊,請參閱中的資料分層 ElastiCache

ElastiCache 支援動態將 Valkey 或 Redis OSS叢集的節點類型變更為較大的節點類型。如需擴展或縮減的資訊,請參閱擴展 Valkey 或 Redis 的單節點叢集 OSS(停用叢集模式)擴展 Valkey 或 Redis 的複本節點 OSS(停用叢集模式)

Memcached 的一般叢集組態

Memcached 支援每個 AWS 區域每個客戶最多 300 個節點,每個叢集都有 1–60 個節點。您可將您的資料分割到 Memcached 叢集的各節點中。

當您執行 Memcached 引擎時,叢集可以由 1–60 個節點組成。您可將您的資料庫分割至各節點中。您的應用程式會讀取和寫入每個節點的端點。如需詳細資訊,請參閱自動探索

為了改善容錯能力,請在叢集的 AWS 區域內的各種可用區域 (AZs) 中尋找 Memcached 節點。如此一來,單一 AZ 中的故障,對整個叢集和應用程式的影響會降到最低。如需詳細資訊,請參閱減少故障

隨著 Memcached 叢集的需求變更,您可以透過新增或移除節點來擴展或縮減節點,在節點的新數量之間重新分割資料。當您分割資料時,建議您使用一致性雜湊。如需一致性雜湊的詳細資訊,請參閱 設定您的 ElastiCache 用戶端以進行有效的負載平衡 (Memcached)

ElastiCache 複寫

對於 Valkey 和 Redis OSS,複寫是透過碎片中從兩個到六個節點 (在 API和 中CLI,稱為節點群組) 進行分組來實作。其中一個節點是讀取/寫入主要節點。所有其他節點則是唯讀複本節點。複寫僅適用於 ElastiCache 搭配 Valkey 和 Redis 的 OSS,不適用於 ElastiCache (Memcached)。

每個複本節點都會保有從主要節點取得的資料複本。複本節點使用非同步複寫機制,與主要節點保持同步。應用程式可以從叢集中的任何節點讀取,但只能寫入到主要節點。僅供讀取複本可藉由將讀取分佈到多個端點來增強擴展性。僅供讀取複本也可藉由保留多個資料複本來提升容錯能力。將僅供讀取複本放置在多個可用區域可進一步提升容錯能力。如需容錯能力的詳細資訊,請參閱減少故障

Valkey 或 Redis OSS叢集支援一個碎片 (在 API和 中CLI,稱為節點群組 )。

從 API和 CLI角度複寫使用不同的術語來維持與先前版本的相容性,但結果相同。下表顯示實作複寫的 API和 CLI術語。

比較複寫:Valkey 或 Redis OSS(停用叢集模式) 和 Valkey 或 Redis OSS(啟用叢集模式)--> 啟用叢集模式的 Valkey 或 Redis OSS叢集與停用叢集模式的 Valkey 或 Redis OSS叢集

在下表中,您可以找到 Valkey 或 Redis OSS(停用叢集模式) 和 Valkey 或 Redis OSS(啟用叢集模式) 複寫群組的功能比較。

停用OSS叢集模式的 Valkey 或 Redis 叢集 啟用OSS叢集模式的 Valkey 或 Redis 叢集
碎片 (節點群組) 1 1-500  
每個碎片的複本 (節點群組) 0 - 5 0 - 5
資料分割
新增/刪除複本
新增/刪除節點群組
支援擴展
支援引擎升級
提升複本為主要 自動
Multi-AZ 選用 必要
備份/還原
備註
如果主節點沒有複本而主節點失敗,您會遺失該主節點的所有資料。
您可以使用備份和還原來遷移至 Valkey 或 Redis OSS(啟用叢集模式)。
您可以使用備份和還原來調整 Valkey 或 Redis OSS(啟用叢集模式) 叢集的大小。

所有碎片 (在 API和 中CLI,節點群組) 和節點都必須位於相同的 AWS 區域中。不過,您可以在該 AWS 區域內的多個可用區域中佈建個別節點。

僅供讀取複本可防止資料遺失,因為您的資料是透過兩個或多個節點 (主節點和一或多個僅供讀取複本) 進行複寫。為了取得更佳的可靠性和更快的復原速度,建議您在不同可用區域內建立一或多個僅供讀取複本。

您也可以利用全域資料儲存。透過使用 Global Datastore for Redis OSS功能,您可以跨 AWS 區域使用完全受管、快速、可靠和安全的複寫。使用此功能,您可以為 建立跨區域僅供讀取複本叢集 ElastiCache ,以跨 AWS 區域啟用低延遲讀取和災難復原。如需詳細資訊,請參閱使用全域資料存放區跨 AWS 區域複寫

複寫:限額和排除
  • 節點類型 T1 不支援多個可用區。

ElastiCache 端點

端點是應用程式用來連線至 ElastiCache 節點或叢集的唯一地址。

停用叢集模式的 Valkey 或 Redis OSS的單一節點端點

單一節點 Valkey 或 Redis OSS叢集的端點用於連線至叢集進行讀取和寫入。

停用OSS叢集模式的 Valkey 或 Redis 的多節點端點

停用叢集模式的多節點 Valkey 或 Redis OSS叢集有兩種端點類型。主要端點一律會連線到叢集中的主要節點,即使主要角色中的特定節點變更也一樣。使用主要端點對叢集進行所有寫入。

使用「讀取器端點」來將傳入連線平均分散在所有讀取複本間的端點中。使用個別節點端點進行讀取操作 (在 API/CLI 中,這些端點稱為讀取端點)。

Valkey 或 Redis OSS(啟用叢集模式) 端點

啟用OSS叢集模式的 Valkey 或 Redis 叢集具有單一組態端點。只要連線到組態端點,您的應用程式就可以探索叢集中每個碎片的主要和讀取端點。

如需詳細資訊,請參閱在 中尋找連線端點 ElastiCache

ElastiCache (Memcached) 端點

Memcached 叢集中的每個節點都有自己的端點。叢集也具有稱為「組態端點」的端點。如果您啟用自動探索並連線至組態端點,您的應用程式會自動「知道」每個節點端點,即使是在叢集新增或移除節點後。如需詳細資訊,請參閱自動探索

如需詳細資訊,請參閱 端點

ElastiCache 參數群組

快取參數群組是用於管理受支援引擎軟體之執行時間設定的便利方式。參數用於控制記憶體用量、移出政策、項目大小等等。 ElastiCache 參數群組是引擎特定參數的命名集合,您可以套用至叢集。藉由執行此操作,您可以確保該叢集中的所有節點都以完全相同的方式設定。

如需支援的參數清單、其預設值以及可修改的參數,請參閱 DescribeEngineDefaultParameters (CLI: describe-engine-default-parameters).

如需 ElastiCache 參數群組的詳細資訊,請參閱 使用參數群組設定引擎 ElastiCache 參數

ElastiCache 安全性

為了增強安全性, ElastiCache 節點存取僅限於您允許之 Amazon EC2執行個體上執行的應用程式。您可以使用安全群組控制可存取叢集的 Amazon EC2執行個體。

根據預設,所有新 ElastiCache 叢集都會在 Amazon Virtual Private Cloud (AmazonVPC) 環境中啟動。您可以使用子網路群組,授予在特定子網路上執行之 Amazon EC2執行個體的叢集存取權。

除了限制節點存取之外,還支援執行指定版本 的節點 ElastiCache TLS和就地加密 ElastiCache。如需詳細資訊,請參閱下列內容:

ElastiCache 子網路群組

子網路群組是一組子網路 (通常是私有的),您可以為在 Amazon VPC環境中執行的叢集指定。

如果您在 Amazon 中建立叢集VPC,則必須指定快取子網路群組。ElastiCache 使用該快取子網路群組來選擇該子網路中的子網路和 IP 地址,以與您的快取節點建立關聯。

如需 Amazon VPC環境中快取子網路群組用量的詳細資訊,請參閱下列內容:

ElastiCache 備份

備份是 point-in-time Valkey 或 Redis OSS叢集或無伺服器快取,或 Memcached 無伺服器快取的副本。備份可用來還原現有的叢集或植入新叢集。備份包含叢集中的所有資料加上一些中繼資料。

根據叢集OSS上執行的 Valkey 或 Redis 版本,備份程序需要不同數量的預留記憶體才能成功。如需詳細資訊,請參閱下列內容:

ElastiCache 事件

當快取叢集上發生重要事件時, ElastiCache 會將通知傳送至特定 Amazon SNS主題。這些事件可能包含新增節點失敗或故障、安全群組修改和其他事件等。藉由監控重要的事件,您可以了解叢集目前的狀態,許多情況下還能採取修正動作。

如需 ElastiCache 事件的詳細資訊,請參閱 Amazon ElastiCache 事件SNS監控