編輯執行個體

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

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

編輯執行個體

大部分的編輯作業只能在執行個體執行時套用。

控制台

  1. 前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。

    前往 Cloud SQL 執行個體

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

    進一步瞭解執行個體設定

  6. 按一下 [儲存]

gcloud

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

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

這項指令可讓其他 Google Cloud 服務 (例如 BigQuery) 存取 Cloud SQL 中的資料,並透過內部連線對這項資料執行查詢。

gcloud sql instances patch INSTANCE_NAME \
--enable-google-private-path

這個指令可讓您更新 Cloud SQL 執行個體,以便與 Vertex AI 整合。透過這項整合功能,您可以將託管在 Vertex AI 中的大型語言模型 (LLM) 套用至 PostgreSQL 適用的 Cloud SQL 資料庫。

gcloud sql instances patch INSTANCE_NAME \
--enable-google-ml-integration \
--database-flags cloudsql.enable_google_ml_integration=on

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

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

REST v1

您可以使用這個指令執行下列動作:

  • 修改執行個體,讓其與 Vertex AI 整合。這項整合功能可讓您將託管於 Vertex AI 的大型語言模型 (LLM) 套用至 PostgreSQL 適用的 Cloud SQL 資料庫。
  • 修改備份開始時間。
  • 允許其他 Google Cloud 服務 (例如 BigQuery) 存取 Cloud SQL 中的資料,並透過內部連線查詢這類資料。

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

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

HTTP 方法和網址:

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

JSON 要求主體:

{
  "settings": {
    "enableGoogleMlIntegration": true,
    "databaseFlags":
    [
      {
        "name": "cloudsql.enable_google_ml_integration",
        "value": "on"
      }
    ]
    "backupConfiguration": {
      "startTime": "16:00",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": 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 API 要求,請參閱 instances:patch 頁面中的 APIs Explorer

REST v1beta4

您可以使用這個指令執行下列動作:

  • 修改執行個體,讓其與 Vertex AI 整合。這項整合功能可讓您將託管於 Vertex AI 的大型語言模型 (LLM) 套用至 PostgreSQL 適用的 Cloud SQL 資料庫。
  • 修改備份開始時間。
  • 允許 BigQuery 等其他 Google Cloud 服務存取 Cloud SQL 中的資料,並透過內部連線查詢這類資料。

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

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

HTTP 方法和網址:

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

JSON 要求主體:

{
  "settings": {
    "enableGoogleMlIntegration": true,
    "databaseFlags":
    [
      {
        "name": "cloudsql.enable_google_ml_integration",
        "value": "on"
      }
    ]
    "backupConfiguration": {
      "startTime": "16:00",
      "enabled": true,
      "binaryLogEnabled": true
    }
  }
    "ipConfiguration": {
      "privateNetwork": "PRIVATE_NETWORK",
      "authorizedNetworks": [],
      "ipv4Enabled": false,
      "enablePrivatePathForGoogleCloudServices": true
    }
}

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

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

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

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

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

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

您可以使用 gcloud CLI 或 API,更新已啟用 Private Service Connect 的執行個體。舉例來說,您可以更新與執行個體相關聯的專案,用於以下用途:

  • 允許從 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:VPC 網路中的 Private Service Connect 端點可連線的 Cloud SQL 執行個體名稱。
  • PROJECT_ID: Google Cloud 專案的 ID 或專案編號,其中包含 VPC 網路中的 Private Service Connect 端點可連線的執行個體。
  • 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: Google Cloud 專案的 ID 或專案編號,其中包含 VPC 網路中的 Private Service Connect 端點可連線的執行個體。
  • INSTANCE_NAME:VPC 網路中的 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": "[email protected]",
  "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: Google Cloud 專案的 ID 或專案編號,其中包含 VPC 網路中的 Private Service Connect 端點可連線的執行個體。
  • INSTANCE_NAME:VPC 網路中的 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": "[email protected]",
  "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

編輯執行個體的自訂 SAN

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

您可以使用執行個體伺服器憑證的自訂 SAN 執行下列作業:

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

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

gcloud

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

gcloud beta 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 名稱,這些名稱會新增至執行個體的伺服器憑證

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

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

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

REST

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

  • PROJECT_ID: Google Cloud 專案的 ID 或專案編號。這個專案包含 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": "[email protected]",
  "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