

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

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

下面，您可以找到 MemoryDB 部署的主要组件概述。

**Topics**
+ [集群](#whatis.clusters)
+ [Nodes](#whatis.components.nodes)
+ [分片](#whatis.components.Shards)
+ [参数组](#whatis.components.parametergroups)
+ [子网组](#whatis.components.subnetgroups)
+ [访问控制列表](#whatis.components.acls)
+ [Users](#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 中运行集群不会产生额外费用。有关将 Amazon VPC 与 MemoryDB 结合使用的更多信息，请参阅 [MemoryDB 和 Amazon VPC](vpcs.md)。

许多 MemoryDB 操作面向集群：
+ 创建集群
+ 修改集群
+ 拍摄集群快照
+ 删除集群
+ 查看集群中的元素
+ 在集群中添加和删除成本分配标签

有关更多详细信息，请参阅以下相关主题：
+ [管理集群](clusters.md) 和 [管理节点](nodes.md)

  有关集群、节点和相关操作的信息。
+ [MemoryDB 中的故障恢复能力](disaster-recovery-resiliency.md)

  有关增强集群的容错能力的信息。

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

*节点*是 MemoryDB 部署中的最小构建基块，使用 Amazon EC2 实例运行。每个节点都运行在您创建集群时选择的引擎版本。节点属于集群所含的分片。

每个节点都运行在您创建集群时选择版本的引擎实例。如果需要，您可以将集群中的节点纵向扩展或缩减到不同类型。有关更多信息，请参阅 [扩展](scaling.md)。

一个集群中的所有节点都具有相同的节点类型。支持多种节点类型，每种可有不同的内存量。有关受支持的节点类型的列表，请参阅 [受支持的节点类型](nodes.supportedtypes.md)。

有关节点的更多信息，请参阅[管理节点](nodes.md)。

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

分片是 1 到 6 个节点组成的分组，一个主写入节点和 5 个只读副本节点。一个 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)。

## Users
<a name="whatis.components.user"></a>

用户都有用户名和密码，可用于在 MemoryDB 集群上访问数据和发出命令。用户是访问控制列表（ACL）的成员，ACL 可用于确定用户在 MemoryDB 集群上的权限。有关更多信息，请参阅 [使用访问控制列表对用户进行身份验证 () ACLs](clusters.acls.md)。