本頁面說明如何在 Memorystore for Redis Cluster 中執行備份作業。您可以透過備份將叢集資料還原至特定時間點,以及匯出並分析資料。
事前準備
請確認您或您使用的使用者帳戶具備執行所需動作的必要權限。
「Redis 管理員」和「Redis 編輯者」角色可以執行所有備份作業。Redis 檢視者角色可以查看及匯出備份。
啟動隨需備份
如要為 Memorystore for Redis Cluster 叢集建立隨選備份,可以使用 Google Cloud 控制台或 Google Cloud CLI。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下要備份的叢集 ID。
按一下側邊導覽面板中的「備份」。
按一下「Create backup」(建立備份)。
在「建立備份」對話方塊中,執行下列操作:
- 選填。為備份命名。如果沒有為備份命名,備份名稱會包含日期和時間戳記。
- 按一下「Create backup」(建立備份)。
gcloud
gcloud redis clusters create-backup CLUSTER_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
- CLUSTER_ID 是要備份的叢集 ID。
- BACKUP_ID 是備份的 ID,例如
december-2024-backup - TTL_PERIOD 指定備份的存留時間 (TTL)。備份達到 TTL 限制後,系統會自動刪除。
設定天數。例如,
14d。最小值為 1 天。 如未指定,預設值為 100 年。 - PROJECT_ID 是您的專案 ID。
- REGION 是叢集所在的區域 (例如
us-east1)。
指令會傳回作業名稱,格式如下:
projects/PROJECT_ID/locations/REGION/operations/operation-UID
您可以使用 gcloud redis operations describe 指令檢查作業狀態:
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
您也可以使用 gcloud redis operations list 指令,列出專案和區域中的所有作業。
設定自動備份排程
您可以在建立叢集時設定每日備份排程,也可以在現有叢集上啟用每日備份排程。
建立啟用自動備份排程的叢集
在 Memorystore for Redis Cluster 中建立叢集時,您可以使用 Google Cloud 控制台或 Google Cloud CLI 設定每日備份排程。
控制台
如要瞭解如何建立叢集,並自動為叢集啟用備份排程,請參閱「建立執行個體」。
gcloud
gcloud redis clusters create CLUSTER_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
更改下列內容:
- CLUSTER_ID 是您要建立的叢集 ID。
- START_TIME A 指定開始備份的時間。請以 24 小時制指定 UTC 時間,格式為
HH:00。例如:23:00。 RETENTION_POLICY:指定每個備份的保留天數。 設為天數,例如
7d。最長不得超過 365 天,預設為 35 天。即使叢集已刪除,備份仍會保留一段時間,最多 365 天。如要在保留期限到期前移除備份,必須手動刪除備份。
在現有叢集上啟用排定的備份
如要在現有叢集上啟用每日備份排程,請使用 Google Cloud 控制台或 Google Cloud CLI。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下要啟用備份功能的叢集 ID。
按一下側邊導覽面板中的「備份」。
在「設定」部分中,找到「自動每日備份」欄位,然後按一下 edit「編輯」。
這個欄位的狀態為「已停用」。如果這個欄位顯示「已啟用」,表示您已為這個叢集啟用排程備份。
在「自動備份設定」對話方塊中,執行下列操作:
- 勾選「每日自動備份」核取方塊。
- 在「保留備份的天數」欄位中,輸入您希望 Memorystore for Redis Cluster 保留備份的天數,之後系統就會自動刪除備份。您可以指定
1到365天。預設值為35天。 - 從「時間範圍」選單中,選取 Memorystore for Redis Cluster 建立每日備份的小時。
- 按一下 [儲存]。
gcloud
gcloud redis clusters update CLUSTER_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
更改下列內容:
- CLUSTER_ID 是您要更新的叢集 ID。
START_TIME 指定開始備份的時間戳記。 時間戳記必須精確到小時,並指定備份開始的一小時時間範圍,例如
2024-01-01T01:00:00Z。RETENTION_POLICY 指定每個備份的保留天數。 設為天數,例如
7d。即使叢集已刪除,備份仍會在保留期限內保留。 如要在保留期限到期前移除備份,必須手動刪除備份。
停用排定的備份
您可以使用Google Cloud 控制台或 Google Cloud CLI,停用叢集的排定備份作業。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下要停用備份的叢集 ID。
按一下側邊導覽面板中的「備份」。
在「設定」部分中,找到「自動每日備份」欄位,然後按一下 edit「編輯」。
這個欄位的狀態為「已啟用」。這個欄位預設為啟用。 如果這個欄位顯示「已停用」,表示您已停用這個叢集的排程備份。
在「自動備份設定」對話方塊中,執行下列操作:
- 取消勾選「每日自動備份」核取方塊。
- 按一下 [儲存]。
gcloud
gcloud redis clusters update CLUSTER_ID \ --automated-backup-mode=disabled
將 CLUSTER_ID 替換為要更新的叢集 ID。
備份和更新叢集作業之間的並行
在下列情況下,叢集的更新作業和維護作業可以取消進行中的備份作業:
- 如果叢集正在進行更新作業,Memorystore for Redis Cluster 會拒絕備份作業。
- 在極少數情況下,維護和備份作業可能會同時進行,導致該叢集的備份作業遭到略過。
列出並說明備份
以下各節將說明如何尋找可用備份的相關資訊。
列出備份集合
備份集合包含您為叢集建立的所有備份。您可以使用 Google Cloud 控制台或 Google Cloud CLI 查看備份集合清單。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下側邊導覽面板中的「備份」。
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
更改下列內容:
- REGION 是叢集所在的區域 (例如
us-east1)。 - PROJECT_ID 是您的專案 ID。
指令會傳回類似下方的備份集合清單:
BACKUP_COLLECTION_NAME CLUSTER_NAME CLUSTER_UID 6d9e1ff4-0f89-4c0a-a941-155dd4c3a213 projects/PROJECT_ID/locations/REGION/clusters/cluster1 6e539aed-ee7b-4eea-83ad-b4715b1ef160 dda2f551-b416-47ff-b1cf-684e00483dc9 projects/PROJECT_ID/locations/REGION/clusters/cluster2 57130520-636c-4ac7-ad7e-86f7cfb32838
列出備份集合的備份
如要查看備份集合的備份清單,可以使用Google Cloud 控制台或 Google Cloud CLI。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下側邊導覽面板中的「備份」。
按一下與備份集合相關聯的叢集 ID。 這個備份集合包含您要查看的備份清單。
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
更改下列內容:
- BACKUP_COLLECTION 是備份集合的名稱。
- REGION 是叢集所在的地區,例如
us-east1。 - PROJECT_ID 是您的專案 ID。
指令會傳回類似下列內容的備份清單:
BACKUP_NAME STATE CREATE_TIME EXPIRE_TIME backup-1 ACTIVE 2024-11-10T03:52:40.899882388Z 2124-11-10T03:53:02.856981736Z backup-2 ACTIVE 2024-11-11T03:48:22.137134936Z 2124-11-11T03:48:44.130735425Z
描述備份
您可以使用 Google Cloud CLI 擷取備份資訊。
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
更改下列內容:
- BACKUP_NAME 是備份名稱,例如
2024-05-01-10-15-00。 - BACKUP_COLLECTION 是備份集合的名稱。
- REGION 是叢集所在的地區,例如
us-east1。 - PROJECT_ID 是您的專案 ID。
指令會傳回類似下列內容的備份資訊:
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' cluster: projects/PROJECT_ID/locations/us-east1/clusters/cluster1 clusterUid: 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/december-2024-backup nodeType: REDIS_HIGHMEM_MEDIUM shardCount: 3 state: ACTIVE totalSizeBytes: '2084589755'
刪除備份
您可以使用 Google Cloud 控制台或 Google Cloud CLI 刪除備份。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下叢集 ID,其中包含要刪除的備份。
按一下側邊導覽面板中的「備份」。
在要刪除的備份資料旁,按一下「更多動作」圖示 more_vert。
在選單中選取「刪除」。
在「要刪除備份資料嗎?」對話方塊中,執行下列操作:
- 在文字欄位中輸入
delete。 - 按一下「Delete」(刪除)。
- 在文字欄位中輸入
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
更改下列內容:
- BACKUP_NAME 是備份名稱,例如
2024-05-01-10-15-00。 - BACKUP_COLLECTION 是備份集合的名稱。
- REGION 是叢集所在的地區,例如
us-east1。 - PROJECT_ID 是您的專案 ID。
將備份匯出至儲存空間 bucket
您可以使用Google Cloud 控制台或 Google Cloud CLI,將備份檔匯出至 Cloud Storage bucket。
如要匯出備份,請按照下列步驟操作:
Memorystore for Redis Cluster 必須具備存取目的地 Cloud Storage bucket 的權限。授予 Memorystore for Redis Cluster 服務代理存取 Cloud Storage 資源的權限。
Memorystore for Redis Cluster 服務代理會使用下列命名格式:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
將 PROJECT_NUMBER 替換為叢集或備份所在的專案專案編號。
授予服務代理程式可提供
storage.buckets.get、storage.objects.create、storage.objects.delete和storage.folders.create權限的角色。舉例來說,下列指令會將指定值區的Storage Admin角色授予 Memorystore for Redis Cluster 服務代理程式:gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/storage.admin
更改下列內容:
- BUCKET_NAME 是目標 bucket 的名稱。
- PROJECT_NUMBER 是服務代理程式名稱中使用的專案編號。
將備份匯出至 Cloud Storage bucket。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下叢集 ID,其中包含您要匯出的備份。
按一下側邊導覽面板中的「備份」。
在要匯出的備份資料旁,按一下「更多動作」圖示 more_vert。
從選單中選取「匯出」。
在「將備份匯出至 Cloud Storage」頁面的「選擇目的地」部分,按一下「瀏覽」。
在「選取 bucket」對話方塊中,按一下要匯出備份資料的 bucket,然後按一下「選取」。
在「將備份匯出至 Cloud Storage」頁面中,按一下「匯出」。
gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
更改下列內容:
- BACKUP_NAME 是 Memorystore for Redis Cluster 備份的名稱。
- BACKUP_COLLECTION 是備份集合的名稱。
- REGION 是備份集合所在的地區,例如
us-east1。 - BUCKET_NAME 是 Cloud Storage bucket,沒有
gs://前置字串。
bucket 必須是區域 bucket,且必須與備份位於相同區域。Memorystore for Redis Cluster 必須具備存取值區的權限,以及在值區內建立資料夾和物件的權限。
從備份還原資料
如要從備份還原資料,您可以從同一專案中的代管備份建立新叢集,也可以從儲存空間 bucket 中的 Redis 資料庫 (RDB) 檔案建立新叢集。如要從 RDB 檔案植入叢集,Memorystore for Redis Cluster 必須具備檔案存取權。
從備份為新叢集提供種子資料
以下範例示範如何將備份資料匯入新叢集。備份必須與新叢集位於相同區域。建立叢集的主體必須具備備份的 redis.backups.get 權限。
您可以使用Google Cloud 控制台或 Google Cloud CLI,將備份資料匯入新叢集。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下叢集 ID,其中包含您要匯入的備份。
按一下側邊導覽面板中的「備份」。
在要匯入的備份資料旁邊,按一下「更多動作」圖示 more_vert。
從選單中選取「匯入至新叢集」。「Create a Redis Cluster instance」(建立 Redis Cluster 執行個體) 頁面隨即顯示。
在「備份選項」部分,確認下列事項:
- 選取「代管備份」選項。
- 「備份 ID」欄位會顯示所選備份的路徑和名稱。
在「為叢集執行個體命名」部分中,輸入要建立的叢集 ID。叢集 ID 只能使用小寫英文字母、數字和連字號。開頭須為英文字母,且在所屬區域中不得重複。
從「Region」(區域) 選單中,選取叢集的區域。
在「Zonal availability」(可用區供應情形) 部分中,指定要建立單一可用區或多可用區叢集。
(選用) 在「節點類型」部分中,選取下列其中一個節點類型:
- 共用核心 (
redis-shared-core-nano) - 小 (
redis-standard-small) - 中 (
redis-highmem-medium) - 超大 (
redis-highmem-xlarge)
- 共用核心 (
(選用) 在「叢集大小」部分,輸入叢集的資料分割數量。分片數量決定了儲存叢集資料的總記憶體容量。如要進一步瞭解叢集規格,請參閱叢集和節點規格。
(選用) 如要建立含有副本的叢集,請在「副本」部分選取副本數量 (每個分片)。您可以選取 0 到 5 個副本。預設值為 1 個副本。
在「Set up connection」(設定連線) 專區中,選取應用程式可用來連線至這個叢集的網路。如要進一步瞭解 Memorystore for Redis Cluster 的私有網路,請參閱網路總覽。
(選用) 如要提高叢集安全性,請在「Security」(安全性) 部分,選取「Enable IAM AUTH」(啟用 IAM AUTH) 核取方塊,啟用 IAM 驗證。
在「資料保留策略」部分,指定 Memorystore for Redis Cluster 保留叢集資料的方式。可接受的值包括「不持久化」、「僅附加檔案 (AOF) 持久化」,以及「Redis 資料庫 (RDB) 持久化」。
(選用) 如要為叢集啟用自動備份功能,請執行下列操作:
- 勾選「每日自動備份」核取方塊。
- 在「保留備份的天數」欄位中,輸入您希望 Memorystore for Redis Cluster 保留備份的天數,系統會在期限過後自動刪除備份。您可以指定
1到365天。預設值為35天。 - 從「時間範圍」選單中,選取每日備份的時間。
按一下 [Create cluster] (建立叢集)。
gcloud
gcloud redis clusters create CLUSTER_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
更改下列內容:
- CLUSTER_ID 是您要建立的叢集 ID。
- BACKUP_NAME 是管理備份的名稱。例如:
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID。 - REGION 是叢集所在的地區,例如
us-east1。
如要瞭解建立叢集時可使用的其他選項,請參閱「建立執行個體」。
從儲存空間 bucket 中的 RDB 檔案為新叢集提供種子
以下範例說明如何將 Cloud Storage bucket 中 RDB 檔案的資料匯入新叢集。bucket 必須是與新叢集位於相同區域的區域 bucket,或是其中一個區域與新叢集相同的雙區域 bucket。
如要從 Cloud Storage bucket 中的 RDB 檔案為叢集提供種子資料,您必須授予 Memorystore for Redis Cluster 存取 bucket 和物件的權限,然後從檔案匯入資料。
您可以使用 Google Cloud 控制台或 Google Cloud CLI,從 RDB 檔案匯入資料。
Memorystore for Redis Cluster 必須具備存取 Cloud Storage 物件的權限。授予 Memorystore for Redis Cluster 服務代理存取 Cloud Storage 資源的權限。
Memorystore for Redis Cluster 服務代理會使用下列命名格式:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
將 PROJECT_NUMBER 替換為您要建立新叢集的專案的專案編號。
授予服務代理程式可提供
storage.buckets.get和storage.objects.get權限的角色。舉例來說,下列指令會將Storage Admin角色授予 Cloud Storage 值區:gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com --role=roles/storage.admin
更改下列內容:
- BUCKET_NAME 是 RDB 檔案所在 bucket 的名稱。
- PROJECT_NUMBER 是服務代理程式名稱中使用的專案編號。
將 Cloud Storage 值區中 RDB 檔案的資料匯入新叢集。
控制台
前往 Google Cloud 控制台的「Memorystore for Redis Cluster」頁面。
按一下「建立叢集」旁邊的 arrow_drop_down 向下箭頭,然後從顯示的選單中選取「從備份檔建立」。「Create a Redis Cluster instance」(建立 Redis Cluster 執行個體) 頁面隨即顯示。
在「備份選項」部分,執行下列操作:
- 選取「Cloud Storage 資料夾」選項。
- 在文字欄位中,按一下「瀏覽」。
- 在「選取資料夾」對話方塊中,選取內含待匯入 RDB 檔案的資料夾。
- 按一下「選取」。
在「Name your cluster instance」(為叢集執行個體命名) 部分,輸入叢集的 ID。叢集 ID 只能使用小寫英文字母、數字和連字號。開頭須為英文字母,且在所屬區域中不得重複。
從「Region」(區域) 選單中,選取叢集的區域。
在「Zonal availability」(可用區供應情形) 部分中,指定要建立單一可用區或多可用區叢集。
在「節點類型」部分中,選取下列其中一個節點類型:
- 共用核心 (
redis-shared-core-nano) - 小 (
redis-standard-small) - 中 (
redis-highmem-medium) - 超大 (
redis-highmem-xlarge)
- 共用核心 (
在「叢集大小」部分,輸入叢集的資料分割數量。分片數量決定了儲存叢集資料的總記憶體容量。如要進一步瞭解叢集規格,請參閱叢集和節點規格。
如要建立含有副本的叢集,請在「副本」部分選取副本數量 (每個分片)。您可以選取 0 到 5 個副本。預設值為 1 個副本。
在「Set up connection」(設定連線) 專區中,選取應用程式可用來連線至這個叢集的網路。如要進一步瞭解 Memorystore for Redis Cluster 的私有網路,請參閱網路總覽。
(選用) 如要提高叢集安全性,請在「Security」(安全性) 部分,選取「Enable IAM AUTH」(啟用 IAM AUTH) 核取方塊,啟用 IAM 驗證。
在「資料保留策略」部分,指定 Memorystore for Redis Cluster 保留叢集資料的方式。可接受的值包括「不持久化」、「僅附加檔案 (AOF) 持久化」,以及「Redis 資料庫 (RDB) 持久化」。
(選用) 如要為叢集啟用自動備份功能,請執行下列操作:
- 勾選「每日自動備份」核取方塊。
- 在「保留備份的天數」欄位中,輸入您希望 Memorystore for Redis Cluster 保留備份的天數,系統會在期限過後自動刪除備份。您可以指定
1到365天。預設值為35天。 - 從「時間範圍」選單中,選取每日備份的時間。
按一下 [Create cluster] (建立叢集)。
gcloud
gcloud redis clusters create CLUSTER_ID \ --import-gcs-object-uris=URI \ --region=REGION
更改下列內容:
- CLUSTER_ID 是您要建立的叢集 ID。
- URI 是一或多個以半形逗號 (
,) 分隔的 Cloud Storage URI。例如:gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb。 - REGION 是叢集所在的地區,例如
us-east1。
如要瞭解建立叢集時可使用的其他選項,請參閱「建立執行個體」。
Cloud Monitoring 指標
您可以使用 Cloud Monitoring 指標監控近期的備份和匯入作業。如要查看 Memorystore for Redis Cluster 備份作業可用的指標清單,請參閱「備份指標」。