本頁面說明如何編輯現有的 Cloud SQL 執行個體。
建立執行個體後,您可以在執行時編輯該執行個體,以便變更其設定。如要瞭解執行個體設定,以及變更設定對執行個體的影響,請參閱「執行個體設定」。
編輯執行個體
大部分的編輯作業只能在執行個體執行時套用。
控制台
-
前往 Google Cloud 控制台的「Cloud SQL 執行個體」頁面。
- 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
- 按一下 [編輯]。
- 如果「自訂執行個體」部分顯示「顯示設定選項」選單,請按一下該選單。
更新執行個體的所有可編輯設定。
進一步瞭解執行個體設定。
- 按一下 [儲存]。
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。
在下列範例中,兩個專案 (98765
和 87654
) 會從 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 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
標記。這個標記可確保系統不會誤允任何專案。
編輯執行個體的自訂 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" }