設定代管連線集區

本頁說明如何為 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,為現有執行個體啟用代管連線集區。您必須先啟用代管連線集區,才能修改代管連線集區選項

主控台

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

    前往 Cloud SQL 執行個體

  2. 找出要啟用代管連線集區的執行個體。 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。

  3. 按一下 [編輯]

  4. 展開「自訂執行個體」下方的「連線」

  5. 如要啟用代管連線集區,請勾選「啟用代管連線集區」方塊。

  6. 按一下 [儲存]

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"
}

修改執行個體的代管連線集區

啟用代管連線集區後,您可以使用可用的設定選項自訂代管連線集區。這些設定選項稱為「代管連線集區」集區標記。新增至代管連線集區的設定會套用至執行個體使用的所有集區。如要進一步瞭解可用的設定選項、預設值和範圍,請參閱「可用的設定選項」。

如要修改執行個體可用的代管連線集區設定選項,請按照下列步驟操作:

主控台

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

    前往 Cloud SQL 執行個體

  2. 找出要啟用代管連線集區的執行個體。 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。

  3. 按一下 [編輯]

  4. 展開「自訂執行個體」下方的「連線」

  5. 在「代管連線集區」下方,展開「進階集區選項」

    修改要更新的可用集區選項。

  6. 按一下 [儲存]

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,為現有執行個體停用代管連線集區。

如要停用執行個體的代管連線集區,請按照下列步驟操作:

主控台

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

    前往 Cloud SQL 執行個體

  2. 找出要停用代管連線集區的執行個體。 如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。

  3. 按一下 [編輯]

  4. 展開「自訂執行個體」下方的「連線」

  5. 如要停用代管連線集區,請取消勾選「啟用代管連線集區」方塊。

  6. 按一下 [儲存]

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 版本執行個體的受管理連線集區狀態,請按照下列步驟操作:

主控台

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

    前往 Cloud SQL 執行個體

  2. 找出要查看代管連線集區狀態的執行個體。如要開啟執行個體的「總覽」頁面,請按一下執行個體名稱。

    「連線」部分會顯示代管連線集區是否已啟用。

gcloud

  gcloud beta sql instances describe INSTANCE_NAME
  --format="value(settings.connectionPoolConfig.connectionPoolingEnabled)"

更改下列內容:

  • PROJECT_ID:要查看受管理連線集區狀態的 Cloud SQL 執行個體名稱。

    如果已啟用代管連線集區,系統會傳回以下回應:

    connectionPoolingEnabled: true

REST v1

如要查看 Cloud SQL 執行個體的受管理連線集區狀態,請使用下列指令並尋找 connectionPoolingEnabled

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

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

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

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 依用戶端連線狀態追蹤連線計數。這項指標包含的狀態如下:
  • active:每個資料庫的有效連線數,包括沒有任何待處理查詢要求的閒置用戶端。
  • waiting:每個資料庫等待伺服器連線的用戶端數量。
server_connections 依伺服器連線狀態追蹤伺服器連線數。這項指標包含的狀態如下:
  • active:每個資料庫的有效連線數。
  • waiting:每個資料庫的閒置伺服器連線數。
client_connections_avg_wait_time 所有用戶端等待伺服器的平均時間。

如要進一步瞭解這些指標,請參閱「Cloud SQL 指標」。如要使用 Google Cloud 控制台查看這些指標,請參閱「在 Cloud SQL 執行個體總覽頁面中查看指標」。

後續步驟