使用全局数据存储(控制台) - ElastiCache 适用于 Redis 的 Amazon
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

使用全局数据存储(控制台)

要使用控制台创建全局数据存储,请遵循以下两步过程:

  1. 通过使用现有集群或创建新集群来创建主集群。引擎必须是 Redis 5.0.6 或更高版本。

  2. 再次使用 Redis 5.0.6 或更高版本引擎,在不同 Amazon 区域最多添加两个辅助集群。

以下过程将指导您如何使用 for Redis 控制台为 Redis 创建全局数据存储以及如何执行其他操作。 ElastiCache

使用现有集群创建全局数据存储

在这种情况下,使用现有集群作为新全局数据存储的主集群。然后,您可以在单独的 Amazon 区域中创建辅助只读集群。此辅助集群接收来自主集群的自动和异步更新。

重要

现有集群必须使用 Redis 5.0.6 引擎或更高版本。

使用现有集群创建全局数据存储
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中选择 Redis,然后选择一个集群。

  3. 对于 Actions(操作),请选择 Setup Global Datastore(设置全局数据存储)

  4. Setup Global Datastore(设置全局数据存储)页上,执行以下操作:

    • Global Datastore Name suffix(全局数据存储名称后缀)输入一个值:此后缀用于为全局数据存储生成唯一名称。您可以使用在此处指定的后缀搜索全局数据存储。

    • (可选)输入 Description(描述)值。

  5. Secondary cluster details(辅助集群详细信息)下,选择用于存储集群的另一个 Amazon 区域。

  6. Redis Settings(Redis 设置)下面,输入集群的 Name(名称)值和(可选)Description(描述)

  7. 使以下选项保持不变。它们会预先填入以匹配主集群配置,您无法对其进行更改。

    • 引擎版本

    • 节点类型

    • 参数组

      注意

      ElastiCache 根据提供的参数组的值自动生成新的参数组,并将新的参数组应用于集群。使用这个新参数组修改全局数据存储上的参数。每个自动生成的参数组与一个(且只有一个)集群关联,因此只有一个全局数据存储。

    • 分片数量

    • 静态加密 – 对磁盘上存储的数据启用加密。有关更多信息,请参阅静态加密

      注意

      您可以通过选择客户管理的 KMS 密钥并选择密 Amazon 钥来提供不同的加密密钥。有关更多信息,请参阅使用客户托管的 Amazon KMS 密钥

    • Encryption in-transit(传输中加密)– 对传输中数据启用加密。有关更多信息,请参阅传输中加密。对于 Redis 6.0 及以上的引擎版本,如果启用了传输中加密,则系统会提示您指定以下 Access Control(访问控制)选项中的一个:

      • No Access Control(无访问控制)– 此选项为默认设置。表示无任何限制。

      • User Group Access Control List(用户组访问控制列表)– 选择具有对可用操作定义有用户集和权限的用户组。有关更多信息,请参阅使用控制台和 CLI 管理用户组

      • Redis AUTH Default User(Redis AUTH 默认用户)– Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

  8. (可选)根据需要更新剩余的辅助集群设置。这些设置会预先填入与主集群相同的值,但您可以对其进行更新,以满足该集群的特定要求。

    • 端口

    • 副本数量

    • 子网组

    • 首选可用区

    • 安全组

    • 客户管理(Amazon KMS 密钥)

    • Redis AUTH 令牌

    • 启用自动备份

    • 备份保留期

    • 备份时段

    • 维护时段

    • SNS 主题通知

  9. 选择 创建。这样做会将全局数据存储的状态设置为 Creating(正在创建)。在主集群与全局数据存储关联且辅助集群处于 Associating(正在关联)状态后,状态将转换为 Modifying(正在修改)

    主集群和辅助集群与全局数据存储关联后,状态会更改为 Available(可用)。此时,您有一个接受读取和写入的主集群和接受从主集群复制的读取数据的辅助集群。

    Redis 页面更新为指示集群是否属于全局数据存储,包括:

    • Global Datastore(全局数据存储)– 集群所属的全局数据存储的名称。

    • Global Datastore Role(全局数据存储角色)– 主集群或辅助集群的角色。

您最多可以在不同的 Amazon 区域中再添加一个辅助群集。有关更多信息,请参阅将区域添加到全局数据存储

使用新主集群创建新的全局数据存储

如果选择使用新集群创建全局数据存储,请按照以下过程操作。

  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,选择 Global Datastore(全局数据存储),然后选择 Create global datastore(创建全局数据存储)。

  3. Primary cluster settings(主集群设置)中,执行以下操作:

    1. 对于 Cluster mode(集群模式),选择 Enabled(已启用)或 Disabled(已禁用)。

    2. 要获取全局数据存储信息,请为 “名称” 输入一个值。 ElastiCache 使用后缀为全局数据存储生成唯一的名称。您可以使用在此处指定的后缀搜索全局数据存储。

    3. (可选)为 Global Datastore Description(全局数据存储描述)输入一个值。

  4. Regional cluster(区域集群)中:

    1. 对于区域,选择一个可用 Amazon 区域。

    2. 选择 Create new regional cluster(创建新的区域集群)或 Use existing regional cluster(使用现有的区域集群)

    3. 如果选择 Create new regional cluster(创建新的区域集群),在 Cluster info(集群信息)下,输入集群的名称和可选描述。

    4. Location(位置)下,我们建议您接受 Multi-AZ(多可用区)和 Auto-failover(自动失效转移)的默认设置。

  5. Cluster settings(集群设置)下

    1. 对于 Engine version(引擎版本),选择 5.0.6 或更高版本。

    2. 对于 Port(端口),使用默认端口 6379。如果您出于某个原因需要使用其他端口,请输入相应的端口号。

    3. 对于参数组,选择一个参数组或创建一个新参数组。参数组控制集群的运行时参数。有关参数组的更多信息,请参阅Redis 特定的参数创建参数组

      注意

      当您选择要设置引擎配置值的参数组时,该参数组将应用于全局数据存储中的所有集群。在 Parameter Groups(参数组)页面上,是/否 Global(全局)属性指示参数组是否属于全局数据存储。

    4. 对于 Node type(节点类型),请选择向下箭头( )。在 Change node type(更改节点类型)对话框中,为所需节点类型选择 Instance family(实例系列)值。接着选择要用于此集群的节点类型,然后选择保存

      有关更多信息,请参阅选择节点大小

      如果您选择 r6gd 节点类型,则系统会自动启用数据分层。有关更多信息,请参阅数据分层

    5. 如果您要创建 Redis(已禁用集群模式)集群:

      对于 Number of replicas(副本数量),为此集群选择所需的副本数。

    6. 如果您要创建 Redis(已启用集群模式)集群:

      1. 对于 Number of shards(分片数),选择要用于此 Redis (已启用集群模式)集群的分片(分区/节点组)数。

        对于某些版本的 Redis(已启用集群模式),您可以动态更改集群中的分片数量:

        • Redis 3.2.10 及更高版本– 如果您的集群运行 Redis 3.2.10 或更高版本,则可以动态更改集群中的分片数量。有关更多信息,请参阅扩展 Redis(启用集群模式)集群

        • 其他 Redis 版本 – 如果您的集群正在运行 3.2.10 版之前的 Redis 版本,则还有另一种方法。在这种情况下,要更改集群中的分片数量,请使用新分片数量创建一个新集群。有关更多信息,请参阅从备份还原到新缓存

      2. 对于每个分片的副本数量,请选择每个分片中需要的只读副本节点数。

        Redis(已启用集群模式)存在以下限制。

        • 如果启用了多可用区,请确保每个分片至少有一个副本。

        • 使用控制台创建集群时,每个分片的副本数相同。

        • 每个分片的只读副本数固定,无法更改。如果您需要增加或减少各分片(API/CLI:节点组)的副本数,您必须使用新的副本数量创建一个新集群。有关更多信息,请参阅使用外部创建的备份为新的自行设计的集群制作种子

  6. 对于子网组设置,请选择要应用于此集群的子网。 ElastiCache 提供了默认 IPv4 子网组,也可以选择创建新子网组。对于 IPv6,您需要创建一个带有 IPv6 CIDR 块的子网组。如果您选择双堆栈,则必须选择发现 IP 类型,即 IPv6 或 IPv4。

    有关更多信息,请参阅在 VPC 中创建子网

  7. 对于 Availability zone placements(可用区位置),您有两种选择:

    • 无偏好 — ElastiCache 选择可用区。

    • Specify availability zones(指定可用区)– 您为各集群指定可用区。

      如果您选择指定可用区,则需从列表中为各分片中的每个集群选择可用区。

    有关更多信息,请参阅选择区域和可用区

    
                     图像:指定键空间和可用区

    指定键空间和可用区

  8. 选择 Next(下一步)

  9. Advanced Redis settings(高级 Redis 设置)下:

    1. 对于 Security(安全):

      1. 要加密您的数据,您有以下选项:

        • Encryption at rest(静态加密)– 对磁盘上存储的数据启用加密。有关更多信息,请参阅静态加密

          注意

          您可以选择提供不同的加密密钥,方法是选择 “客户托管 Amazon KMS 密钥” 并选择密钥。有关更多信息,请参阅使用 Amazon KMS 客户自主管理型密钥

        • Encryption in-transit(传输中加密)– 对传输中数据启用加密。有关更多信息,请参阅传输中加密。对于 Redis 6.0 及以上的引擎版本,如果启用了传输中加密,则系统会提示您指定以下 Access Control(访问控制)选项中的一个:

          • No Access Control(无访问控制)– 此选项为默认设置。这表示对用户访问集群的权限没有任何限制。

          • User Group Access Control List(用户组访问控制列表)– 选择具有集群访问权限的已定义用户组。有关更多信息,请参阅使用控制台和 CLI 管理用户组

          • Redis AUTH Default User(Redis AUTH 默认用户)– Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

        • Redis AUTH – Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

        注意

        对于 Redis 3.2.6 以上的版本(版本 3.2.10 除外),只能选择 Redis AUTH。

      2. 对于安全组,选择要用于该集群的安全组。安全组 充当防火墙来控制对集群的网络访问。您可以为 VPC 使用默认安全组或创建新安全组。

        有关安全组的更多信息,请参阅 Amazon VPC 用户指南中的您的 VPC 的安全组

  10. 如果需要定期计划自动备份,请选择启用自动备份,然后输入每个自动备份在被自动删除前保留的天数。如果您不希望定期计划自动备份,请清除 Enable automatic backups 复选框。不论是哪种情况,您始终可以选择创建手动备份。

    有关 Redis 备份和还原的更多信息,请参阅快照和还原

  11. (可选)指定维护时段。维护时段 是每周中 ElastiCache 为您的集群计划系统维护的时间,通常以小时为时间长度。您可以 ElastiCache 允许选择维护时段的日期和时间(无偏好),也可以自己选择日期、时间和持续时间(指定维护时段)。如果您在列表中选择 Specify maintenance window,则为您的维护时段选择 Start dayStart timeDuration(以小时为单位)。所有时间均为 UCT 时间。

    有关更多信息,请参阅管理维护

  12. (可选)对于 Logs(日志)

    • Log format(日志格式)下,选择 Text(文本)JSON

    • 目标类型下,选择CloudWatch 日志Kinesis Fire hose。

    • 在 “日志目标” 下,选择 “新建” 并输入您的 CloudWatch 日志组名称或 Firehose 直播名称,或者选择 “选择现有”,然后选择您的 CloudWatch 日志日志组名称或 Firehose 直播名称,

  13. 对于标签,为了帮助您管理集群和其他 ElastiCache资源,您可以以标签的形式为每个资源分配自己的元数据。有关更多信息,请参阅 标记 ElastiCache 资源

  14. 查看您的所有输入和选择,然后进行任意所需的更正。准备就绪后,选择 Next(下一步)。

  15. 在前面步骤中配置集群后,您现在可以配置辅助集群详细信息。

  16. 区域群集下,选择集群所在的 Amazon 区域。

  17. Cluster info(集群信息)下,输入集群的名称和可选描述。

  18. 以下选项已预先填入以匹配主集群配置,且无法更改:

    • 位置

    • 引擎版本

    • 实例类型

    • 节点类型

    • 分片数量

    • 参数组

      注意

      ElastiCache 根据提供的参数组的值自动生成新的参数组,并将新的参数组应用于集群。使用这个新参数组修改全局数据存储上的参数。每个自动生成的参数组与一个(且只有一个)集群关联,因此只有一个全局数据存储。

    • 静态加密 – 对磁盘上存储的数据启用加密。有关更多信息,请参阅静态加密

      注意

      您可以通过选择客户管理的 KMS 密钥并选择密 Amazon 钥来提供不同的加密密钥。有关更多信息,请参阅使用客户托管的 Amazon KMS 密钥

    • Encryption in-transit(传输中加密)– 对传输中数据启用加密。有关更多信息,请参阅传输中加密。对于 Redis 引擎版本 6.4 及更高版本时,如果启用了传输中加密,则系统会提示您指定以下 Access Control(访问控制)选项之一:

      • No Access Control(无访问控制)– 此选项为默认设置。这表示对用户访问集群的权限没有任何限制。

      • User Group Access Control List(用户组访问控制列表)– 选择具有集群访问权限的已定义用户组。有关更多信息,请参阅使用控制台和 CLI 管理用户组

      • Redis AUTH Default User(Redis AUTH 默认用户)– Redis 服务器的身份验证机制。有关更多信息,请参阅 Redis AUTH

    注意

    对于介于 4.0.2 和 6.0.4 之间的 Redis 版本,当第一次支持传输中加密时,Redis AUTH 是唯一的选择。

    剩下的辅助集群设置会预先填入与主集群相同的值,但您可以更新以下值来满足对该集群的特定要求:

    • 端口

    • 副本数量

    • 子网组

    • 首选可用区

    • 安全组

    • 客户管理(Amazon KMS 密钥)

    • Redis AUTH 令牌

    • 启用自动备份

    • 备份保留期

    • 备份时段

    • 维护时段

    • SNS 主题通知

  19. 选择 创建。这会将全局数据存储的状态设置为 Creating(正在创建)。主集群和辅助集群与全局数据存储关联后,状态会更改为 Available(可用)。您有一个接受读取和写入的主集群和接受从主集群复制的读取数据的辅助集群。

    Redis 页面也会更新为指示集群是否属于全局数据存储,包括以下项:

    • Global Datastore(全局数据存储)– 集群所属的全局数据存储的名称。

    • Global Datastore Role(全局数据存储角色)– 主集群或辅助集群的角色。

您最多可以在不同的 Amazon 区域中再添加一个辅助群集。有关更多信息,请参阅将区域添加到全局数据存储

查看全局数据存储详细信息

您可以查看现有全局数据存储的详细信息,也可以在 Global Datastore(全局数据存储)页面上对其进行修改。

查看全局数据存储详细信息
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,选择 Global Datastore(全局数据存储),然后选择可用的全局数据存储。

然后,您可以检查以下全局数据存储属性:

  • 全局数据存储名称:全局数据存储的名称

  • 描述:全局数据存储的描述

  • 状态:选项包括:

    • Creating

    • Modifying

    • 可用

    • Deleting(正在删除)

    • 仅主集群 - 此状态表示全局数据存储仅包含主集群。所有辅助集群均已删除,或者未成功创建。

  • 集群模式:启用或禁用

  • Redis 引擎版本:运行全局数据存储的 Redis 引擎版本

  • 实例节点类型:全局数据存储所用的节点类型

  • 静态加密:启用或禁用

  • 传输中加密:启用或禁用

  • Redis AUTH:启用或禁用

您可以对全局数据存储进行以下更改:

“Global Datastore(全局数据存储)”页面还列出组成全局数据存储的各个集群以及每个集群的以下属性:

  • 区域-存储集群的 Amazon 区域

  • Role(角色)- 主集群或辅助集群

  • Cluster name(集群名称)- 集群的名称

  • Status(状态)- 选项包括:

    • Associating(正在关联)- 集群正在关联到全局数据存储

    • Associated(已关联)- 集群已与全局数据存储关联

    • Disassociating(正在解除关联)- 使用全局数据存储名称从全局数据存储中删除辅助集群的过程。此后,辅助群集不再接收来自主群集的更新,但它仍作为该 Amazon 区域的独立群集保留。

    • Disassociated(已取消关联)– 辅助集群已从全局数据存储中删除,现为其 Amazon 区域中的独立集群。

  • 全局数据存储副本延迟-显示全球数据存储中每个辅助 Amazon 区域的一个值。此为辅助区域的主节点与主区域的主节点之间的滞后。对于已启用集群模式的 Redis,滞后表示分片之间的最大延迟(以秒计)。

将区域添加到全局数据存储

您最多可以向现有的全球数据存储中添加一个额外 Amazon 区域。在这种情况下,您将在单独的 Amazon 区域中创建一个只读集群,该集群接收来自主集群的自动和异步更新。

向全球数据存储中添加 Amazon 区域
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,选择 Global Datastore(全局数据存储),然后在 Global Datastore Name(全局数据存储名称)下选择一个全局数据存储。

  3. 选择添加区域,然后选择辅助群集要驻留的 Amazon 区域。

  4. Redis Settings(Redis 设置)下面,输入集群的 Name(名称)值和(可选)Description(描述)

  5. 使以下选项保持不变。它们会预先填入以匹配主集群配置,您无法对其进行更改。

    • 引擎版本

    • 实例类型

    • 节点类型

    • 分片数量

    • 参数组

      注意

      ElastiCache 根据提供的参数组的值自动生成新的参数组,并将新的参数组应用于集群。使用这个新参数组修改全局数据存储上的参数。每个自动生成的参数组与一个(且只有一个)集群关联,因此只有一个全局数据存储。

    • 静态加密

      注意

      您可以通过选择客户管理的 KMS 密钥并选择密 Amazon 钥来提供不同的加密密钥。

    • 传输中加密

    • Redis AUTH

  6. (可选)更新剩余的辅助集群设置。这些设置会预先填入与主集群相同的值,但您可以对其进行更新,以满足该集群的特定要求:

    • 端口

    • 副本数量

    • 子网组

    • 首选可用区

    • 安全组

    • 客户托管 Amazon KMS 密钥)

    • Redis AUTH 令牌

    • 启用自动备份

    • 备份保留期

    • 备份时段

    • 维护时段

    • SNS 主题通知

  7. 选择 添加

修改全局数据存储

您可以修改区域集群的属性。全局数据存储上只能进行一个修改操作,但将辅助集群提升为主集群除外。有关更多信息,请参阅将辅助集群提升为主集群

修改全局数据存储
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,选择 Global Datastore(全局数据存储),然后在 Global Datastore Name(全局数据存储名称)下选择一个全局数据存储。

  3. 选择 Modify(修改)并在以下选项中进行选择:

    • Modify description(修改描述)– 更新全局数据存储的描述

    • Modify engine version(修改引擎版本)– 只有 Redis 引擎版本 5.0.6 或更高版本才可用。

    • Modify node type(修改节点类型)– 纵向(扩展和缩减)和横向(扩展和缩减)扩展区域集群。选项包括 R5 和 M5 节点系列。有关节点类型的更多信息,请参阅受支持的节点类型

    • Modify Automatic Failover(修改自动故障转移)– 启用或禁用自动故障转移。当您启用故障转移并且区域群集中的主节点意外关闭时, ElastiCache 会故障转移到其中一个区域副本。有关更多信息,请参阅自动故障转移

    对于启用集群模式的 Redis 集群:

    • Add shards(添加分片)– 输入要添加的分片数量,并有选择地指定一个或多个可用区。

    • 删除分片-选择每个 Amazon 区域中要删除的分片。

    • Rebalance shards(重新平衡分片)– 重新平衡插槽分配,以确保在集群中的现有分片之间均匀分配。

要修改全局数据存储的参数,请修改该全局数据存储的任何成员集群的参数组。 ElastiCache 将此更改自动应用于该全局数据存储中的所有集群。要修改该集群的参数组,请使用 Redis 控制台或 ModifyCacheClusterAPI 操作。有关更多信息,请参阅修改参数组。修改全局数据存储中包含的任何集群的参数组时,该参数组应用于该全局数据存储中的所有集群。

要重置整个参数组或特定参数,请使用 ResetCacheParameterGroupAPI 操作。

将辅助集群提升为主集群

如果主群集或 Amazon 区域不可用或遇到性能问题,则可以将辅助群集提升为主群集。随时可进行提升,即使正在进行其他修改时也可以。您还可以并行进行多个提升,并且全局数据存储最终会解析为一个主集群。如果您同时提升多个辅助集群, ElastiCache for Redis 并不能保证哪一个最终会解析为主集群。

将辅助集群提升为主集群
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,在 Redis 下选择 Global Datastore(全局数据存储)

  3. 选择全局数据存储名称以查看详细信息。

  4. 选择 Secondary(辅助)集群。

  5. 选择 Promote to primary(提升为主集群)

    然后,系统会提示您确认您的决定,并显示以下警告: Promoting a region to primary will make the cluster in this region as read/writable. Are you sure you want to promote the secondary cluster to primary?

    The current primary cluster in primary region will become secondary and will stop accepting writes after this operation completes. Please ensure you update your application stack to direct traffic to the new primary region.

  6. 如果您希望继续提升,请选择 Confirm(确认),如果您不希望继续提升,请选择 Cancel(取消)

如果选择确认,则全局数据存储会转换为 Modifying(正在修改)状态,并且在提升完成之前不可用。

从全局数据存储中删除区域

您可以使用以下步骤从全球数据存储中移除 Amazon 区域。

从全球数据存储中移除 Amazon 区域
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,在 Redis 下选择 Global Datastore(全球数据存储)

  3. 选择一个全局数据存储。

  4. 选择要删除的 Region(区域)

  5. 选择 Remove region(删除区域)

    注意

    此选项仅适用于辅助集群。

    然后,系统会提示您确认您的决定,并显示以下警告: Removing the region will remove your only available cross region replica for the primary cluster. Your primary cluster will no longer be set up for disaster recovery and improved read latency in remote region. Are you sure you want to remove the selected region from the global datastore?

  6. 如果您希望继续提升,请选择 Confirm(确认),如果您不希望继续提升,请选择 Cancel(取消)

如果选择确认,则该 Amazon 区域将被删除,辅助群集将不再收到复制更新。

删除全局数据存储

要删除全局数据存储,请先删除所有辅助集群。有关更多信息,请参阅从全局数据存储中删除区域。这样做会使全局数据存储处于 primary-only(仅主集群)状态。

删除全局数据存储
  1. 登录 Amazon Web Services Management Console 并打开 ElastiCache 控制台,网址为 https://console.aws.amazon.com/elasticache/

  2. 在导航窗格中,在 Redis 下选择 Global Datastore(全球数据存储)

  3. Global Datastore Name(全局数据存储名称)下,选择要删除的全局数据存储,然后选择 Delete(删除)

    然后,系统会提示您确认您的决定,并显示以下警告:Are you sure you want to delete this Global Datastore?

  4. 选择 Delete(删除)

全局数据存储将转换为 Deleting(正在删除)状态。