管理最終備份

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

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

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

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

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

所需權限

Trusted Cloud 控制台

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

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

gcloud CLI

如要管理 Trusted 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

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

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

查看最終備份清單

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

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

控制台

  1. 前往 Trusted Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

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

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

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

gcloud

  1. 如要取得與 Trusted 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

取得最終備份清單

使用這個範例,取得與 Trusted 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

取得最終備份清單

使用這個範例,取得與 Trusted 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 回應:

更新最終備份

如要更新執行個體的最終備份保留時間和備份說明,可以使用 Trusted Cloud 控制台、gcloud CLI 或 Cloud SQL API。

控制台

  1. 前往 Trusted Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

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

  2. 如要更新最終備份,請按一下該備份。系統會顯示「最終備份」對話方塊。
  3. 如要更新 Cloud SQL 保留最終備份的時間長度,請完成下列動作:
    1. 按一下「備份保留期限」欄位旁的「編輯保留期限」圖示。
    2. 按一下「保留備份直到」欄位旁的「選取日期」圖示。
    3. 在日曆中選取新日期,指出 Cloud SQL 保留最終備份的時間長度。
    4. 按一下「更新」。系統會將您帶回「Cloud SQL Backups」(Cloud SQL 備份) 頁面。
  4. 如要更新最終備份的說明,請完成下列動作:
    1. 按一下最終備份。
    2. 按一下「說明」欄位旁的「編輯說明」圖示。
    3. 在「Describe this backup」(描述這個備份) 欄位中,輸入最終備份的更新說明。
    4. 按一下「更新」。系統會將您帶回「Cloud SQL Backups」(Cloud SQL 備份) 頁面。

gcloud

  1. 如要取得與 Trusted 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

取得最終備份清單

使用這個範例,取得與 Trusted 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

取得最終備份清單

使用這個範例,取得與 Trusted 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 回應:

刪除最終備份

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

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

控制台

  1. 前往 Trusted Cloud 控制台的「Cloud SQL Backups」頁面。

    前往 Cloud SQL 備份

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

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

gcloud

  1. 如要取得與 Trusted 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

取得最終備份清單

使用這個範例,取得與 Trusted 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

取得最終備份清單

使用這個範例,取得與 Trusted 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 回應:

後續步驟