本頁說明如何為 Cloud SQL 執行個體設定代管連線集區。
事前準備
- 確認執行個體符合使用代管連線集區的所有規定。
- 如果您使用 gcloud CLI,請使用
gcloud beta
指令,並確認 gcloud CLI 版本為515.0.0
以上。 - 確認執行個體使用的是新的 Cloud SQL 網路架構。如果執行個體仍使用舊版網路架構,請升級至新版網路架構。
您可以在建立執行個體時啟用代管連線集區,也可以編輯現有執行個體來啟用這項功能。
為新執行個體啟用代管連線集區
如要建立啟用代管連線集區的執行個體,請參閱建立執行個體。您可以使用 gcloud CLI 或 Cloud SQL API,為執行個體啟用「受管理連線集區」。
為現有執行個體啟用代管連線集區
您可以使用Google Cloud 控制台、gcloud CLI 或 Cloud SQL API,為現有執行個體啟用代管連線集區。您必須先啟用代管連線集區,才能修改代管連線集區選項。
主控台
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
找出要啟用代管連線集區的執行個體。 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
按一下 [編輯]。
展開「自訂執行個體」下方的「連線」。
如要啟用代管連線集區,請勾選「啟用代管連線集區」方塊。
按一下 [儲存]。
gcloud
使用 gcloud beta sql instances
指令啟用代管連線集區。
gcloud beta sql instances patch INSTANCE_NAME \
--enable-connection-pooling
更改下列內容:
- :要啟用受管理連線集區的 Cloud SQL 執行個體名稱。
INSTANCE_NAME
REST v1
如要為現有執行個體啟用受管理連線集區,請使用下列指令並設定 connectionPoolingEnabled
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": 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
如要為現有執行個體啟用受管理連線集區,請使用下列指令並設定 connectionPoolingEnabled
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": true } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
修改執行個體的代管連線集區
啟用代管連線集區後,您可以使用可用的設定選項自訂代管連線集區。這些設定選項稱為「代管連線集區」集區標記。新增至代管連線集區的設定會套用至執行個體使用的所有集區。如要進一步瞭解可用的設定選項、預設值和範圍,請參閱「可用的設定選項」。
如要修改執行個體可用的代管連線集區設定選項,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
找出要啟用代管連線集區的執行個體。 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
按一下 [編輯]。
展開「自訂執行個體」下方的「連線」。
在「代管連線集區」下方,展開「進階集區選項」。
修改要更新的可用集區選項。
按一下 [儲存]。
gcloud
使用 gcloud beta sql instances
指令修改設定選項。
gcloud beta sql instances patch INSTANCE_NAME \
--connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE
更改下列內容:
- :要修改受管理連線集區的 Cloud SQL 執行個體名稱。
INSTANCE_NAME
CONFIGURATION_NAME
:要修改的設定選項名稱。如要查看所有可用的設定選項清單,請參閱可用的設定選項。CONFIGURATION_VALUE
:所選設定選項的新值。
REST v1
如要修改「受管理連線集區」可用設定,請使用下列指令並設定 ConnectionPoolConfig
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 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
如要修改「受管理連線集區」可用設定,請使用下列指令並設定 ConnectionPoolConfig
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "connectionPoolConfig": { "flags": [ { "name": "CONFIGURATION_NAME", "value":"CONFIGURATION_VALUE" } ] } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
為執行個體停用代管連線集區
您可以使用Google Cloud 控制台、gcloud CLI 或 Cloud SQL API,為現有執行個體停用代管連線集區。
如要停用執行個體的代管連線集區,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
找出要停用代管連線集區的執行個體。 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
按一下 [編輯]。
展開「自訂執行個體」下方的「連線」。
如要停用代管連線集區,請取消勾選「啟用代管連線集區」方塊。
按一下 [儲存]。
gcloud
使用 gcloud beta sql instances
指令停用代管連線集區。
gcloud beta sql instances patch INSTANCE_NAME \
--no-enable-connection-pooling
更改下列內容:
- :要停用代管連線集區的 Cloud SQL 執行個體名稱。
PROJECT_ID
REST v1
如要為執行個體停用受管理連線集區,請使用下列指令並設定 connectionPoolingEnabled
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": 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 v1beta4
如要為執行個體停用受管理連線集區,請使用下列指令並設定 connectionPoolingEnabled
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:專案 ID
- INSTANCE_ID:執行個體 ID
HTTP 方法和網址:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_ID
JSON 要求主體:
{ "settings": { "connectionPoolConfig": { "connectionPoolingEnabled": false } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#operation", "targetLink": "https://sqladmin.googleapis.com/sql/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/sql/v1/projects/PROJECT_ID/operations/OPERATION_ID", "targetProject": "PROJECT_ID" }
查看執行個體的代管連線集區狀態
您可以使用 Google Cloud 控制台、gcloud CLI 或 Cloud SQL API,查看執行個體的代管連線集區狀態。
如要查看 Cloud SQL Enterprise Plus 版本執行個體的受管理連線集區狀態,請按照下列步驟操作:
主控台
前往 Google Cloud 控制台的「Cloud SQL Instances」頁面。
找出要查看代管連線集區狀態的執行個體。如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。
「連線」部分會顯示代管連線集區是否已啟用。
gcloud
gcloud beta sql instances describe INSTANCE_NAME
--format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"
更改下列內容:
PROJECT_ID
:要查看受管理連線集區狀態的 Cloud SQL 執行個體名稱。如果已啟用代管連線集區,系統會傳回以下回應:
connectionPoolingEnabled: true
REST v1
如要查看 Cloud SQL 執行個體的受管理連線集區狀態,請使用下列指令並尋找 connectionPoolingEnabled
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:包含執行個體的專案 ID 或專案編號。 Google Cloud
- :Cloud SQL 執行個體的名稱。INSTANCE_NAME如果這個執行個體已啟用 Private Service Connect,虛擬私有雲網路中的 Private Service Connect 端點就能連線至該執行個體。
HTTP 方法和網址:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "POSTGRES_13", "settings": { "authorizedGaeApplications": [], "tier": "db-custom-2-7680", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true }, "ipv4Enabled": false }, ... "createTime": "2023-06-14T18:48:34.975Z", "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE", "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID", "dnsName": "DNS_NAME" }
REST v1beta4
如要查看 Cloud SQL 執行個體的受管理連線集區狀態,請使用下列指令並尋找 connectionPoolingEnabled
:
使用任何要求資料之前,請先替換以下項目:
- PROJECT_ID:包含執行個體的專案 ID 或專案編號。 Google Cloud
- :Cloud SQL 執行個體的名稱。INSTANCE_NAME如果這個執行個體已啟用 Private Service Connect,虛擬私有雲網路中的 Private Service Connect 端點就能連線至該執行個體。
HTTP 方法和網址:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 JSON 回應:
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "POSTGRES_13", "settings": { "authorizedGaeApplications": [], "tier": "db-custom-2-7680", "kind": "sql#settings", "availabilityType": "REGIONAL", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "pscConfig": { "allowedConsumerProjects": [ "ALLOWED_PROJECTS" ], "pscEnabled": true }, "ipv4Enabled": false }, ... "createTime": "2023-06-14T18:48:34.975Z", "sqlNetworkArchitecture": "NEW_NETWORK_ARCHITECTURE", "pscServiceAttachmentLink": "projects/PROJECT_ID/regions/REGION_NAME/serviceAttachments/SERVICE_ATTACHMENT_ID", "dnsName": "DNS_NAME" }
監控代管連線集區
您可以使用下列 Cloud SQL 受管理連線集區指標,監控受管理連線集區在 Cloud SQL 執行個體上的執行情況:
指標名稱 | 說明 |
---|---|
num_pools | 每個資料庫的連線集區總數。 |
client_connection | 依用戶端連線狀態追蹤連線計數。這項指標包含的狀態如下:
|
server_connections | 依伺服器連線狀態追蹤伺服器連線數。這項指標包含的狀態如下:
|
client_connections_avg_wait_time | 所有用戶端等待伺服器的平均時間。 |
如要進一步瞭解這些指標,請參閱「Cloud SQL 指標」。如要使用 Google Cloud 控制台查看這些指標,請參閱「在 Cloud SQL 執行個體總覽頁面中查看指標」。