管理备份

本页介绍了如何在 Memorystore for Valkey 中执行备份操作。借助备份,您可以将实例的数据恢复到某个时间点,也可以导出和分析这些数据。

准备工作

  1. 确保您或您正在使用的用户账号拥有所需的操作权限

    Memorystore AdminMemorystore Editor 角色可以执行所有备份操作。Memorystore 查看者角色可以查看和导出备份。

创建按需备份

您可以使用 Google Cloud 控制台或 Google Cloud CLI 为 Memorystore for Valkey 实例创建按需备份。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 点击要备份的实例的 ID。

  3. 在侧边导航面板中,点击备份

  4. 点击创建备份

  5. 创建备份对话框中,执行以下操作:

    1. 可选。为备份提供名称。如果您未命名备份,则备份的名称将包含日期和时间戳。
    2. 点击创建备份

gcloud

如需创建按需备份,请使用 gcloud memorystore instances backup 命令。

gcloud memorystore instances backup INSTANCE_ID \
--backup-id=BACKUP_ID \
--ttl=TTL_PERIOD \
--project=PROJECT_ID \
--location=REGION_ID

替换以下内容:

  • INSTANCE_ID:Memorystore for Valkey 实例的 ID。
  • BACKUP_ID:备份的 ID,例如 march-2025-backup
  • TTL_PERIOD:备份的存留时间 (TTL)。当备份达到 TTL 限制后,Memorystore for Valkey 会自动删除该备份。

    您可以将此参数的值设置为天数(例如 14d)。最小值为 1 天。如果您未指定值,则默认值为 100 年。

  • PROJECT_ID:您的项目 ID。

  • REGION_ID:实例所在的区域(例如 us-east1)。

该命令会返回以下格式的操作名称:

projects/PROJECT_ID/locations/REGION_ID/operations/operation-UID

如需检查操作的状态,请使用 gcloud memorystore operations describe 命令。

gcloud memorystore operations describe projects/PROJECT_ID/locations/REGION_ID/operations/operation-UID

如需列出项目和区域中的所有操作,请使用 gcloud memorystore operations list 命令。

gcloud memorystore operations list --projects=PROJECT_ID \
--location=REGION_ID

配置自动备份时间表

您可以在创建实例时配置每日备份时间表,也可以为现有实例启用每日备份时间表。

您可以在创建实例时配置每日备份时间表,也可以为现有实例启用每日备份时间表。

创建启用了自动备份时间表的实例

您可以在 Memorystore for Valkey 中创建实例时设置每日备份时间表,方法是使用 Google Cloud 控制台或 Google Cloud CLI

控制台

如需创建实例并自动为该实例启用备份时间表,请参阅创建实例

gcloud

如需创建实例并自动为该实例启用备份时间表,请使用 gcloud memorystore instances create 命令。

gcloud memorystore instances create INSTANCE_ID \
--automated-backup-config-mode=enabled \
--fixed-frequency-schedule-start-time-hours=START_TIME \
--automated-backup-config-retention=RETENTION_POLICY

替换以下内容:

  • INSTANCE_ID:您要创建的 Memorystore for Valkey 实例的 ID。
  • START_TIME:Memorystore for Valkey 开始备份的时间。以 24 小时制 HH 格式指定时间,时区为世界协调时间 (UTC)。例如:23
  • RETENTION_POLICY:Memorystore for Valkey 保留每个备份的天数。将此参数的值设置为天数(例如 7d)。最大值为 365 天,默认值为 35 天。

    即使您删除实例,Memorystore for Valkey 也会在保留期限内(最长为 365 天)保留备份。如需在保留期限到期之前移除备份,您必须手动删除备份

在现有实例上启用计划备份

您可以使用 Google Cloud 控制台或 Google Cloud CLI 在现有实例上启用每日备份计划。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 点击要为其启用备份的实例的 ID。

  3. 在侧边导航面板中,点击备份

  4. 设置部分中,点击每日自动备份字段旁边的 修改

    相应字段的状态为已停用。如果此字段的状态为已启用,则表示您已为此实例启用计划备份。

  5. 自动备份设置对话框中,执行以下操作:

    1. 选中自动每日备份复选框。
    2. 保留备份的天数字段中,输入您希望 Memorystore for Valkey 在自动删除备份之前保留备份的天数。您可以指定 1365 天。默认值为 35 天。
    3. 时间窗口菜单中,选择 Memorystore for Valkey 进行每日备份的小时。
    4. 点击保存

gcloud

如需在实例上启用定期备份,请使用 gcloud memorystore instances update 命令。

gcloud memorystore instances update INSTANCE_ID \
--automated-backup-config-mode=enabled \
--fixed-frequency-schedule-start-time-hours=START_TIME \
--automated-backup-config-retention=RETENTION_POLICY

替换以下内容:

  • INSTANCE_ID:您要更新的 Memorystore for Valkey 实例的 ID。
  • START_TIME:一个时间戳,用于指定 Memorystore for Valkey 开始备份的时间。此时间戳必须精确到小时,采用 HH 格式,并以世界协调时间 (UTC) 为准,按 24 小时周期指定(例如 23)。此时间戳还指定了 Memorystore for Valkey 开始备份的一小时时段。
  • RETENTION_POLICY:Memorystore for Valkey 保留每个备份的天数。将此参数的值设置为天数(例如 7d)。

    即使在您删除实例后,Memorystore for Valkey 也会在保留期限内保留备份。如需在保留期限到期之前移除备份,您必须手动删除备份

停用计划备份

您可以使用Google Cloud 控制台或 Google Cloud CLI 停用实例上的定期备份。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 点击要停用备份的实例的 ID。

  3. 在侧边导航面板中,点击备份

  4. 设置部分中,点击每日自动备份字段旁边的 修改

    此字段的状态为已启用。此字段默认处于启用状态。 如果此字段的状态为已停用,则表示您已为此实例停用预定备份。

  5. 自动备份设置对话框中,执行以下操作:

    1. 清除自动每日备份复选框。
    2. 点击保存

gcloud

如需停用实例上的预定备份,请使用 gcloud memorystore instances update 命令。

gcloud memorystore instances update INSTANCE_ID \
--automated-backup-config-mode=disabled

INSTANCE_ID 替换为您要更新的 Memorystore for Valkey 实例的 ID。

备份和更新实例操作之间的并发性

在以下情况下,实例上的更新操作和维护操作可能会取消正在进行的备份操作:

  • 如果正在进行更新实例的操作,则 Memorystore for Valkey 会拒绝备份操作。
  • 在极少数情况下,维护和备份操作可能会同时进行,导致相应实例的备份操作被跳过。

列出和描述备份

以下各部分演示了如何查找有关可用备份的信息。

列出备份集合

备份集合包含您为实例创建的所有备份。您可以使用 Google Cloud 控制台或 Google Cloud CLI 查看备份集合的列表。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 在侧边导航面板中,点击备份

gcloud

如需列出项目和区域的备份集合,请使用 gcloud memorystore backup-collections list 命令。

gcloud memorystore backup-collections list \
--project=PROJECT_ID \
--location=REGION_ID

替换以下内容:

  • PROJECT_ID:您的项目 ID
  • REGION_ID:实例所在的区域(例如 us-east1

该命令会返回备份集合列表。

列出备份集合中的备份

您可以使用Google Cloud 控制台或 Google Cloud CLI 查看备份集合的备份列表。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 在侧边导航面板中,点击备份

  3. 点击与备份集合关联的实例的 ID。 此备份集合包含您要查看的备份列表。

gcloud

如需列出备份集合中的备份,请使用 gcloud memorystore backup-collections backups list 命令。

gcloud memorystore backup-collections backups list \
--backup-collection=BACKUP_COLLECTION
--project=PROJECT_ID \
--location=REGION_ID

替换以下内容:

  • BACKUP_COLLECTION:备份集合的名称
  • PROJECT_ID:您的项目 ID
  • REGION_ID:实例所在的区域(例如 us-east1

该命令会返回备份集合中的备份列表。

描述备份

您可以使用 Google Cloud CLI 检索有关备份的信息。

gcloud

如需检索备份的相关信息,请使用 gcloud memorystore backup-collections backups describe 命令。

gcloud memorystore backup-collections backups describe BACKUP_NAME \
--backup-collection=BACKUP_COLLECTION \
--project=PROJECT_ID \
--location=REGION_ID

替换以下内容:

  • BACKUP_NAME:备份的名称(例如 2024-05-01-10-15-00
  • BACKUP_COLLECTION:备份集合的名称
  • PROJECT_ID:您的项目 ID
  • REGION_ID:实例所在的区域(例如 us-east1

该命令会返回类似于以下内容的备份信息:

backupFiles:
- createTime: '2024-11-10T03:52:55.539Z'
fileName: 3d2774dab822137c5bac9386f3fa69ee4c73b928.rdb
sizeBytes: '694879680'
- createTime: '2024-11-10T03:52:54.742Z'
fileName: 7f5d99faaefc63ed8292a71da2552db3b06cdcff.rdb
sizeBytes: '694925906'
- createTime: '2024-11-10T03:52:54.972Z'
fileName: 0aac1092a3fb81515aefb6b2421f31eb346c3961.rdb
sizeBytes: '694784169'
instance: projects/PROJECT_ID/locations/us-east1/instances/instance1
instanceUid: 57130520-636c-4ac7-ad7e-86f7cfb32838
createTime: '2024-11-10T03:52:40.899882388Z'
expireTime: '2124-11-10T03:53:02.856981736Z'
name: projects/PROJECT_ID/locations/us-east1/backupCollections/dda2f551-b416-47ff-b1cf-684e00483dc9/backups/march-2025-backup
nodeType: HIGHMEM_MEDIUM
shardCount: 3
state: ACTIVE
totalSizeBytes: '2084589755'

删除备份

您可以使用 Google Cloud 控制台或 Google Cloud CLI 删除备份。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 点击包含要删除的备份的实例的 ID。

  3. 在侧边导航面板中,点击备份

  4. 在要删除的备份旁边,点击 更多操作

  5. 从菜单中选择删除

  6. 删除备份?对话框中,执行以下操作:

    1. 在文本字段中,输入 delete
    2. 点击删除

gcloud

如需删除备份,请使用 gcloud memorystore backup-collections backups delete 命令。

gcloud memorystore backup-collections backups delete BACKUP_NAME \
--backup-collection=BACKUP_COLLECTION \
--project=PROJECT_ID \
--location=REGION_ID

替换以下内容:

  • BACKUP_NAME:备份的名称(例如 2024-05-01-10-15-00
  • BACKUP_COLLECTION:备份集合的名称
  • PROJECT_ID:您的项目 ID
  • REGION_ID:实例所在的区域(例如 us-east1

将备份导出到存储桶

您可以使用Google Cloud 控制台或 Google Cloud CLI 将备份导出到 Cloud Storage 存储桶。

如需导出备份,请执行以下操作:

  1. Memorystore for Valkey 必须具有访问目标 Cloud Storage 存储桶的权限。向 Memorystore for Valkey 服务代理授予对 Cloud Storage 资源的访问权限。

    Memorystore for Valkey 服务代理使用以下命名格式:

    service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
    

    PROJECT_NUMBER 替换为实例或备份所在项目的项目编号

    向服务代理授予一个角色,该角色具有 storage.buckets.getstorage.objects.createstorage.objects.deletestorage.folders.create 权限。

    例如,以下命令会为 Cloud Storage 存储桶的服务代理分配 Storage Admin 角色:

    gcloud

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com \
    --role=roles/storage.admin
    

    替换以下内容:

    • BUCKET_NAME:目标 Cloud Storage 存储桶的名称。此存储桶必须是区域级存储桶,并且必须与备份位于同一区域。Memorystore for Valkey 必须具有访问相应存储桶以及在存储分区内创建文件夹和对象的权限。
    • PROJECT_NUMBER:服务代理名称中使用的项目编号。
  2. 将备份导出到 Cloud Storage 存储桶。

    控制台

    1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

      Memorystore for Valkey

    2. 点击包含您要导出的备份的实例的 ID。

    3. 在侧边导航面板中,点击备份

    4. 在要导出的备份旁边,点击 更多操作

    5. 从菜单中选择导出

    6. 将备份导出到 Cloud Storage 页面的选择目标位置部分,点击浏览

    7. 选择存储桶对话框中,点击要将备份导出到的存储桶,然后点击选择

    8. 将备份导出到 Cloud Storage 页面中,点击导出

    gcloud

    如需将备份导出到 Cloud Storage 存储桶,请使用 gcloud memorystore backup-collections backups export 命令。

    gcloud memorystore backup-collections backups export BACKUP_NAME \
    --backup-collection=BACKUP_COLLECTION \
    --location=REGION_ID \
    --gcs-bucket=BUCKET_NAME
    

    替换以下内容:

    • BACKUP_NAME:Memorystore for Valkey 备份的名称
    • BACKUP_COLLECTION:备份集合的名称
    • REGION_ID:备份集合所在的区域(例如 us-east1
    • BUCKET_NAME:Cloud Storage 存储桶的名称,不带 gs:// 前缀

      存储桶必须是区域级存储桶,并且必须与备份位于同一区域。 Memorystore for Valkey 必须具有访问相应存储桶以及在该存储分区内创建文件夹和对象的权限。

从备份中恢复数据

如需从备份恢复数据,您可以从同一项目中的受管备份为新实例提供初始数据,也可以从 Cloud Storage 存储桶中的 Redis 数据库 (RDB) 文件为新实例提供初始数据。如需使用 RDB 文件为实例提供初始数据,Memorystore for Valkey 必须有权访问这些文件。

从备份中为新实例设定种子

以下示例演示了如何将数据从备份导入到新实例。备份必须与实例位于同一区域。此外,创建实例的主账号必须具有备份的 memorystore.backups.get 权限。

您可以使用Google Cloud 控制台或 Google Cloud CLI 将数据从备份导入到新实例中。

控制台

  1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

    Memorystore for Valkey

  2. 点击包含要导入的备份的实例的 ID。

  3. 在侧边导航面板中,点击备份

  4. 在要导入的备份旁边,点击 更多操作

  5. 在菜单中,选择导入到新实例。系统会显示创建 Valkey 实例页面。

  6. 备份选项部分,验证以下内容:

    1. 已选择托管式备份选项。
    2. 备份 ID 字段包含您选择的备份的路径和名称。
  7. 为实例命名部分,输入您要创建的实例的 ID。实例 ID 只能使用小写字母、数字和连字符。还必须以字母开头,并在其区域中是唯一的。

  8. 区域菜单中,为您的实例选择一个区域。

  9. 可用区可用性部分中,指定您要创建单可用区或多可用区实例。

  10. 可选。在节点类型部分中,选择以下节点类型之一:

    • 共享核心 (shared-core-nano)
    • (standard-small)
    • 中等 (highmem-medium)
    • 超大 (highmem-xlarge)
  11. 集群模式部分中,指定您要创建启用集群模式的实例还是停用集群模式的实例。如需详细了解这些类型的实例,请参阅启用和停用集群模式

  12. 可选。在实例大小部分中,输入实例的分片数量。分片数量决定了用于存储实例数据的总内存容量。如需详细了解实例规范,请参阅实例和节点规范

  13. 可选。如果您想创建具有副本的实例,请在副本部分中选择副本数量(每个分片)。您可以选择 0-5 个副本。默认值为 1 个副本。

  14. 设置连接部分中,选择您的应用可用于连接到此实例的网络。如需详细了解 Memorystore for Valkey 的专用网络,请参阅网络

  15. 可选。如果您想提高实例的安全性,请在安全性部分中,选中启用 IAM AUTH 复选框,以启用 IAM 身份验证

  16. 数据持久性策略部分,指定您希望 Memorystore for Valkey 如何持久保留实例中的数据。可接受的值包括无持久性仅附加文件 (AOF) 持久性内存快照持久性

  17. 可选。如果您想为实例启用自动备份,请执行以下操作:

    1. 选中自动每日备份复选框。
    2. 保留备份的天数字段中,输入您希望 Memorystore for Valkey 在自动删除备份之前保留备份的天数。您可以指定 1365 天。默认值为 35 天。
    3. 时间窗口菜单中,选择每日备份的时间。
  18. 选择版本部分中,选择您的 Valkey 版本。可用版本为 7.2、8.0 和 9.0(预览版)。默认版本为 8.0 版。

  19. 点击创建实例

gcloud

如需将数据从备份导入到新实例,请使用 gcloud memorystore instances create 命令。

gcloud memorystore instances create INSTANCE_ID \
--managed-backup-source=BACKUP_NAME \
--location=REGION_ID \
--shard-count=SHARD_COUNT \
--engine-version=ENGINE_VERSION \
--psc-auto-connections=NETWORK

替换以下内容:

  • INSTANCE_ID:您要创建的 Memorystore for Valkey 实例的 ID。
  • BACKUP_NAME:备份的名称。此名称的格式如下:projects/PROJECT_ID/locations/REGION_ID/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
  • REGION_ID:实例所在的区域(例如 us-east1)。
  • SHARD_COUNT:实例的分片数(介于 1 到 250 之间)。
  • ENGINE_VERSION:Memorystore for Valkey 实例的版本。此参数接受的值为 VALKEY_7_2VALKEY_8_0VALKEY_9_0(预览版)。如果您未指定值,则默认值为 VALKEY_8_0

  • NETWORK:用于创建实例的网络。必须采用以下格式:projects/NETWORK_PROJECT_ID/global/networks/NETWORK_ID。网络 ID 必须与服务连接政策使用的网络 ID 相匹配。否则,您无法创建实例。

如需了解可用于创建实例的更多选项,请参阅创建实例

从存储桶中的 RDB 文件为新实例设定种子

您可以将 Cloud Storage 存储桶中包含的 RDB 文件中的数据导入到新实例中。

如需使用 Cloud Storage 存储桶中的 RDB 文件为实例提供初始数据,您必须向 Memorystore for Valkey 授予对相应存储桶和对象的访问权限,然后从这些文件导入数据。

您可以使用 Google Cloud 控制台或 Google Cloud CLI 从 RDB 文件导入数据。

  1. Memorystore for Valkey 必须具有访问目标 Cloud Storage 存储桶的权限。向 Memorystore for Valkey 服务代理授予对 Cloud Storage 资源的访问权限。

    Memorystore for Valkey 服务代理使用以下命名格式:

    service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
    

    PROJECT_NUMBER 替换为实例或备份所在项目的项目编号

    为服务代理授予一个角色,该角色会向其分配 storage.buckets.getstorage.objects.get 权限。

    例如,以下命令会为 Cloud Storage 存储桶的服务代理分配 Storage Admin 角色:

    gcloud

    gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
    --role=roles/storage.admin
    

    替换以下内容:

    • BUCKET_NAME:RDB 文件所在的存储桶的名称。此存储桶必须是与备份位于同一区域的单区域存储桶,或者必须是双区域存储桶,且其中一个区域与备份所在的区域相同。Memorystore for Valkey 必须具有访问相应存储桶的权限。
    • PROJECT_NUMBER:服务代理名称中使用的项目编号。
  2. 将 Cloud Storage 存储桶中的 RDB 文件中的数据导入到新实例中。

    控制台

    1. 在 Google Cloud 控制台中,前往 Memorystore for Valkey 页面。

      Memorystore for Valkey

    2. 点击创建实例旁边的 下拉箭头,然后从显示的菜单中选择通过备份创建。系统会显示创建 Valkey 实例页面。

    3. 备份选项部分中,执行以下操作:

      1. 选择 Cloud Storage 文件夹选项。
      2. 在文本字段中,点击浏览
      3. 选择文件夹对话框中,选择包含要导入的 RDB 文件的文件夹。
      4. 点击选择
    4. 为实例命名部分,输入实例的 ID。 实例 ID 只能使用小写字母、数字和连字符。还必须以字母开头,并在其区域中是唯一的。

    5. 区域菜单中,为您的实例选择一个区域。

    6. 可用区可用性部分中,指定您要创建单可用区或多可用区实例。

    7. 节点类型部分中,选择以下节点类型之一:

      • 共享核心 (shared-core-nano)
      • (standard-small)
      • 中等 (highmem-medium)
      • 超大 (highmem-xlarge)
    8. 集群模式部分中,指定您要创建启用集群模式的实例还是停用集群模式的实例。如需详细了解这些类型的实例,请参阅启用和停用集群模式

    9. 实例大小部分中,输入实例的分片数量。分片数量决定了用于存储实例数据的总内存容量。如需详细了解实例规范,请参阅实例和节点规范

    10. 如果您想创建具有副本的实例,请在副本部分中选择副本数量(每个分片)。您可以选择 0-5 个副本。默认值为 1 个副本。

    11. 设置连接部分中,选择您的应用可用于连接到此实例的网络。如需详细了解 Memorystore for Valkey 的专用网络,请参阅网络

    12. 可选。如果您想提高实例的安全性,请在安全性部分中,选中启用 IAM AUTH 复选框,以启用 IAM 身份验证

    13. 数据持久性策略部分,指定您希望 Memorystore for Valkey 如何持久保留实例中的数据。可接受的值包括无持久性仅附加文件 (AOF) 持久性内存快照持久性

    14. 可选。如果您想为实例启用自动备份,请执行以下操作:

      1. 选中自动每日备份复选框。
      2. 保留备份的天数字段中,输入您希望 Memorystore for Valkey 在自动删除备份之前保留备份的天数。您可以指定 1365 天。默认值为 35 天。
      3. 时间窗口菜单中,选择每日备份的时间。
    15. 选择版本部分中,选择您的 Valkey 版本。可用版本为 7.2、8.0 和 9.0(预览版)。 默认版本为 8.0。

    16. 点击创建实例

    gcloud

    如需将 Cloud Storage 存储桶中的 RDB 文件中的数据导入到新实例中,请使用 gcloud memorystore instances create 命令。

    gcloud memorystore instances create INSTANCE_ID \
    --gcs-source-uris=URI \
    --location=REGION_ID \
    --node-type=NODE_TYPE \
    --shard-count=SHARD_COUNT
    

    替换以下内容:

    • INSTANCE_ID:您要创建的 Memorystore for Valkey 实例的 ID。
    • URI:一个或多个以英文逗号分隔的 Cloud Storage 统一资源标识符 (URI)。例如:gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
    • REGION_ID:实例所在的区域(例如 us-east1)。
    • NODE_TYPE可选):实例的节点类型。接受的值包括:

      • shared-core-nano
      • standard-small
      • highmem-medium
      • highmem-xlarge

      如果您不使用该参数,则 highmem-medium 是默认的节点类型。

    • SHARD_COUNT:实例的分片数(介于 1 到 250 之间)。

    如需了解可用于创建实例的更多选项,请参阅创建实例

Cloud Monitoring 指标

如需监控近期的备份和导入操作,您可以使用 Cloud Monitoring 指标。如需查看适用于 Memorystore for Valkey 备份的指标列表,请参阅备份指标

后续步骤