管理最終備份

本頁面說明如何管理 Cloud SQL 執行個體的最終備份刪除執行個體前,您可以建立執行個體的最終備份。接著,您可以將最終備份還原至新的或現有的執行個體。這樣一來,您就能重新建立意外刪除的任何執行個體,或在任何災難復原情況下使用這些執行個體。

與自動備份和隨選備份不同,這類備份與執行個體相關聯,您可以在刪除執行個體前建立最終備份。Cloud SQL 會在執行個體的生命週期結束後,繼續儲存這項備份。

您可以使用現有的 gcloud CLI 指令,列出、說明、更新及刪除最終備份。如果您使用的是自訂角色,請為角色新增下列權限:

  • cloudsql.backupRuns.list
  • cloudsql.backupRuns.get
  • cloudsql.backupRuns.update
  • cloudsql.backupRuns.delete

如要進一步瞭解這些權限,請參閱「必要權限」。此外,如要進一步瞭解備份的運作方式,請參閱「關於 Cloud SQL 備份」。

所需權限

Google Cloud 控制台

如要管理 Google Cloud 專案中的最終備份,您必須具備下列權限:

工作 所需權限
列出最終備份 cloudsql.backupRuns.list
說明最終備份 cloudsql.backupRuns.get
更新最終備份 cloudsql.backupRuns.update
刪除最終備份 cloudsql.backupRuns.delete

gcloud CLI

如要管理 Google Cloud 專案中的最終備份,您必須具備下列權限:

動作 指令 所需權限
列出最終備份 gcloud sql backups list cloudsql.backupRuns.list
說明最終備份 gcloud sql backups describe cloudsql.backupRuns.get
更新最終備份 gcloud sql backups patch cloudsql.backupRuns.update
刪除最終備份 gcloud sql backups delete cloudsql.backupRuns.delete

REST

如要管理 Google Cloud 專案中的最終備份,您必須具備下列權限:

動作 方法 所需權限
列出最終備份 Backups.ListBackups cloudsql.backupRuns.list
說明最終備份 Backups.GetBackup cloudsql.backupRuns.get
更新最終備份 Backups.UpdateBackup cloudsql.backupRuns.update
刪除最終備份 Backups.DeleteBackup cloudsql.backupRuns.delete

查看最終備份清單

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API,查看最終備份清單和備份詳細資料。

Google Cloud 主控台不會在備份記錄中顯示略過或失敗的備份。如要查看這類備份,請使用 gcloud 或 Cloud SQL API。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL 備份」頁面。

    前往 Cloud SQL 備份

    這個頁面會列出與 Google Cloud 專案相關聯的所有備份 (包括最終備份)。

  2. 如要查看最終備份的詳細資料,請按一下該備份。系統會顯示「最終備份」對話方塊。這個對話方塊會顯示下列資訊:

    • 用來建立最終備份的執行個體刪除的日期和時間
    • 已刪除的執行個體名稱和版本
    • 日期和時間戳記,表示 Cloud SQL 保留最終備份的時間長度
    • 最終備份的說明

gcloud

  1. 如要取得與 Google Cloud 專案相關聯的所有最終備份清單,請使用 gcloud sql backups list 指令:

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 如要查看最終備份的詳細資料,請使用 gcloud sql backups describe 指令:

    gcloud sql backups describe \
    BACKUP_NAME

    您可以從執行 gcloud sql backups list 指令的輸出內容取得 BACKUP_NAMEBACKUP_NAME 的格式如下:projects/PROJECT_ID/backups/BACKUP_ID

REST v1

取得最終備份清單

您可以使用這個範例,取得與 Google Cloud 專案相關聯的所有最終備份清單。如需此呼叫的完整參數清單,請參閱 Backups.ListBackups 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

查看最終備份的詳細資料

請參考以下範例,瞭解最終備份的詳細資料。如需此呼叫的完整參數清單,請參閱 Backups.GetBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

REST v1beta4

取得最終備份清單

您可以使用這個範例,取得與 Google Cloud 專案相關聯的所有最終備份清單。如需此呼叫的完整參數清單,請參閱 Backups.ListBackups 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

查看最終備份的詳細資料

請參考這個範例,查看最終備份的詳細資料。如需此呼叫的完整參數清單,請參閱 Backups.GetBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新最終備份

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API,更新Cloud SQL 保留最終備份的時間長度,以及備份的說明。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL 備份」頁面。

    前往 Cloud SQL 備份

    這個頁面會列出與 Google Cloud 專案相關聯的所有備份 (包括最終備份)。

  2. 如要更新最終備份,請按一下該備份。系統會顯示「最終備份」對話方塊。
  3. 如要更新 Cloud SQL 保留最終備份的時間長度,請完成下列操作:
    1. 按一下「備份保留期限」欄位旁的「編輯保留期限」圖示
    2. 按一下「保留備份至」欄位旁的「選取日期」圖示
    3. 在日曆中選取新的日期,表示 Cloud SQL 保留最終備份的時間長度。
    4. 按一下「更新」。系統會將您帶回「Cloud SQL 備份」頁面。
  4. 如要更新最終備份的說明,請完成下列操作:
    1. 按一下最終備份。
    2. 按一下「Description」欄位旁的「Edit description」圖示。
    3. 在「為這個備份提供說明」欄位中,輸入最終備份的更新說明。
    4. 按一下「更新」。您會返回「Cloud SQL 備份」頁面。

gcloud

  1. 如要取得與 Google Cloud 專案相關聯的所有最終備份清單,請使用 gcloud sql backups list 指令:

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 如要更新最終備份的說明和保留期限,請使用 gcloud sql backups patch 指令:

    gcloud sql backups patch \
    BACKUP_NAME  \
    --description=DESCRIPTION /
    --expiry-time=DATE-AND-TIME-STAMP | --ttl-days=NUMBER-OF-DAYS

    您可以從執行 gcloud sql backups list 指令的輸出內容取得 BACKUP_NAMEBACKUP_NAME 的格式如下:projects/PROJECT_ID/backups/BACKUP_ID

    針對 --expiry-time--ttl-days 標記,請遵循下列規範:

    • 針對 --expiry-time 旗標,請指定 Cloud SQL 自動刪除最終備份的日期和時間戳記。
    • 針對 --ttl-days 標記,請指定最終備份的保留期限 (1 到 365 天)。這就是所謂的存留時間 (TTL)。保留期限從目前的日期和時間開始,Cloud SQL 允許的保留期限上限為 1 年 (或 365 天)。

REST v1

取得最終備份清單

您可以使用這個範例,取得與 Google Cloud 專案相關聯的所有最終備份清單。如需此呼叫的完整參數清單,請參閱 Backups.ListBackups 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新保留期限

您可以透過下列其中一種方式更新最終備份的保留期限:

  • 保留天數:修改 Cloud SQL 保留備份的天數。
  • 到期時間:提供 Cloud SQL 自動刪除備份的更新日期和時間戳記。
更新保留天數

請參考以下範例,更新 Cloud SQL 保留最終備份的天數。如需此呼叫的完整參數清單,請參閱 Backups.UpdateBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得此 ID。
  • TTL_DAYS:最終備份的保留期限 (從 1 到 365 天)。這就是所謂的存留時間 (TTL)。保留期限會從目前的日期和時間開始計算,Cloud SQL 允許的保留期限上限為 1 年 (或 365 天)。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

JSON 要求主體:

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新到期時間

請使用這個範例,為 Cloud SQL 刪除備份時提供更新的日期和時間戳記。如需此呼叫的完整參數清單,請參閱 Backups.UpdateBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。
  • DATE_AND_TIME_STAMP:Cloud SQL 自動刪除最終備份的日期和時間戳記。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

JSON 要求主體:

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新說明

請參考以下範例,更新最終備份的說明。如需此呼叫的完整參數清單,請參閱 Backups.UpdateBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。
  • DESCRIPTION:最終備份的更新說明。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

JSON 要求主體:

{
        "backup": {
            "description": DESCRIPTION,
         },
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

REST v1beta4

取得最終備份清單

您可以使用這個範例,取得與 Google Cloud 專案相關聯的所有最終備份清單。如需此呼叫的完整參數清單,請參閱 Backups.ListBackups 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新保留期限

您可以透過下列其中一種方式更新最終備份的保留期限:

  • 保留天數:修改 Cloud SQL 保留備份的天數
  • 到期時間:提供 Cloud SQL 自動刪除備份的更新日期和時間戳記。
更新保留天數

請參考以下範例,更新 Cloud SQL 保留最終備份的天數。如需此呼叫的完整參數清單,請參閱 Backups.UpdateBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得此 ID。
  • TTL_DAYS:最終備份的保留期限 (從 1 到 365 天)。這就是所謂的存留時間 (TTL)。保留期限會從目前的日期和時間開始計算,Cloud SQL 允許的保留期限上限為 1 年 (或 365 天)。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=ttl_days

JSON 要求主體:

{
        "backup": {
            expiration: {
            "ttl_days": TTL_DAYS,
            }
         },
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新到期時間

請使用這個範例,為 Cloud SQL 刪除備份時提供更新的日期和時間戳記。如需此呼叫的完整參數清單,請參閱 Backups.UpdateBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。
  • DATE_AND_TIME_STAMP:Cloud SQL 自動刪除最終備份的日期和時間戳記。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=expiry_time

JSON 要求主體:

{
        "backup": {
            expiration: {
            "expiry_time": DATE_AND_TIME_STAMP,
            }
         },
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

更新說明

請參考以下範例,更新最終備份的說明。如需此呼叫的完整參數清單,請參閱 Backups.UpdateBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。
  • DESCRIPTION:最終備份的更新說明。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID?update_mask=description

JSON 要求主體:

{
        "backup": {
            "description": DESCRIPTION,
         },
}

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

刪除最終備份

您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API 刪除最終備份。

刪除備份所釋放的空間可能無法達到備份的大小。這是因為備份是以增量方式備份,因此刪除較舊備份可能會將其部分內容轉移到更近的備份,以保留較新備份的完整性。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL 備份」頁面。

    前往 Cloud SQL 備份

    這個頁面會列出與 Google Cloud 專案相關聯的所有備份 (包括最終備份)。

  2. 針對要刪除的最後一個備份,按一下更多動作圖示 更多動作圖示。,然後選取「Delete」(刪除)
  3. 在「Delete final backup?」視窗中,輸入用來建立最終備份的執行個體名稱,然後按一下「Delete」

gcloud

  1. 如要取得與 Google Cloud 專案相關聯的所有最終備份清單,請使用 gcloud sql backups list 指令:

    gcloud sql backups list \
    --filter="type=FINAL"
  2. 如要刪除最終備份,請使用 gcloud sql backups delete 指令:

    gcloud sql backups delete \
    BACKUP_NAME

    您可以從執行 gcloud sql backups list 指令的輸出內容取得 BACKUP_NAMEBACKUP_NAME 的格式如下:projects/PROJECT_ID/backups/BACKUP_ID

REST v1

取得最終備份清單

您可以使用這個範例,取得與 Google Cloud 專案相關聯的所有最終備份清單。如需此呼叫的完整參數清單,請參閱 Backups.ListBackups 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups?filter=type=FINAL

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

刪除最終備份

請參考以下範例,瞭解如何刪除最終備份。如需此呼叫的完整參數清單,請參閱 Backups.DeleteBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。

HTTP 方法和網址:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/backups/BACKUP_ID

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

REST v1beta4

取得最終備份清單

您可以使用這個範例,取得與 Google Cloud 專案相關聯的所有最終備份清單。如需此呼叫的完整參數清單,請參閱 Backups.ListBackups 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID

HTTP 方法和網址:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups?filter=type=FINAL

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

刪除最終備份

請參考以下範例,瞭解如何刪除最終備份。如需此呼叫的完整參數清單,請參閱 Backups.DeleteBackup 頁面。

使用任何要求資料之前,請先替換以下項目:

  • PROJECT_ID:專案 ID。
  • BACKUP_ID:備份 ID。您可以從執行上一個呼叫的輸出內容取得這個 ID。

HTTP 方法和網址:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/backups/BACKUP_ID

如要傳送要求,請展開以下其中一個選項:

您應該會收到如下的 JSON 回應:

後續步驟