編輯執行個體

本頁說明如何編輯現有的 Cloud SQL 執行個體。

建立執行個體後,您可以在執行個體執行期間編輯執行個體,變更其設定。如要瞭解執行個體設定,以及變更設定對執行個體的影響,請參閱「執行個體設定」。

您可以將 SQL Server 適用的 Cloud SQL 與 Managed Service for Microsoft Active Directory (代管的 Microsoft AD) 整合。這項整合功能包括在執行個體層級加入及離開 Managed Microsoft AD 網域的功能。詳情請參閱「 Cloud SQL 中的代管 Microsoft AD 總覽」。

您也可以啟用或停用資料庫稽核功能。

編輯執行個體

大多數編輯作業只能在執行個體執行時套用。

控制台

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

    前往 Cloud SQL 執行個體

  2. 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
  3. 按一下 [編輯]
  4. 在「自訂執行個體」部分,如果出現「顯示設定選項」選單,請點選該選單。
  5. 更新執行個體的可編輯設定。

    進一步瞭解執行個體設定

  6. 按一下 [儲存]

gcloud

這個指令會修改備份開始時間。

gcloud sql instances patch INSTANCE_NAME \
--backup-start-time 16:00

如果修補程式修改的值需要重新啟動,系統會提示您繼續變更或取消。

如要進一步瞭解執行個體設定旗標,請參閱 gcloud sql instances patch

REST v1

使用這項指令即可修改備份開始時間。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • PRIVATE_NETWORK:您要新增或選取的網路,用於建立私人連線

HTTP 方法和網址:

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

JSON 要求主體:

{
  "settings": {
    "backupConfiguration": {
      "startTime": "16:00",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [],
      "ipv4Enabled": false,
    }
}

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

您應該會收到如下的 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 API 要求,請參閱 instances:patch 頁面中的 APIs Explorer

REST v1beta4

使用這項指令即可修改備份開始時間。

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案 ID
  • INSTANCE_ID:執行個體 ID
  • PRIVATE_NETWORK:您要新增或選取的網路,用於建立私人連線

HTTP 方法和網址:

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

JSON 要求主體:

{
  "settings": {
    "backupConfiguration": {
      "startTime": "16:00",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [],
      "ipv4Enabled": false,
    }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

如果修補程式修改的值需要重新啟動,系統會提示您繼續變更或取消。

如要瞭解如何建立該工作的基礎 REST API 要求,請參閱 instances:patch 頁面中的 APIs Explorer

編輯已啟用 Private Service Connect 的執行個體

如要更新已啟用 Private Service Connect 的執行個體,請使用 gcloud CLI 或 API。舉例來說,您可以更新與執行個體相關聯的專案,以達到下列目的:

  • 允許從 Private Service Connect 端點連線至 Cloud SQL 執行個體。
  • 如要從允許的專案清單中移除專案,移除專案後,系統仍會接受連線至現有 Private Service Connect 端點,但不會接受新端點。

gcloud

如要更新可使用 Private Service Connect 的專案,請使用 gcloud sql instances patch 指令:

gcloud sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--allowed-psc-projects=ALLOWED_PROJECTS

請將下列項目改為對應的值:

  • INSTANCE_NAME:虛擬私有雲網路中的 Private Service Connect 端點可連線至的 Cloud SQL 執行個體名稱。
  • PROJECT_ID:包含執行個體的專案 ID 或專案編號,虛擬私有雲網路中的 Private Service Connect 端點可連線至該執行個體。 Google Cloud
  • ALLOWED_PROJECTS:以半形逗號分隔的允許專案 ID 或編號清單。這些專案會覆寫已設為使用 Private Service Connect 的專案。如果專案不在這個清單中,您就無法使用該專案建立執行個體,也無法為該執行個體啟用 Private Service Connect。

在下列範例中,兩個專案 (9876587654) 可透過 Private Service Connect 端點連線至 12345 專案中的 myinstance Cloud SQL 執行個體:

gcloud sql instances patch myinstance \
--project=12345 \
--allowed-psc-projects='98765','87654'

如要移除所有允許的專案,請使用 gcloud sql instances patch 指令和
--clear-allowed-psc-projects 標記:

gcloud sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--clear-allowed-psc-projects

這個標記可確保系統不會意外允許任何專案。

REST v1

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:包含執行個體的專案 ID 或專案編號,虛擬私有雲網路中的 Private Service Connect 端點可連線至該執行個體。 Google Cloud
  • INSTANCE_NAME:虛擬私有雲網路中的 Private Service Connect 端點可連線至的 Cloud SQL 執行個體名稱。
  • ALLOWED_PROJECTS:以半形逗號分隔的允許專案 ID 或編號清單。這些專案會覆寫已設為使用 Private Service Connect 的專案。如果專案不在這個清單中,您就無法使用該專案建立執行個體,也無法為該執行個體啟用 Private Service Connect。

HTTP 方法和網址:

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

JSON 要求主體:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "allowedConsumerProjects": [ALLOWED_PROJECTS]
      }
    },
    "kind": "sql#settings"
  }
}

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

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

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

如要移除所有允許的專案,請使用 clear-allowed-psc-projects 旗標。這個標記可確保系統不會意外允許任何專案。

如要瞭解如何建立該工作的基礎 REST API 要求,請參閱 instances:patch 頁面中的 APIs Explorer

REST v1beta4

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:包含執行個體的專案 ID 或專案編號,虛擬私有雲網路中的 Private Service Connect 端點可連線至該執行個體。 Google Cloud
  • INSTANCE_NAME:虛擬私有雲網路中的 Private Service Connect 端點可連線至的 Cloud SQL 執行個體名稱。
  • ALLOWED_PROJECTS:以半形逗號分隔的允許專案 ID 或編號清單。這些專案會覆寫已設為使用 Private Service Connect 的專案。如果專案不在這個清單中,您就無法使用該專案建立執行個體,也無法為該執行個體啟用 Private Service Connect。

HTTP 方法和網址:

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

JSON 要求主體:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "pscConfig": {
        "allowedConsumerProjects": [ALLOWED_PROJECTS]
      }
    },
    "kind": "sql#settings"
  }
}

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

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

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

如要移除所有允許的專案,請使用 clear-allowed-psc-projects 旗標。這個標記可確保系統不會意外允許任何專案。

如要瞭解如何建立該工作的基礎 REST API 要求,請參閱 instances:patch 頁面中的 APIs Explorer

編輯執行個體的伺服器 CA 模式

您可以變更執行個體的伺服器憑證授權單位 (CA) 模式,使用共用 CA (GOOGLE_MANAGED_CAS_CA) 或客戶管理的 CA (CUSTOMER_MANAGED_CAS_CA) 選項。

您無法變更執行個體,改用預設設定的每執行個體 CA (GOOGLE_MANAGED_INTERNAL_CA) 選項。

如要進一步瞭解不同的伺服器 CA 模式選項,請參閱「憑證授權單位 (CA) 層級」。

將執行個體更新為使用共用 CA 或客戶管理的 CA 前,請先完成下列步驟:

  • 查看不支援連線 Google Cloud 至 Cloud SQL 執行個體的服務清單,這些執行個體已設定為使用共用 CA 或客戶管理的 CA。如果部署作業必須使用這項服務,您可能需要延後更新。
  • 如果您使用 Cloud SQL Auth Proxy 或任何 Cloud SQL 語言連接器連線至執行個體,請確認這些工具執行的版本符合最低需求。如果是共用 CA,您必須使用 Cloud SQL Auth Proxy 2.13.0 以上版本;如果是客戶管理的 CA,則必須使用 Cloud SQL Auth Proxy 2.14.3 以上版本。如要瞭解 Cloud SQL 語言連接器的最低必要版本,請參閱「Cloud SQL 語言連接器需求」。
  • 如果改用共用 CA,請下載全球和區域 CA 組合,然後將這些組合複製到資料庫用戶端,並讓用戶端信任這些 CA。先設定憑證,再切換伺服器 CA 模式設定,有助於避免資料庫用戶端可能發生的中斷問題。
  • 如要改用客戶管理的 CA,請按照下列步驟操作:
    • 請確認您已建立 CA 集區,並為服務帳戶提供 CA 集區的存取權
    • 請確認 CA 集區中至少有一個 CA。
    • 為避免更新後發生任何中斷情形,請從客戶管理的 CA 下載憑證,並設定資料庫用戶端來信任您的 CA。

控制台

您無法使用 Google Cloud 控制台更新執行個體的伺服器 CA 模式。

如要更新執行個體的伺服器 CA 模式,請改用 gcloud sql instances patch 指令。變更完成後,查看執行個體時, Google Cloud 控制台就會顯示該設定。

gcloud

如要將執行個體從使用每個執行個體的 CA 更新為共用 CA,請執行下列指令:

gcloud sql instances patch INSTANCE_NAME \
--server-ca-mode=GOOGLE_MANAGED_CAS_CA

INSTANCE_NAME 改成要修補的 Cloud SQL 執行個體名稱。

針對 --server-ca-mode 旗標,請指定 GOOGLE_MANAGED_CAS_CA

如要將執行個體從使用每個執行個體專屬的 CA 或共用 CA,更新為使用客戶自行管理的 CA,請參閱「使用客戶自行管理的 CA」。

REST

如要將執行個體從使用每個執行個體專屬的 CA 更新為共用 CA,請使用 instances.patch 方法並指定下列屬性:

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID 是 Cloud SQL 執行個體所在的專案 ID。
  • INSTANCE_ID:要修補的 Cloud SQL 執行個體名稱。

HTTP 方法和網址:

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

JSON 要求主體:

{
  "settings":{
     "ipConfiguration":
      {
         "serverCaMode": "GOOGLE_MANAGED_CAS_CA"
      }
   }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2025-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"
}

如要將執行個體從使用每個執行個體專屬的 CA 或共用 CA,更新為使用客戶自行管理的 CA,請參閱「使用客戶自行管理的 CA」。

編輯執行個體的自訂 SAN

如要使用自訂 DNS 名稱連線至 Cloud SQL 執行個體,而非使用 IP 位址,請在建立執行個體時設定自訂主體別名 (SAN)。您插入自訂 SAN 設定的自訂 DNS 名稱,會新增至執行個體伺服器憑證的 SAN 欄位。這樣一來,您就能安全地使用自訂 DNS 名稱進行主機名稱驗證。

您可以對執行個體的伺服器憑證執行下列作業:

  • 在執行個體中新增 DNS 名稱:在自訂 SAN 設定中,新增最多三個自訂 DNS 名稱 (以半形逗號分隔)。Cloud SQL 會將這些名稱新增至伺服器憑證的 SAN 欄位。您可以使用單一憑證保護多個 DNS 名稱。
  • 修改執行個體的 DNS 名稱:變更要新增至執行個體伺服器憑證 SAN 欄位的自訂 DNS 名稱。
  • 從執行個體中移除 DNS 名稱:從執行個體伺服器憑證的 SAN 欄位中移除所有自訂 DNS 名稱。

您可以使用 gcloud CLI 或 API,編輯執行個體的自訂 SAN。

gcloud

如要編輯執行個體的自訂 SAN,請使用 gcloud sql instances patch 指令:

gcloud sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--custom-subject-alternative-names=DNS_NAMES

請將下列項目改為對應的值:

  • INSTANCE_NAME:Cloud SQL 執行個體的名稱,該執行個體具有要新增、修改或移除 DNS 名稱的伺服器憑證
  • PROJECT_ID:包含執行個體的 Google Cloud 專案 ID 或專案編號
  • DNS_NAMES:以逗號分隔的 DNS 名稱清單,最多可包含三個 DNS 名稱,這些名稱會新增至執行個體的伺服器憑證。

如要從 Cloud SQL 執行個體的伺服器憑證中移除所有 DNS 名稱,請使用 gcloud sql instances patch 指令和
--clear-custom-subject-alternative-names 旗標:

gcloud sql instances patch INSTANCE_NAME \
--project=PROJECT_ID \
--clear-custom-subject-alternative-names

這個標記可確保不會在憑證中意外新增 DNS 名稱。

REST

使用任何要求資料之前,請先修改下列項目的值:

  • PROJECT_ID:專案的 ID 或專案編號。 Google Cloud 這個專案包含 Cloud SQL 執行個體,該執行個體具有您要新增、修改或移除 DNS 名稱的伺服器憑證。
  • INSTANCE_NAME:執行個體的名稱。
  • DNS_NAMES:以半形逗號分隔的清單,最多包含三個 DNS 名稱,您要將這些名稱新增至執行個體的伺服器憑證。

    如果您已將 DNS 名稱新增至憑證,並使用這個參數指定其他 DNS 名稱,Cloud SQL 會從憑證中移除原始 DNS 名稱。

    如果沒有為 customSubjectAlternativeNames 參數指定任何 DNS 名稱,但提供空值 [],Cloud SQL 會從執行個體的伺服器憑證中移除所有 DNS 名稱。這樣可確保不會在憑證中意外新增 DNS 名稱。

HTTP 方法和網址:

PATCH https://sqladmin.googleapis.com/sql/v1veta4/projects/PROJECT_ID/instances/INSTANCE_NAME

JSON 要求主體:

{
  "kind": "sql#instance",
  "name": "INSTANCE_NAME",
  "project": "PROJECT_ID",
  "settings": {
    "ipConfiguration": {
      "customSubjectAlternativeNames": "DNS_NAMES"
    },
    "kind": "sql#settings"
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME",
  "status": "PENDING",
  "user": "user@example.com",
  "insertTime": "2020-01-16T02:32:12.281Z",
  "operationType": "UPDATE",
  "name": "OPERATION_ID",
  "targetId": "INSTANCE_NAME",
  "selfLink": "https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}
如要瞭解如何建立該工作的基礎 REST API 要求,請參閱 instances:patch 頁面中的 APIs Explorer