使用原地升級功能,將執行個體升級為 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 執行個體」頁面。

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [編輯]
  4. 在「選擇 Cloud SQL 版本」部分,按一下「升級」
  5. 在「Upgrade to 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": "[email protected]",
  "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": "[email protected]",
  "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 版本執行個體在磁碟上儲存 PITR 的交易記錄,則啟動升級至 Cloud SQL Enterprise Plus 版本的程序會將這些記錄的儲存位置切換至 Cloud Storage。

以下條件適用於位置切換程序:

  • 這項程序大約需要 transactionLogRetentionDays PITR 設定的時間長度,才能完成切換至 Cloud Storage。
  • 在切換至 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 執行個體」頁面。

    前往 Cloud SQL 執行個體

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

或者,您也可以在執行個體「總覽」頁面的「設定」部分,點選「切換至 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": "[email protected]",
  "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": "[email protected]",
  "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 中。不過,系統預設會將 PITR 的交易記錄儲存 14 天,現在則改為 7 天。備份設定不會變更。

自動產生寫入端點

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

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

後續步驟