Mengonfigurasi Penggabungan Koneksi Terkelola

Halaman ini menjelaskan cara mengaktifkan, mengonfigurasi, dan memantau Penggabungan Koneksi Terkelola di instance Cloud SQL Anda.

Penggabungan Koneksi Terkelola memungkinkan Anda menskalakan workload dengan mengoptimalkan pemanfaatan resource dan latensi koneksi untuk instance menggunakan penggabungan. Untuk mengetahui informasi mendetail tentang Penggabungan Koneksi Terkelola dan cara menggunakannya untuk instance Anda, lihat Ringkasan Penggabungan Koneksi Terkelola.

Sebelum memulai

  • Pastikan instance Anda memenuhi semua persyaratan untuk menggunakan Penggabungan Koneksi Terkelola.
  • Jika Anda menggunakan gcloud CLI, pastikan versi gcloud CLI Anda adalah 515.0.0 atau yang lebih baru.

Mengaktifkan Penggabungan Koneksi Terkelola

Anda dapat mengaktifkan Penggabungan Koneksi Terkelola untuk instance pada saat pembuatan, atau mengedit instance yang ada untuk mengaktifkannya.

Mengaktifkan Penggabungan Koneksi Terkelola untuk instance baru

Untuk membuat instance baru dengan Penggabungan Koneksi Terkelola diaktifkan, lihat Membuat instance. Anda dapat mengaktifkan Penggabungan Koneksi Terkelola untuk instance baru hanya menggunakan gcloud CLI atau Cloud SQL API.

Mengaktifkan Penggabungan Koneksi Terkelola untuk instance yang ada

Untuk mengaktifkan Penggabungan Koneksi Terkelola untuk instance yang ada, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda aktifkan Penggabungan Koneksi Terkelola. Untuk membuka halaman ringkasan instance, klik nama instance.

  3. Klik Edit.

  4. Di bagian Customize your instance, luaskan Connections.

  5. Untuk mengaktifkan Penggabungan Koneksi Terkelola, centang kotak Enable Managed Connection Pool.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud sql instances untuk mengaktifkan Penggabungan Koneksi Terkelola.

  gcloud sql instances patch INSTANCE_NAME \
  --enable-connection-pooling

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Cloud SQL.

REST v1

Gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

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

Gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": true
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

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

Terraform

Gunakan resource Terraform berikut:

# This example shows creating an instance with Managed Connection Pooling enabled and custom flags set.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_enable" {
  name                = "mysql-instance-managed-connection-pooling-enable"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      connection_pooling_enabled = true
    }
  }
}

Mengubah Penggabungan Koneksi Terkelola untuk instance

Setelah mengaktifkan Penggabungan Koneksi Terkelola, Anda dapat menyesuaikan Penggabungan Koneksi Terkelola untuk memenuhi kebutuhan instance menggunakan opsi konfigurasi lanjutan. Opsi konfigurasi ini disebut flag pool Managed Connection Pooling. Untuk mengetahui informasi selengkapnya tentang opsi konfigurasi lanjutan, nilai default, dan rentangnya, lihat Opsi konfigurasi lanjutan.

Untuk mengubah opsi konfigurasi Managed Connection Pooling lanjutan untuk sebuah instance, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda aktifkan Penggabungan Koneksi Terkelola. Untuk membuka halaman ringkasan instance, klik nama instance.

  3. Klik Edit.

  4. Di bagian Customize your instance, luaskan Connections.

  5. Di bagian Managed connection pool, luaskan Advanced pooling options.

    Ubah opsi penggabungan lanjutan yang ingin Anda perbarui.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud sql instances untuk mengubah opsi konfigurasi.

  gcloud sql instances patch INSTANCE_NAME \
  --connection-pool-flags=CONFIGURATION_NAME=CONFIGURATION_VALUE

Ganti kode berikut:

  • INSTANCE_NAME: nama instance Cloud SQL.
  • CONFIGURATION_NAME: nama opsi konfigurasi. Untuk mengetahui daftar semua opsi konfigurasi lanjutan, lihat Opsi konfigurasi lanjutan.
  • CONFIGURATION_VALUE: nilai baru untuk opsi konfigurasi yang dipilih.

REST v1

Untuk mengubah Konfigurasi lanjutan Penggabungan Koneksi Terkelola, gunakan perintah berikut dan tetapkan ConnectionPoolConfig:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

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

Untuk mengubah Konfigurasi lanjutan Penggabungan Koneksi Terkelola, gunakan perintah berikut dan tetapkan ConnectionPoolConfig:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "flags":
      [
        {
          "name": "CONFIGURATION_NAME",
          "value":"CONFIGURATION_VALUE"
        }
      ]
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

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

Terraform

Untuk mengubah Konfigurasi lanjutan Penggabungan Koneksi Terkelola, gunakan resource Terraform berikut:

# This example shows modifying the flags of an existing Managed Connection Pooling configuration.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_modify" {
  name                = "mysql-instance-managed-connection-pooling-modify"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      connection_pooling_enabled = true
      flags {
        name  = "max_pool_size" # Modify or add the name and value of an flag
        value = "10"
      }
    }
  }
}

Menonaktifkan Penggabungan Koneksi Terkelola untuk instance

Anda dapat menonaktifkan Managed Connection Pooling untuk instance yang ada menggunakan Google Cloud konsol, gcloud CLI, atau Cloud SQL API.

Untuk menonaktifkan Penggabungan Koneksi Terkelola untuk sebuah instance, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda nonaktifkan Penggabungan Koneksi Terkelola. Untuk membuka halaman ringkasan instance, klik nama instance.

  3. Klik Edit.

  4. Di bagian Customize your instance, luaskan Connections.

  5. Untuk menonaktifkan Penggabungan Koneksi Terkelola, hapus centang pada kotak Enable Managed Connection Pool.

  6. Klik Simpan.

gcloud

Gunakan perintah gcloud sql instances untuk menonaktifkan Penggabungan Koneksi Terkelola.

  gcloud sql instances patch INSTANCE_NAME \
  --no-enable-connection-pooling

Ganti kode berikut:

  • PROJECT_ID: nama instance Cloud SQL.

REST v1

Untuk menonaktifkan Penggabungan Koneksi Terkelola untuk sebuah instance, gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

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

Untuk menonaktifkan Penggabungan Koneksi Terkelola untuk sebuah instance, gunakan perintah berikut dan tetapkan connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

  • PROJECT_ID: project ID
  • INSTANCE_ID: ID instance

Metode HTTP dan URL:

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

Meminta isi JSON:

{
  "settings": {
    "connectionPoolConfig": {
      "connectionPoolingEnabled": false
    }
  }
}

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON yang mirip seperti berikut:

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

Terraform

Untuk menonaktifkan Managed Connection Pooling untuk instance, gunakan resource Terraform berikut:

# This example shows disabling Managed Connection Pooling on an existing instance.
resource "google_sql_database_instance" "mysql_managed_connection_pooling_disable" {
  name                = "mysql-instance-managed-connection-pooling-disable"
  region              = "us-central1"
  database_version    = "MYSQL_8_0"
  deletion_protection = false

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"
    connection_pool_config {
      # Set to false to disable Managed Connection Pooling. You can also remove the block entirely.
      connection_pooling_enabled = false
    }
  }
}

Melihat status Penggabungan Koneksi Terkelola untuk instance

Anda dapat melihat status Penggabungan Koneksi Terkelola untuk instance menggunakan konsol Google Cloud , gcloud CLI, atau Cloud SQL API.

Untuk melihat status Managed Connection Pooling untuk instance edisi Cloud SQL Enterprise Plus, lakukan hal berikut:

Konsol

  1. Di konsol Google Cloud , buka halaman Instance Cloud SQL.

    Buka Instance Cloud SQL

  2. Temukan instance yang ingin Anda lihat status Penggabungan Koneksi Terkelolanya. Untuk membuka halaman ringkasan instance, klik nama instance.

    Bagian Connections menunjukkan apakah Penggabungan Koneksi Terkelola diaktifkan atau dinonaktifkan.

gcloud

Gunakan perintah gcloud sql instances describe untuk melihat status Penggabungan Koneksi Terkelola untuk sebuah instance:

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

Ganti kode berikut:

  • PROJECT_ID: nama instance Cloud SQL.

    Jika Penggabungan Koneksi Terkelola diaktifkan, respons berikut akan ditampilkan:

    connectionPoolingEnabled: true

REST v1

Untuk melihat status Penggabungan Koneksi Terkelola untuk instance Cloud SQL Anda, gunakan perintah berikut dan cari connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

Metode HTTP dan URL:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan menerima respons JSON seperti berikut:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "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

Untuk melihat status Penggabungan Koneksi Terkelola untuk instance Cloud SQL Anda, gunakan perintah berikut dan cari connectionPoolingEnabled:

Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:

Metode HTTP dan URL:

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

Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:

Anda akan melihat respons JSON seperti berikut:

{
  "kind": "sql#instance",
  "state": "RUNNABLE",
  "databaseVersion": "MYSQL_8_0",
  "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"
}

Memantau Penggabungan Koneksi Terkelola

Anda dapat memantau cara Managed Connection Pooling berjalan di instance Cloud SQL menggunakan metrik Managed Connection Pooling Cloud SQL berikut:

Nama metrik Deskripsi
threads Melacak jumlah thread di kumpulan koneksi berdasarkan statusnya. Status yang disertakan dalam metrik ini adalah:
  • idle: jumlah thread nonaktif di pool.
  • active: jumlah thread aktif (tidak ada aktivitas) dalam kumpulan.
pending_connection Jumlah koneksi yang saat ini diantrekan dalam antrean tugas.
avg_wait_time Waktu rata-rata yang dihabiskan oleh permintaan koneksi yang menunggu server.

Untuk mengetahui informasi selengkapnya tentang metrik ini, lihat Metrik Cloud SQL. Untuk melihat metrik ini menggunakan konsol Google Cloud , lihat Melihat metrik di halaman ringkasan instance Cloud SQL.

Langkah berikutnya