建立及管理金庫資源的備份方案

總覽

本頁說明如何建立及管理保存資源的備份計畫。如要瞭解備份方案的用途和使用方式,請參閱控制台中的備份方案 Google Cloud

事前準備

如要取得建立及管理備份方案所需的權限,請要求管理員授予備份儲存空間專案的備份和災難復原使用者 V2 (roles/backupdr.userv2) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

這個預先定義的角色具備建立及管理備份方案所需的權限。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:

所需權限

如要建立及管理備份方案,必須具備下列權限:

  • backupdr.backupPlans.create
  • backupdr.backupPlans.list
  • backupdr.backupPlans.get
  • backupdr.backupPlans.delete
  • backupdr.backupVaults.associate

您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

如要瞭解如何授予使用者在特定專案中套用備份方案的權限 (但無法建立備份方案),請參閱「備份使用者的 IAM 角色和權限」。

建立備份方案

請按照下列操作說明,為封存的資源建立備份方案。

控制台

  1. 前往 Google Cloud 控制台的「Backup plans」(備份計畫) 頁面。

    前往備份方案

  2. 按一下「建立備份方案」

  3. 在「資源類型」部分,選取下列任一選項:

    • Compute Engine:適用於 Compute Engine 執行個體
    • 磁碟:適用於連結至 Compute Engine 執行個體的磁碟。
    • Cloud SQL:適用於 Cloud SQL 執行個體 (預覽版)。
    • AlloyDB:適用於 AlloyDB 叢集 (預先發布版)。
    • Filestore:適用於 Filestore 執行個體。
    如要存取 Filestore 的備份和災難復原服務,必須先收到邀請。如要為 Google Cloud 專案中的 Filestore 申請 Backup and DR Service 存取權,請與銷售代表聯絡。
  4. 在「備份計畫名稱」欄位中,輸入備份計畫的名稱。備份方案建立後,就無法變更方案名稱。

  5. 在「備份方案說明」欄位中,輸入備份方案的說明 (選填)。

  6. 從「Regions」(區域) 清單中選取備份計畫區域。備份方案是在這個區域建立。您可以保護與備份方案位於相同區域的資源。

  7. 從「Backup vault」(備份保存庫) 清單中,選取要用來儲存備份的備份保存庫。

  8. 「新增備份規則」部分已預設備份規則。

    • (Compute Engine 和 Filestore) 如果您想使用預設規則,且沒有其他備份規則,可以按一下「建立」

    • (資料庫) 如果您想使用預設規則,且沒有其他備份規則,可以繼續設定資料庫記錄檔備份

    1. 如要新增一或多個備份規則,請按一下「新增規則」
    2. 在「新增備份規則」窗格中,輸入備份規則資訊,然後按一下「儲存」

      • 為備份規則命名:輸入備份規則的名稱。
      • 選擇建立備份的時間:指定備份的週期和頻率。
      • 時間範圍:選取備份作業的「時區」、「開始時間」和「結束時間」
      • 選擇備份要保留多久再刪除:輸入備份要保留的天數,之後系統就會刪除備份。請注意,這個值必須等於或大於備份儲存空間的最短強制保留期限
  9. 設定自訂隨需備份的最長保留期限。(預覽)

    設定最長保留期限,決定自訂隨需備份最長可以保留多久。建立隨需備份時,請設定保留期限,或是使用現有的備份規則。如未指定,自訂最長保留期限為 vault 的最短強制保留期限加上 30 天。

    在「最長保留期限」中輸入天數值。這個值必須大於或等於 vault 的最短強制保留期限。

  10. 只有在保護資料庫執行個體時,才會顯示「設定資料庫記錄檔備份」。您可以透過預寫記錄檔封存功能,啟用特定時間點的資料復原功能,時間的最小單位不到一秒。設定後即無法變更。勾選該方塊,然後選取資料庫記錄的保留時間。

  11. 點選「建立」

gcloud

  1. 為 Compute Engine 執行個體建立備份規則的備份方案。

    gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \
    --location=REGION \
    --resource-type=RESOURCE_TYPE \
    --project=PROJECT_ID \
    --backup-vault=BACKUPVAULT_NAME \
    --backup-rule=rule-id=RULE_NAME,recurrence=RECURRENCE,hourly-frequency=HOURS,time-zone=TIME_ZONE,backup-window-start=START_TIME,backup-window-end=END_TIME,retention-days=BACKUP_RETENTION --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION
    

    更改下列內容:

    • BACKUP_PLAN_NAME:備份方案名稱。
    • REGION:要建立備份方案的 Google Cloud 區域。
    • RESOURCE_TYPE:備份方案要保護的資源類型。值為:

      • compute.googleapis.com/Instance
      • compute.googleapis.com/Disk
      • sql.googleapis.com/Instance
      • alloydb.googleapis.com/Cluster
      • file.googleapis.com/Instance
      如要存取 Filestore 的備份和災難復原服務,必須先收到邀請。如要為 Google Cloud 專案中的 Filestore 申請 Backup and DR Service 存取權,請與銷售代表聯絡。
    • PROJECT_ID:備份儲存空間所在的專案名稱。

    • BACKUPVAULT_NAME:您要用於備份儲存空間的備份保存庫名稱。

    • RULE_NAME:備份規則的名稱。

    • RECURRENCE:建立備份的頻率。頻率可以是每小時、每日、每週、每月或每年。

    • HOURS:每小時備份的頻率。 只有在將重複頻率設為每小時時,才指定這個值。最低時數一律為六小時。

    • TIME_ZONE:備份計畫的時區,例如世界標準時間。請使用 IANA 時區格式,加入備份方案的時區。

    • START_TIME:開始時間以 24 小時制表示,開始時間必須早於結束時間,且備份時間範圍包含開始時間和結束時間。

    • END_TIME:結束時間是以 24 小時制表示的時間,結束時間必須晚於開始時間,且不包含在備份時間範圍內。

    • BACKUP_RETENTION:備份的保留期限。請注意,備份保留期限必須大於或等於備份保存庫強制執行的最短保留期限。

    • MAX_ONDEMAND_RETENTION:使用這項備份方案建立的隨需備份,允許的最長自訂保留期限 (以天為單位)。

  2. 為 Compute Engine 執行個體建立沒有備份規則的備份方案。

    gcloud backup-dr backup-plans create BACKUP_PLAN_NAME \
    --location=REGION \
    --resource-type=RESOURCE_TYPE \
    --project=PROJECT_ID \
    --backup-vault=BACKUPVAULT_NAME \
    --max-custom-on-demand-retention-days=MAX_ONDEMAND_RETENTION
    
  3. 指派備份方案的範例:

    範例:每六小時備份一次 Compute Engine 執行個體,並將備份檔儲存 11 天。

      gcloud backup-dr backup-plans create bp-hourly \
      --project=test-project --location=us-central1 \
      --resource-type=compute.googleapis.com/Instance \
      --backup-vault=test-bv \
      --backup-rule=rule-id=rule-hourly,recurrence=HOURLY,hourly-frequency=6,backup-window-start=5,backup-window-end=12,retention-days=11
    

    例如:每天上午 5 點到中午 12 點之間備份磁碟,並將備份儲存 12 天。

      gcloud backup-dr backup-plans create bp-daily \
      --project=test-project --location=us-central1 \
      --resource-type=compute.googleapis.com/Disk \
      --backup-vault=test-bv \
      --backup-rule=rule-id=rule-daily,recurrence=DAILY,backup-window-start=5,backup-window-end=12,retention-days=12
    

    範例:在週一和週三上午 5 點到中午 12 點之間備份 Compute Engine 執行個體,並將備份檔儲存 13 天。

      gcloud backup-dr backup-plans create bp-weekly \
      --project=test-project --location=us-central1 \
      --resource-type=compute.googleapis.com/Instance \
      --backup-vault=test-bv \
      --backup-rule=rule-id=rule-weekly,recurrence=WEEKLY,days-of-week='MON WED',backup-window-start=5,backup-window-end=12,retention-days=13
    

    範例:在每個月的 1 號和 15 號,於上午 5 點到中午 12 點之間備份磁碟,並將備份檔儲存 14 天。

      gcloud backup-dr backup-plans create bp-monthly \
      --project=test-project --location=us-central1 \
      --resource-type=compute.googleapis.com/Disk \
      --backup-vault=test-bv \
      --backup-rule=rule-id=rule-monthly,recurrence=MONTHLY,days-of-month='1 15',backup-window-start=5,backup-window-end=12,retention-days=14
    

    範例:每年 3 月、6 月、9 月和 12 月的 10 號、20 號和 30 號備份 Compute Engine 執行個體,並將備份檔儲存 16 天。

      gcloud backup-dr backup-plans create bp-yearly \
      --project=test-project --location=us-central1 \
      --resource-type=compute.googleapis.com/Instance \
      --backup-vault=test-bv \
      --backup-rule=rule-id=rule-yearly,recurrence=YEARLY,months='MAR JUN SEP DEC',days-of-month='10 20 30',backup-window-start=5,backup-window-end=12,retention-days=16
    

Terraform

您可以使用 Terraform 資源建立備份方案,並設定每小時、每日、每週、每月或每年的備份頻率。


# Before creating a backup plan, you need to create backup vault (google_backup_dr_backup_vault).
resource "google_backup_dr_backup_plan" "default" {
  provider       = google-beta
  location       = "us-central1"
  backup_plan_id = "my-bp"
  resource_type  = "compute.googleapis.com/Instance"
  backup_vault   = google_backup_dr_backup_vault.default.name
  # log_retention_days = 2 # Only applicable for Cloud SQL

  backup_rules {
    rule_id               = "rule-1"
    backup_retention_days = 5

    standard_schedule {
      recurrence_type  = "HOURLY"
      hourly_frequency = 6
      time_zone        = "UTC"

      backup_window {
        start_hour_of_day = 0
        end_hour_of_day   = 24
      }
    }
  }
}

列出備份方案

請按照下列操作說明列出備份方案。

控制台

  1. 前往 Google Cloud 控制台的「Backup plans」(備份計畫) 頁面。

    前往備份方案

    「備份方案」頁面會列出專案中的所有備份方案。

gcloud

  1. 列出備份方案。

      gcloud backup-dr backup-plans list \
      --location=LOCATION \
      --project=PROJECT_ID
    

    更改下列內容:

    • LOCATION:備份方案的位置。
    • PROJECT_ID:備份方案建立所在專案的名稱。

查看備份方案詳細資料

請按照下列說明查看備份方案詳細資料。

控制台

  1. 前往 Google Cloud 控制台的「Backup plans」(備份計畫) 頁面。

    前往備份方案

  2. 在備份方案清單中,按一下要查看的備份方案名稱。

    備份方案詳細資料會顯示下列資訊:

    • 資源類型
    • 備份方案詳細資料
    • backup vault 名稱
    • 備份儲存空間位置
    • 備份保留期限

gcloud

  1. 查看備份方案詳細資料。

      gcloud backup-dr backup-plans describe BACKUP_PLAN_NAME \
      --location=LOCATION \
      --project=PROJECT_ID
    

    更改下列內容:

    • BACKUP_PLAN_NAME:備份方案名稱。
    • LOCATION:備份方案的位置。
    • PROJECT_ID:建立備份方案的專案名稱。

刪除備份方案

如果備份方案正在保護資源,就無法刪除。如要刪除備份方案,請先從資源中移除備份方案,然後再刪除。

如果刪除備份方案:

  • 套用方案時建立的備份不會受到影響。備份會在保留期限屆滿時過期,過期前皆可存取。
  • 參照此方案的自動化動作將全數失效。

請按照下列操作說明刪除備份方案。

控制台

  1. 前往 Google Cloud 控制台的「Backup plans」(備份計畫) 頁面。

    前往備份方案

  2. 按一下要刪除的備份方案。

  3. 按一下「Delete」(刪除)

  4. 在出現的重疊視窗中,確認要刪除備份方案和內容。

  5. 按一下「Delete」(刪除)

gcloud

  1. 刪除備份方案。

      gcloud backup-dr backup-plans delete BACKUP_PLAN_NAME \
      --location=LOCATION \
      --project=PROJECT_ID
    

    更改下列內容:

    • BACKUP_PLAN_NAME:要刪除的備份方案名稱。
    • LOCATION:備份方案的位置。
    • PROJECT_ID:建立備份方案的專案名稱。

後續步驟