읽기 풀 만들기 및 관리

이 페이지에서는 대규모 읽기 워크로드의 읽기 풀을 만들고 관리하는 방법을 설명합니다.

시작하기 전에

  1. 읽기 풀에는 기본 인스턴스 복사본이 포함됩니다. Cloud SQL Enterprise Plus 버전 기본 인스턴스를 아직 만들지 않았으면 만듭니다. 읽기 풀은 공개 IP 연결을 지원하지만 이 가이드에서는 비공개 IP(PSA) 연결을 사용하여 기본 인스턴스를 만듭니다. 기본 인스턴스와 복제에 대한 자세한 내용은 Cloud SQL의 복제 정보를 참조하세요.
  2. 기본 인스턴스가 생성된 후 루트 사용자의 비밀번호를 선택하고 다음 명령어를 실행하여 기본 인스턴스에서 비밀번호를 설정합니다. 나중에 읽기 풀에 연결할 때 사용할 수 있도록 이 비밀번호를 저장합니다.
  3.     gcloud --project=PROJECT \
        sql users set-password root --host=% \
        --instance=PRIMARY_INSTANCE_NAME --prompt-for-password
      

    다음을 바꿉니다.

    • PROJECT: 기본 인스턴스와 읽기 풀이 상주할 프로젝트의 이름
    • PRIMARY_INSTANCE_NAME: 기본 인스턴스 이름입니다.

읽기 풀 만들기

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances create 명령어를 사용하여 읽기 풀 노드가 여러 개 있는 읽기 풀을 만듭니다.

      gcloud sql instances create READ_POOL_NAME \
      --tier=TIER --edition=ENTERPRISE_PLUS \
      --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT \
      --master-instance-name=PRIMARY_INSTANCE_NAME
    

다음을 바꿉니다.

  • READ_POOL_NAME: 읽기 풀에 사용할 이름
  • TIER: 읽기 풀의 각 읽기 풀 노드에 사용할 머신 유형(예: db-perf-optimized-N-4)
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.
  • PRIMARY_INSTANCE_NAME: 읽기 풀과 연결된 기본 인스턴스의 이름(예: my-primary-instance)

Terraform

읽기 풀을 만들려면 Terraform 리소스를 사용합니다. 그런 다음 instance_type 속성을 "READ_POOL_INSTANCE"로 설정하고 node_count 속성을 사용하려는 노드 수로 설정합니다.

다음 예에는 기본 인스턴스와 읽기 풀의 리소스가 포함되어 있습니다.


resource "google_sql_database_instance" "primary" {
  name             = "postgres-primary"
  database_version = "POSTGRES_17"
  region           = "europe-west4"

  instance_type = "CLOUD_SQL_INSTANCE"

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"

    backup_configuration {
      enabled = true
    }

    ip_configuration {
      ipv4_enabled = true
    }
  }
}

resource "google_sql_database_instance" "replica" {
  name             = "postgres-replica"
  database_version = "POSTGRES_17"
  region           = "europe-west4"

  master_instance_name = google_sql_database_instance.primary.name
  instance_type        = "READ_POOL_INSTANCE"
  node_count           = 2

  settings {
    tier    = "db-perf-optimized-N-2"
    edition = "ENTERPRISE_PLUS"

    ip_configuration {
      ipv4_enabled = true
    }
  }
}

변경사항 적용

Trusted Cloud 프로젝트에 Terraform 구성을 적용하려면 다음 섹션의 단계를 완료하세요.

Cloud Shell 준비

  1. Cloud Shell을 실행합니다.
  2. Terraform 구성을 적용할 기본 Trusted Cloud 프로젝트를 설정합니다.

    이 명령어는 프로젝트당 한 번만 실행하면 되며 어떤 디렉터리에서도 실행할 수 있습니다.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Terraform 구성 파일에서 명시적 값을 설정하면 환경 변수가 재정의됩니다.

디렉터리 준비

각 Terraform 구성 파일에는 자체 디렉터리(루트 모듈이라고도 함)가 있어야 합니다.

  1. Cloud Shell에서 디렉터리를 만들고 해당 디렉터리 내에 새 파일을 만드세요. 파일 이름에는 .tf 확장자가 있어야 합니다(예: main.tf). 이 튜토리얼에서는 파일을 main.tf라고 합니다.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 튜토리얼을 따라 하는 경우 각 섹션이나 단계에서 샘플 코드를 복사할 수 있습니다.

    샘플 코드를 새로 만든 main.tf에 복사합니다.

    필요한 경우 GitHub에서 코드를 복사합니다. 이는 Terraform 스니펫이 엔드 투 엔드 솔루션의 일부인 경우에 권장됩니다.

  3. 환경에 적용할 샘플 파라미터를 검토하고 수정합니다.
  4. 변경사항을 저장합니다.
  5. Terraform을 초기화합니다. 이 작업은 디렉터리당 한 번만 수행하면 됩니다.
    terraform init

    원하는 경우 최신 Google 공급업체 버전을 사용하려면 -upgrade 옵션을 포함합니다.

    terraform init -upgrade

변경사항 적용

  1. 구성을 검토하고 Terraform에서 만들거나 업데이트할 리소스가 예상과 일치하는지 확인합니다.
    terraform plan

    필요에 따라 구성을 수정합니다.

  2. 다음 명령어를 실행하고 프롬프트에 yes를 입력하여 Terraform 구성을 적용합니다.
    terraform apply

    Terraform에 '적용 완료' 메시지가 표시될 때까지 기다립니다.

  3. 결과를 보려면 Trusted Cloud 프로젝트를 엽니다. Trusted Cloud 콘솔에서 UI의 리소스로 이동하여 Terraform이 리소스를 만들었거나 업데이트했는지 확인합니다.

변경사항 삭제

변경사항을 삭제하려면 다음 단계를 따르세요.

  1. Terraform 구성 파일에서 삭제 보호를 사용 중지하려면 deletion_protection 인수를 false로 설정합니다.
    deletion_protection =  "false"
  2. 다음 명령어를 실행하고 프롬프트에 yes를 입력하여 업데이트된 Terraform 구성을 적용합니다.
    terraform apply
  1. 다음 명령어를 실행하고 프롬프트에 yes를 입력하여 이전에 Terraform 구성에 적용된 리소스를 삭제합니다.

    terraform destroy

REST v1

인스턴스 리소스의 insert 메서드를 사용하여 읽기 풀 노드가 여러 개 있는 읽기 풀을 만듭니다. databaseVersion 속성은 기본 인스턴스와 동일해야 합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 기본 인스턴스와 읽기 풀이 상주할 프로젝트의 이름
  • REGION: 읽기 풀 리전(예: us-east1). 리전은 기본 인스턴스와 동일해야 합니다.
  • TIER: 읽기 풀의 각 읽기 풀 노드에 사용할 머신 유형(예: db-perf-optimized-N-4)
  • PRIMARY_INSTANCE_NAME: 기본 인스턴스 이름입니다.
  • READ_POOL_NAME: 읽기 풀에 사용할 이름(예: my-read-pool)
  • DATABASE_VERSION: 사용할 데이터베이스 버전. 예를 들면 POSTGRES_16입니다.
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.
  • FULL_NETWORK_NAME: 읽기 풀이 상주할 전체 네트워크 경로(예: projects/vpc-host-project/global/networks/my-network-name)

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/v1/projects/PROJECT/instances

JSON 요청 본문:

{
  "name": "READ_POOL_NAME",
  "masterInstanceName": "PRIMARY_INSTANCE_NAME",
  "project": "PROJECT",
  "databaseVersion": "DATABASE_VERSION",
  "region": "REGION",
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT,
  "settings": {
    "tier": "TIER",
    "edition": "ENTERPRISE_PLUS",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "FULL_NETWORK_NAME"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

인스턴스 리소스의 insert 메서드를 사용하여 읽기 풀 노드가 여러 개 있는 읽기 풀을 만듭니다. databaseVersion 속성은 기본 인스턴스와 동일해야 합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 기본 인스턴스와 읽기 풀이 상주할 프로젝트의 이름
  • REGION: 읽기 풀 리전(예: us-east1). 리전은 기본 인스턴스와 동일해야 합니다.
  • TIER: 읽기 풀의 각 읽기 풀 노드에 사용할 머신 유형(예: db-perf-optimized-N-4)
  • PRIMARY_INSTANCE_NAME: 기본 인스턴스 이름입니다.
  • READ_POOL_NAME: 읽기 풀에 사용할 이름(예: my-read-pool)
  • DATABASE_VERSION: 사용할 데이터베이스 버전. 예를 들면 POSTGRES_16입니다.
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.
  • FULL_NETWORK_NAME: 읽기 풀이 상주할 전체 네트워크 경로(예: projects/vpc-host-project/global/networks/my-network-name)

HTTP 메서드 및 URL:

POST https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances

JSON 요청 본문:

{
  "name": "READ_POOL_NAME",
  "masterInstanceName": "PRIMARY_INSTANCE_NAME",
  "project": "PROJECT",
  "databaseVersion": "DATABASE_VERSION",
  "region": "REGION",
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT,
  "settings": {
    "tier": "TIER",
    "edition": "ENTERPRISE_PLUS",
    "ipConfiguration": {
      "ipv4Enabled": false,
      "privateNetwork": "FULL_NETWORK_NAME"
    }
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

읽기 풀로 읽기 복제본 변환

풀의 노드 수를 지정하여 기존 Cloud SQL Enterprise Plus 버전 읽기 복제본을 읽기 풀로 변환할 수 있습니다. 이 변환 프로세스 중에 복제본 IP가 읽기 풀 IP(읽기 엔드포인트)가 되므로 재구성하지 않고 기존 클라이언트가 풀에 연결할 수 있습니다.

새로 생성된 읽기 풀 노드의 머신 유형과 구성은 원래 읽기 복제본과 동일합니다. 이 머신 유형이나 구성을 변경하려면 별도의 작업이 필요합니다. 이 작업은 영역 읽기 복제본에만 지원됩니다. 고가용성(HA) 읽기 복제본을 읽기 풀로 변환하려면 먼저 영역 읽기 복제본으로 변환해야 합니다.

자세한 내용은 읽기 풀 구성 수정을 참조하세요.

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances patch 명령어를 사용하여 읽기 풀에서 사용할 읽기 복제본을 변환합니다.

      gcloud sql instances patch READ_REPLICA_NAME \
      --instance-type=READ_POOL_INSTANCE --node-count=NODE_COUNT
    

다음을 바꿉니다.

  • READ_REPLICA_NAME: 변환하려는 읽기 복제본의 이름
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.

Terraform

읽기 복제본을 읽기 풀로 변환하려면 Terraform 리소스를 사용합니다. 매니페스트는 읽기 복제본 만들기에서 사용한 매니페스트와 유사합니다. 그 다음 아래 단계를 완료합니다.

  • instance_type 속성을 "READ_REPLICA_INSTANCE"에서 "READ_POOL_INSTANCE"로 변경하고 node_count 속성을 사용할 노드 수로 변경합니다.
  • 이전에 설정한 경우 settings.availability_type 속성을 삭제합니다.

REST v1

인스턴스 리소스의 patch 메서드를 사용하여 읽기 복제본을 읽기 풀로 변환합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • READ_REPLICA_NAME: 변환하려는 읽기 복제본의 이름(예: my-read-replica)
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_REPLICA_NAME

JSON 요청 본문:

{
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

인스턴스 리소스의 patch 메서드를 사용하여 읽기 복제본을 읽기 풀로 변환합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • READ_REPLICA_NAME: 변환하려는 읽기 복제본의 이름(예: my-read-replica)
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_REPLICA_NAME

JSON 요청 본문:

{
  "instanceType": "READ_POOL_INSTANCE",
  "nodeCount": NODE_COUNT
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

읽기 복제본으로 읽기 풀 변환

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances patch 명령어를 사용하여 읽기 풀에서 사용할 읽기 복제본을 변환합니다.

      gcloud sql instances patch READ_POOL_NAME \
      --instance-type=READ_REPLICA_INSTANCE --availability-type=ZONAL
    

다음을 바꿉니다.

  • READ_POOL_NAME: 변환하려는 읽기 풀의 이름

Terraform

읽기 풀을 읽기 복제본으로 변환하려면 Terraform 리소스를 사용합니다. 매니페스트는 읽기 풀 만들기에서 사용한 매니페스트와 유사합니다. 그런 다음 instance_type 속성을 "READ_POOL_INSTANCE"에서 "READ_REPLICA_INSTANCE"로 변경하고 node_count 속성을 삭제하고 settings.availability_type 속성을 ZONAL로 설정합니다.

REST v1

인스턴스 리소스의 patch 메서드를 사용하여 읽기 풀을 읽기 복제본으로 변환합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • READ_POOL_NAME: 읽기 풀의 이름입니다(예: my-read-pool).

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

JSON 요청 본문:

{
  "instanceType": "READ_REPLICA_INSTANCE",
  "settings": {
    "availabilityType": "ZONAL"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

인스턴스 리소스의 patch 메서드를 사용하여 읽기 풀을 읽기 복제본으로 변환합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • READ_POOL_NAME: 읽기 풀의 이름입니다(예: my-read-pool).

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

JSON 요청 본문:

{
  "instanceType": "READ_REPLICA_INSTANCE",
  "settings": {
    "availabilityType": "ZONAL"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

읽기 풀 정보 보기

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances describe 명령어를 사용하여 읽기 풀을 설명합니다.

      gcloud sql instances describe READ_POOL_NAME
    

다음을 바꿉니다.

  • READ_POOL_NAME: 설명할 읽기 풀의 이름

IP 주소와 노드 정보가 포함된 응답 예시는 다음과 비슷합니다.

      ...
      connectionName: my-project:us-central1:read-pool
      ipAddresses:
      - ipAddress: 10.3.0.108
        type: PRIVATE
      nodeCount: 2
      nodes:
      - dnsName: c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.
        gceZone: us-central1-f
        ipAddresses:
        - ipAddress: 10.3.0.112
          type: PRIVATE
        name: read-pool-node-01
        state: RUNNABLE
      - dnsName: 8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.
        gceZone: us-central1-c
        ipAddresses:
        - ipAddress: 10.3.0.113
          type: PRIVATE
        name: read-pool-node-02
        state: RUNNABLE
    

REST v1

get 메서드를 사용하여 읽기 풀 세부정보를 봅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름입니다.
  • READ_POOL_NAME: 읽기 풀의 이름입니다(예: my-read-pool).

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

get 메서드를 사용하여 읽기 풀 세부정보를 봅니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름입니다.
  • READ_POOL_NAME: 읽기 풀의 이름입니다(예: my-read-pool).

HTTP 메서드 및 URL:

GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

{
  [...],
  "connectionName": "my-project:us-central1:read-pool",
  "ipAddresses": [
    {
      "type": "PRIVATE",
      "ipAddress": "10.3.0.108"
    }
  ],
  "nodeCount": 2,
  "nodes": [
    {
      "ipAddresses": [
        {
          "type": "PRIVATE",
          "ipAddress": "10.3.0.112"
        }
      ],                                                                                                                 
      "name": "read-pool-node-01",
      "gceZone": "us-central1-f",
      "dnsName": "c5bdacb09ffc.j10o8yqc7pve.us-central1.sql.goog.",
      "state": "RUNNABLE"
    },
    {
      "ipAddresses": [
        {
          "type": "PRIVATE",
          "ipAddress": "10.3.0.113"
        }
      ],
      "name": "read-pool-node-02",
      "gceZone": "us-central1-c",
      "dnsName": "8f77c454d6b2.j10o8yqc7pve.us-central1.sql.goog.",
      "state": "RUNNABLE"
    }
  ]
}

읽기 풀 노드 추가 또는 삭제

다음 단계에서는 읽기 풀의 읽기 풀 노드 수를 수정하여 읽기 풀을 확장하거나 축소합니다. 일부 작업 제한사항이 적용됩니다. 자세한 내용은 읽기 풀 제한사항을 참조하세요.

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances patch 명령어를 사용하여 읽기 풀을 확장합니다.

      gcloud sql instances patch READ_POOL_NAME \
      --node-count=NODE_COUNT
    

다음을 바꿉니다.

  • READ_POOL_NAME: 읽기 풀 이름
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.

Terraform

읽기 풀 노드 수를 변경하려면 기존 Terraform 리소스를 업데이트합니다. 매니페스트는 읽기 풀 만들기에서 사용한 매니페스트와 유사합니다. 그런 다음 node_count 속성을 사용하려는 노드 수로 변경합니다.

REST v1

patch 메서드를 사용하여 읽기 풀의 읽기 풀 노드 수를 수정해 읽기 풀을 확장하거나 축소합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

JSON 요청 본문:

{
  "nodeCount": NODE_COUNT
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

patch 메서드를 사용하여 읽기 풀의 읽기 풀 노드 수를 수정해 읽기 풀을 확장하거나 축소합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름
  • NODE_COUNT: 읽기 풀에 사용할 읽기 풀 노드 수. 1~20 사이의 숫자를 선택합니다.

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

JSON 요청 본문:

{
  "nodeCount": NODE_COUNT
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

읽기 풀 구성 수정

다음 단계에서는 읽기 풀 구성을 수정하는 방법을 보여줍니다. 자세한 내용은 인스턴스 설정 정보인스턴스 수정을 참조하세요.

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances patch 명령어를 사용하여 머신 유형을 수정하는 등 읽기 풀을 수직 확장합니다.

      gcloud sql instances patch READ_POOL_NAME \
      --tier=TIER
    

다음을 바꿉니다.

  • READ_POOL_NAME: 읽기 풀 이름
  • TIER: 읽기 풀의 각 읽기 풀 노드에 적용할 머신 유형(예: db-perf-optimized-N-8)

Terraform

읽기 풀 구성을 수정하려면 기존 Terraform 리소스를 업데이트합니다. 매니페스트는 읽기 풀 만들기에서 사용한 매니페스트와 유사합니다. 그런 다음 settings 필드에서 변경하려는 속성을 업데이트합니다. 예를 들어 settings.tier 속성을 다른 머신 유형으로 변경합니다.

REST v1

patch 메서드를 사용하여 읽기 풀 노드 구성을 수정합니다. 설정은 읽기 풀의 모든 읽기 풀 노드에 균일하게 적용됩니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름입니다.
  • TIER: 읽기 풀의 각 읽기 풀 노드에 사용할 머신 유형(예: db-perf-optimized-N-4)
  • READ_POOL_NAME: 읽기 풀 이름(예: my-read-pool)

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

JSON 요청 본문:

{
  "settings": {
    "tier": "TIER"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

patch 메서드를 사용하여 읽기 풀 노드 구성을 수정합니다. 설정은 읽기 풀의 모든 읽기 풀 노드에 균일하게 적용됩니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름입니다.
  • TIER: 읽기 풀의 각 읽기 풀 노드에 사용할 머신 유형(예: db-perf-optimized-N-4)
  • READ_POOL_NAME: 읽기 풀 이름(예: my-read-pool)

HTTP 메서드 및 URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

JSON 요청 본문:

{
  "settings": {
    "tier": "TIER"
  }
}

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

읽기 풀에 연결

읽기 풀에 연결하는 방법에는 여러 가지가 있습니다. 다음 단계에서는 연결 소스로 제공되는 같은 VPC 네트워크에 VM을 만들어 비공개 IP 주소로 읽기 풀에 연결하는 한 가지 방법을 보여줍니다.

Cloud SQL 인스턴스에 대한 연결을 구성하는 다른 방법에 대한 자세한 내용은 Cloud SQL 연결 정보를 참조하세요. 연결 방법에서는 일반적으로 읽기 풀 정보 보기의 설명대로 먼저 인스턴스의 IP 주소나 연결 이름을 가져와야 합니다. 읽기 풀은 다른 Cloud SQL 인스턴스에서 사용할 수 있는 대부분의 연결 방법을 지원하지만 몇 가지 제한사항이 있습니다.

Cloud SQL 인증 프록시나 Cloud SQL 커넥터를 사용하여 연결하는 경우 최신 버전으로 업데이트해야 합니다. 읽기 풀 지원의 경우 필요한 최소 버전은 다음을 포함합니다.

  • Cloud SQL 인증 프록시: v2.15.2
  • Cloud SQL Python 커넥터: v1.18.0
  • Cloud SQL Go 커넥터: v1.16.0
  • Cloud SQL Node 커넥터: v1.7.0
  • Cloud SQL Java 커넥터: v1.24.0

콘솔

읽기 풀에 연결하려면 다음 단계를 완료합니다.

  1. Trusted Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.

    Cloud SQL 인스턴스로 이동

    인스턴스 개요 페이지가 표시됩니다. 새 읽기 풀을 클릭하여 비공개 IP 주소를 포함한 세부정보를 봅니다. 이 인스턴스에 연결 섹션에서 인스턴스 연결 이름을 복사하여 저장합니다. connection nameprojectID:region:instanceID 형식입니다. 나중에 Cloud SQL 인증 프록시를 시작할 때 이 connection name을 사용합니다.
  2. Compute Engine VM 만들기
  3. Compute Engine VM에 대해 2개의 SSH 연결 열기 이는 후속 단계에서 Cloud SQL 인증 프록시와 데이터베이스 클라이언트를 실행하는 데 사용됩니다.
  4. 클라이언트를 설치합니다.
  5. Cloud SQL 인증 프록시를 설치합니다.
  6. Cloud SQL 인증 프록시를 시작합니다.
  7. Cloud SQL 인스턴스에 연결합니다.

자세한 내용은 비공개 IP로 Cloud SQL 인스턴스에 연결을 참조하세요.

읽기 풀 삭제

gcloud

gcloud CLI 설치 및 시작에 대한 자세한 내용은 gcloud CLI 설치를 참조하세요. Cloud Shell 시작 방법에 대한 자세한 내용은 Cloud Shell 사용을 참조하세요.

다음 gcloud sql instances delete 명령어를 사용하여 읽기 풀을 삭제합니다.

      gcloud sql instances delete READ_POOL_NAME
    

다음을 바꿉니다.

  • READ_POOL_NAME: 삭제할 읽기 풀의 이름

REST v1

delete 메서드를 사용하여 읽기 풀을 삭제합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름입니다.
  • READ_POOL_NAME: 읽기 풀의 이름입니다(예: my-read-pool).

HTTP 메서드 및 URL:

DELETE https://sqladmin.googleapis.com/v1/projects/PROJECT/instances/READ_POOL_NAME

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

REST v1beta4

delete 메서드를 사용하여 읽기 풀을 삭제합니다.

요청 데이터를 사용하기 전에 다음을 바꿉니다.

  • PROJECT: 읽기 풀이 있는 프로젝트의 이름입니다.
  • READ_POOL_NAME: 읽기 풀의 이름입니다(예: my-read-pool).

HTTP 메서드 및 URL:

DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT/instances/READ_POOL_NAME

요청을 보내려면 다음 옵션 중 하나를 펼칩니다.

다음과 비슷한 JSON 응답이 표시됩니다.

다음 단계