使用原地升級功能,將執行個體升級為 Cloud SQL Enterprise Plus 版本


本頁說明如何使用就地升級方法,將 Cloud SQL Enterprise 版執行個體升級為 Cloud SQL Enterprise Plus 版。此外,本文也說明如何將 Cloud SQL Enterprise Plus 版執行個體切換為 Cloud SQL Enterprise 版。

升級至 Cloud SQL Enterprise Plus 版本可享有許多優勢,並提升效能。 詳情請參閱「PostgreSQL 適用的 Cloud SQL 版本簡介」。

如要為現有的 Cloud SQL Enterprise 版執行個體啟用這些強化功能,請將執行個體升級為 Cloud SQL Enterprise Plus 版。升級程序需要幾分鐘才能完成,且停機時間接近零。切換至 Cloud SQL Enterprise 版本時,最多可能會有 60 秒的停機時間。

此外,升級程序不會要求您變更應用程式連線的端點。

事前準備

  • 確認您在 PostgreSQL 12 以上版本上執行 Cloud SQL Enterprise 版執行個體。

    如果執行個體使用較舊的 PostgreSQL 版本,則必須將執行個體升級至 PostgreSQL 12 以上版本。詳情請參閱「就地升級資料庫主要版本」。

檢查用於 PITR 的交易記錄儲存位置

所有 Cloud SQL Enterprise Plus 版本的執行個體都會自動啟用時間點復原 (PITR) 功能。如果要升級的 Cloud SQL Enterprise 版本執行個體,是將用於 PITR 的預先寫入記錄儲存在磁碟上,升級至 Cloud SQL Enterprise Plus 版本時,預先寫入記錄的儲存位置會從磁碟切換至 Cloud Storage。

升級至 Cloud SQL Enterprise Plus 版本前,請先檢查 Cloud SQL Enterprise 版本的執行個體是否會切換儲存空間位置,以存放用於 PITR 的預先寫入記錄。如需更多資訊和檢查執行個體的操作說明,請參閱「檢查用於 PITR 的交易記錄儲存位置」。

如要進一步瞭解如何在升級程序中切換交易記錄儲存位置,請參閱「用於 PITR 的交易記錄儲存位置」。

將執行個體升級至 Cloud SQL Enterprise Plus 版本

請按照本節的程序,將 Cloud SQL Enterprise 版執行個體升級為 Cloud SQL Enterprise Plus 版。

控制台

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

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [編輯]
  4. 在「選擇 Cloud SQL 版本」部分,按一下「升級」
  5. 在「Upgrade to Enterprise Plus」(升級至 Enterprise Plus) 面板中,輸入執行個體 ID,然後按一下「Upgrade edition」(升級版本)

或者,您也可以在執行個體「總覽」頁面的「設定」部分中,按一下「升級」來升級執行個體。

gcloud

下列程式碼範例說明如何將執行個體升級為 Cloud SQL Enterprise Plus 版:

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise-plus \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

選用:您也可以新增 --enable-data-cache 旗標,為執行個體啟用資料快取

更改下列內容:

  • PROJECT_ID:要升級的執行個體專案 ID。
  • INSTANCE_ID:要升級的執行個體名稱。
  • MACHINE_TYPE:要升級的執行個體機器類型。 如要進一步瞭解 Cloud SQL Enterprise Plus 版本的機型,請參閱「Cloud SQL Enterprise Plus 版本執行個體的機型」。

REST

下列指令會將執行個體升級為 Cloud SQL Enterprise 版,並觸發重新啟動作業。

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

  • PROJECT_ID:要升級的執行個體專案 ID。
  • INSTANCE_ID:要升級的執行個體 ID。
  • MACHINE_TYPE:要升級的執行個體機器類型。 如要進一步瞭解 Cloud SQL Enterprise Plus 版本的機型,請參閱「Cloud SQL Enterprise Plus 版本執行個體的機型」。

選用:您可以將 dataCacheEnabled 參數設為 true,啟用資料快取

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

JSON 要求主體:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

下列指令會將執行個體升級為 Cloud SQL Enterprise 版,並觸發重新啟動作業。

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

  • PROJECT_ID:要升級的執行個體專案 ID。
  • INSTANCE_ID:要升級的執行個體 ID。
  • MACHINE_TYPE:要升級的執行個體機器類型。 如要進一步瞭解 Cloud SQL Enterprise Plus 版本的機型,請參閱「Cloud SQL Enterprise Plus 版本執行個體的機型」。

選用:您可以將 dataCacheEnabled 參數設為 true,啟用資料快取

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

JSON 要求主體:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

用於 PITR 的交易記錄檔儲存位置

如果 Cloud SQL Enterprise 版執行個體將時間點復原的交易記錄儲存在磁碟上,升級至 Cloud SQL Enterprise Plus 版後,這些記錄的儲存位置就會改為 Cloud Storage。

切換位置的程序須符合下列條件:

  • 完成切換至 Cloud Storage 的程序,大約需要 transactionLogRetentionDays PITR 設定的時間。
  • 切換至 Cloud Storage 時,建議您不要修改 transactionLogRetentionDays PITR 設定。即使您增加 transactionLogRetentionDays,Cloud SQL Enterprise 版執行個體也不會將預寫記錄保留在磁碟上超過預設的 7 天。

Cloud SQL Enterprise Plus 版本備份和記錄儲存空間預設值

升級至 Cloud SQL Enterprise Plus 版本後,所有升級執行個體的預設交易記錄保留期限會延長至 14 天。無論是這次的增加,還是您為交易記錄保留期限設定的任何其他增加,都需要達到新的增加值,才能達到 PITR 的完整保留時間範圍。舉例來說,如果交易記錄保留天數的舊值為 7,而新值增加至 14,則升級後前 7 天的 PITR 時間範圍僅為 7 天。第 8 天時,PITR 期間會變成 8 天,第 9 天時會變成 9 天,直到第 14 天時,保留期間最終會增加至 14 天。

此外,自動備份的預設數量也從 8 個增加到 15 個。

如果您在升級主要版本後升級至 Cloud SQL Enterprise Plus 版本,就無法執行 PITR,將資料庫還原至主要版本升級前的時間點。即使保留期限涵蓋該時間範圍,這項限制仍適用。啟動主要版本升級後,您可以將執行個體還原至特定時間點。

改用 Cloud SQL Enterprise 版

控制台

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

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [編輯]
  4. 在「選擇 Cloud SQL 版本」部分,按一下「切換至 Enterprise」
  5. 在「切換至 Enterprise」面板中,輸入執行個體 ID,然後按一下「切換版本」

或者,您也可以在執行個體「總覽」頁面的「設定」部分,按一下「切換至 Enterprise」,改用 Cloud SQL Enterprise 版本。

gcloud

下列程式碼範例說明如何將執行個體變更為 Cloud SQL Enterprise 版:

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID
取代下列項目:
  • PROJECT_ID:執行個體的專案 ID。
  • INSTANCE_ID:執行個體名稱。
  • MACHINE_TYPE:要切換的執行個體機型。如要進一步瞭解 Cloud SQL Enterprise 版本的機型,請參閱「Cloud SQL Enterprise 版本執行個體的機型」。

REST

下列指令會將執行個體變更為 Cloud SQL Enterprise 版,並觸發重新啟動作業。

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

  • PROJECT_ID:執行個體的專案 ID。
  • INSTANCE_ID:執行個體的執行個體 ID。
  • MACHINE_TYPE:要切換的執行個體機型。如要進一步瞭解 Cloud SQL Enterprise 版本的機型,請參閱「Cloud SQL Enterprise 版本執行個體的機型」。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID

JSON 要求主體:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

REST v1beta4

下列指令會將執行個體變更為 Cloud SQL Enterprise 版,並觸發重新啟動作業。

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

  • PROJECT_ID:執行個體的專案 ID。
  • INSTANCE_ID:執行個體的執行個體 ID。
  • MACHINE_TYPE:要切換的執行個體機型。如要進一步瞭解 Cloud SQL Enterprise 版本的機型,請參閱「Cloud SQL Enterprise 版本執行個體的機型」。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID

JSON 要求主體:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_ID",
  "selfLink": "https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Cloud SQL Enterprise 版備份和記錄儲存空間預設值

改用 Cloud SQL Enterprise 版不會變更用於 PITR 的交易記錄儲存位置。如果 Cloud SQL Enterprise Plus 版本的執行個體將時間點復原 (PITR) 的交易記錄儲存在 Cloud Storage 中,記錄就會保留在 Cloud Storage。不過,系統預設會儲存 7 天的交易記錄檔,而非 14 天,以供 PITR 使用。備份設定不會變更。

自動產生寫入端點

寫入端點是全域網域名稱服務 (DNS) 名稱,會自動解析為目前主要 Cloud SQL 執行個體的 IP 位址。如果發生備用資源容錯移轉作業,這個端點會自動將連線重新導向至新的主要執行個體。您可以在 SQL 連線字串中使用寫入端點,取代 IP 位址。使用寫入端點後,發生區域中斷時,您就不必變更應用程式連線。

如果您將新網路架構中具有私人 IP 位址的執行個體升級至 Cloud SQL Enterprise Plus 版,並為Google Cloud 專案啟用 DNS API,Cloud SQL 就會自動為您產生寫入端點。不過,與執行個體相關聯的伺服器憑證不會新增寫入端點 (全域 DNS 名稱)。因此,如要驗證 DNS 名稱,請輪替憑證。這個憑證輪替完成後,Cloud SQL 會將 DNS 名稱新增至憑證。您可以使用 DNS 名稱驗證伺服器身分。

後續步驟