

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

# MemoryDB 核心元件
<a name="components"></a>

您可以在下面找到 MemoryDB 部署主要元件的概觀。

**Topics**
+ [叢集](#whatis.clusters)
+ [節點](#whatis.components.nodes)
+ [碎片](#whatis.components.Shards)
+ [參數群組](#whatis.components.parametergroups)
+ [子網路群組](#whatis.components.subnetgroups)
+ [存取控制清單](#whatis.components.acls)
+ [使用者](#whatis.components.user)

## 叢集
<a name="whatis.clusters"></a>

叢集是提供單一資料集的一或多個節點集合。MemoryDB 資料集會分割成碎片，每個碎片都有主節點和最多 5 個選用複本節點。主要節點提供讀取和寫入請求，而複本僅提供讀取請求。主節點可以容錯移轉到複本節點，將該複本提升到該碎片的新主節點。MemoryDB 會執行 Valkey 或 Redis OSS 做為其資料庫引擎，當您建立叢集時，您可以指定叢集的引擎版本。您可以使用 AWS CLI、MemoryDB API 或 建立和修改叢集 AWS 管理主控台。

每個 MemoryDB 叢集都會執行 Valkey 或 Redis OSS 引擎版本。每個引擎版本都有自己的支援功能。此外，每個引擎版本在參數群組中都有一組參數，可控制其管理之叢集的行為。

叢集的運算和記憶體容量取決於其節點類型。您可以選擇最符合您需求的節點類型。若您的需求隨時間而有所改變，可變更節點類型。如需相關資訊，請參閱[支援的節點類型](nodes.supportedtypes.md)。

**注意**  
如需 MemoryDB 節點類型的定價資訊，請參閱 [MemoryDB 定價](https://aws.amazon.com/memorydb/pricing/)。

您可以使用 Amazon Virtual Private Cloud (Amazon VPC) 服務在虛擬私有雲端 (VPC) 上執行叢集。使用 VPC 時，您可以掌控您的虛擬聯網環境。您可以選擇自己的 IP 地址範圍、建立子網路，以及設定路由和存取控制清單。MemoryDB 管理快照、軟體修補、自動故障偵測和復原。在 VPC 中執行叢集無需額外成本。如需搭配 MemoryDB 使用 Amazon VPC 的詳細資訊，請參閱 [MemoryDB 和 Amazon VPC](vpcs.md)。

許多 MemoryDB 操作以叢集為目標：
+ 建立叢集
+ 修改叢集
+ 拍攝叢集的快照
+ 刪除叢集
+ 在叢集中檢視元素
+ 從叢集中新增或移除成本配置標籤

如需詳細資訊，請參閱下列相關主題：
+ [管理叢集](clusters.md) 和 [管理節點](nodes.md)

  叢集、節點和相關操作的詳細資訊。
+ [MemoryDB 中的彈性](disaster-recovery-resiliency.md)

  提升叢集容錯能力的相關資訊。

## 節點
<a name="whatis.components.nodes"></a>

*節點*是 MemoryDB 部署的最小建置區塊，並使用 Amazon EC2 執行個體執行。每個節點都會執行您建立叢集時所選擇的引擎版本。節點屬於屬於叢集的碎片。

每個節點都會以您建立叢集時所選擇的版本執行引擎執行個體。如有必要，您可以將叢集中的節點向上或向下擴展到不同的類型。如需詳細資訊，請參閱[擴展](scaling.md)。

叢集中的每個節點都是相同的節點類型。支援多種類型的節點，每個節點的記憶體量各不相同。如需支援的節點類型清單，請參閱「[支援的節點類型](nodes.supportedtypes.md)」。

如需節點的詳細資訊，請參閱[管理節點](nodes.md)。

## 碎片
<a name="whatis.components.Shards"></a>

碎片是 1 到 6 個節點的群組，其中一個做為主要寫入節點，另一個則做為僅供讀取複本。MemoryDB 叢集一律至少有一個碎片。

MemoryDB 叢集最多可有 500 個碎片，您的資料會分割到各個碎片。例如，您可以選擇設定具有 500 個節點的叢集，並容許碎片在 83 個（每個碎片一個主要版本和 5 個複本）到 500 個（單一主要版本並且沒有複本）之間變化。請確保有足夠的可用 IP 地址來容納增加的數量。常見的缺陷包括子網路群組中的子網路的 CIDR 範圍太小，或是子網路被共用並被其他叢集大量使用。

*多個節點碎片*實作複寫的方式，是使用一個讀/寫主節點及 1 至 5 個複本節點。如需詳細資訊，請參閱[了解 MemoryDB 複寫](replication.md)。

如需碎片的詳細資訊，請參閱[使用碎片](shards.md)。

## 參數群組
<a name="whatis.components.parametergroups"></a>

參數群組是管理叢集上引擎執行時間設定的簡單方法。參數用於控制記憶體用量、項目大小等。MemoryDB 參數群組是引擎特定參數的命名集合，您可以套用至叢集，而該叢集中的所有節點設定方式完全相同。

如需 MemoryDB 參數群組的詳細資訊，請參閱 [使用參數群組設定引擎參數](parametergroups.md)。

## 子網路群組
<a name="whatis.components.subnetgroups"></a>

*子網路群組*是子網路的集合 (一般是私有)，您可以為在 Amazon Virtual Private Cloud (VPC) 環境中執行的叢集指定這些子網路。

在 Amazon VPC 中建立叢集時，您可以指定子網路群組或使用提供的預設子網路群組。MemoryDB 使用該子網路群組來選擇該子網路內的子網路和 IP 地址，以與您的節點建立關聯。

如需 MemoryDB 子網路群組的詳細資訊，請參閱 [子網路和子網路群組](subnetgroups.md)。

## 存取控制清單
<a name="whatis.components.acls"></a>

存取控制清單是一或多個使用者的集合。存取字串遵循 [ACL 規則](https://valkey.io/topics/acl)來授權使用者存取 Valkey 或 Redis OSS 命令和資料。

如需 MemoryDB 存取控制清單的詳細資訊，請參閱 [使用存取控制清單 (ACLs) 驗證使用者](clusters.acls.md)。

## 使用者
<a name="whatis.components.user"></a>

使用者具有使用者名稱和密碼，並用於存取 MemoryDB 叢集上的資料和發出命令。使用者是存取控制清單 (ACL) 的成員，可用來判斷 MemoryDB 叢集上該使用者的許可。如需詳細資訊，請參閱[使用存取控制清單 (ACLs) 驗證使用者](clusters.acls.md)