本頁說明如何執行 Memorystore for Valkey 備份作業。閱讀本頁面之前,請先熟悉備份作業。
事前準備
請確認您或所用的使用者帳戶具備執行所需動作的必要權限。
Memorystore 管理員和 Memorystore 編輯者角色可以執行所有備份作業。Memorystore 檢視者角色可以查看及匯出備份。
建立按照需求執行的備份
如要建立隨選備份,請使用 gcloud memorystore instances
backup
指令。
gcloud
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)。備份達到存留時間上限後,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
設定自動備份排程
您可以在建立執行個體時設定每日備份排程,也可以對現有執行個體啟用每日備份排程。
建立啟用自動備份排程的執行個體
以下範例說明如何在建立執行個體時設定每日備份時間表。如要瞭解建立執行個體時可用的其他選項,請參閱「建立執行個體」。
gcloud
gcloud memorystore instances create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
更改下列內容:
- INSTANCE_ID:您要建立的 Memorystore for Valkey 執行個體 ID。
- START_TIME:Memorystore for Valkey 開始備份的時間。請以
HH
格式指定時間,並採用世界標準時間的 24 小時制。例如:23
。 RETENTION_POLICY:Memorystore for Valkey 保留各項備份的天數。將這個參數的值設為天數 (例如
7d
)。最大值為 365 天,預設值為 35 天。即使刪除執行個體,Valkey 適用的 Memorystore 仍會將備份保留一段時間 (最多 365 天)。如要在保留期限到期前移除備份,請手動刪除備份。
在現有執行個體上啟用排定的備份
如要在執行個體上啟用排程備份,請使用 gcloud memorystore instances update
指令。
gcloud
gcloud memorystore instances update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
更改下列內容:
- INSTANCE_ID:要更新的 Memorystore for Valkey 執行個體 ID。
- START_TIME:時間戳記,指定 Memorystore for Valkey 開始備份的時間。這個時間戳記必須以小時為單位,採用
HH
格式,並以世界標準時間為準 (例如23
)。時間戳記也會指定 Memorystore for Valkey 開始備份作業的一小時時間範圍。 RETENTION_POLICY:Memorystore for Valkey 保留各項備份的天數。將這個參數的值設為天數 (例如
7d
)。即使刪除執行個體,Memorystore for Valkey 仍會在保留期限內保留備份。如要在保留期限到期前移除備份,請手動刪除備份。
停用現有執行個體的排定備份
如要停用執行個體的排程備份,請使用 gcloud memorystore instances update
指令。
gcloud
gcloud memorystore instances update INSTANCE_ID \ --automated-backup-mode=disabled
將 INSTANCE_ID 替換為要更新的 Memorystore for Valkey 執行個體 ID。
與更新執行個體、維護和備份作業的並行作業
在下列情況下,執行個體的更新作業和維護作業可能會取消進行中的備份作業:
- 如果執行個體正在更新,Memorystore for Valkey 會拒絕備份作業要求。
- 如果備份作業正在進行中,Memorystore for Valkey 會拒絕更新執行個體的傳入作業。
- 維護和備份作業可能會同時進行。如果發生這種情況,Memorystore for Valkey 會略過該執行個體的備份作業。
列出並說明備份
以下各節說明如何尋找備份資訊。
列出備份集合
備份集合包含 Memorystore for Valkey 執行個體的所有備份。如要列出專案和區域的備份集合,請使用 gcloud memorystore backup-collections list
指令。
gcloud
gcloud memorystore backup-collections list \ --project=PROJECT_ID \ --location=REGION_ID
更改下列內容:
- PROJECT_ID:您的專案 ID
- REGION_ID:執行個體所在的區域 (例如
us-east1
)
這項指令會傳回備份集合清單。
列出備份集合中的備份
如要列出備份集合中的備份,請使用 gcloud memorystore backup-collections backups list
指令。
gcloud
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
)
這項指令會傳回備份集合中的備份清單。
描述備份
如要擷取備份資訊,請使用 gcloud memorystore backup-collections backups describe
指令。
gcloud
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'
刪除備份
如要刪除備份,請使用 gcloud memorystore backup-collections backups delete
指令。
gcloud
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
)
將備份匯出至儲存空間 bucket
您可以將備份檔匯出至 Cloud Storage bucket。
以下步驟說明如何匯出備份。
授予 Memorystore for Valkey 服務代理存取 Cloud Storage 資源的權限。
您授予服務代理 Cloud Storage 資源的存取權,Memorystore for Valkey 才能存取目的地 Cloud Storage bucket。此外,Memorystore for Valkey 服務代理程式會使用下列命名格式:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
將 PROJECT_NUMBER 替換為執行個體或備份檔所在專案的專案編號。
授予服務代理程式角色,將
storage.buckets.get
、storage.objects.create
、storage.objects.delete
和storage.folders.create
權限指派給該角色。舉例來說,下列指令會將
Storage Admin
角色指派給 Cloud Storage bucket 的服務代理程式: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 值區的名稱。這個 bucket 必須是區域 bucket,且必須與備份位於相同區域。Memorystore for Valkey 必須具備存取值區的權限,以及在值區內建立資料夾和物件的權限。
- PROJECT_NUMBER:服務代理程式名稱中使用的專案編號。
如要將備份匯出至 Cloud Storage bucket,請使用
gcloud memorystore backup-collections backups export
指令。gcloud
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://
前置字串
從備份還原資料
如要從備份還原資料,您可以從同一專案中的受管理備份檔植入新執行個體,也可以從 Cloud Storage 值區中的 RDB 檔案植入新執行個體。如要從 RDB 檔案植入執行個體,Memorystore for Valkey 必須具備檔案存取權限。
從備份植入新執行個體
以下範例說明如何將備份資料匯入新執行個體。備份檔必須與執行個體位於相同區域。此外,建立執行個體的主體必須具備備份的 redis.backups.get
權限。
gcloud
gcloud memorystore instances create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --location=REGION_ID
更改下列內容:
- 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
)。
從儲存空間 bucket 中的 RDB 檔案播送新執行個體
您可以將 Cloud Storage 值區中的 RDB 檔案匯入新執行個體。
下列步驟說明如何將 Cloud Storage 值區中的 RDB 檔案匯入新執行個體。
授予 Memorystore for Valkey 服務代理存取 Cloud Storage 資源的權限。
您會授予服務代理程式 Cloud Storage 資源的存取權,讓 Memorystore for Valkey 存取 Cloud Storage bucket 中的 RDB 檔案。此外,Memorystore for Valkey 服務代理程式會使用下列命名格式:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
將 PROJECT_NUMBER 替換為您建立新執行個體的專案「編號」。
授予服務代理程式角色,並將
storage.buckets.get
和storage.objects.get
權限指派給該角色。舉例來說,下列指令會將
Storage Admin
角色指派給 Cloud Storage bucket 的服務代理程式: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 檔案所在 bucket 的名稱。這個值區必須是與備份位於相同區域的單一區域值區,或是雙區域值區,且其中一個區域與備份位於相同區域。Memorystore for Valkey 必須具備存取值區的權限。
- PROJECT_NUMBER:服務代理程式名稱中使用的專案編號。
如要將 Cloud Storage bucket 中 RDB 檔案的資料匯入新執行個體,請使用
gcloud memorystore instances create
指令。gcloud
gcloud memorystore instances create INSTANCE_ID \ --import-gcs-object-uris=URI \ --location=REGION_ID
更改下列內容:
- INSTANCE_ID:您要建立的 Memorystore for Valkey 執行個體 ID。
- URI:以逗號分隔的一或多個 Cloud Storage 統一資源 ID (URI)。例如:
gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
。 - REGION_ID:執行個體所在的區域 (例如
us-east1
)。
Cloud Monitoring 指標
如要監控近期的備份和匯入作業,可以使用 Cloud Monitoring 指標。如需 Memorystore for Valkey 備份作業可用的指標清單,請參閱「備份指標」。