인플레이스 업그레이드를 사용하여 인스턴스를 Cloud SQL Enterprise Plus 버전으로 업그레이드


이 페이지에서는 인플레이스 업그레이드 방법을 사용하여 Cloud SQL Enterprise 버전 인스턴스를 Cloud SQL Enterprise Plus 버전으로 업그레이드하는 방법을 설명합니다. 또한 Cloud SQL Enterprise Plus 버전 인스턴스를 Cloud SQL Enterprise 버전으로 다운그레이드하는 절차도 설명합니다.

Cloud SQL Enterprise Plus 버전으로 업그레이드하면 몇 가지 이점과 성능이 향상됩니다. 자세한 내용은 MySQL용 Cloud SQL 버전 소개를 참조하세요.

기존 Cloud SQL Enterprise 버전 인스턴스에 이러한 개선사항을 사용 설정하려면 Cloud SQL Enterprise Plus 버전으로 업그레이드해야 합니다. 60초 미만의 예상 다운타임으로 업그레이드 프로세스를 완료하는 데 몇 분 정도 걸립니다. 또한 이 프로세스에는 애플리케이션이 연결되는 엔드포인트를 변경할 필요가 없습니다.

시작하기 전에

  • 인스턴스가 솔리드 스테이트 드라이브(SSD)를 사용하는지 확인합니다.

PITR에 사용되는 트랜잭션 로그의 스토리지 위치 확인

모든 Cloud SQL Enterprise Plus 버전 인스턴스는 PITR(point-in-time recovery)을 통해 자동으로 사용 설정됩니다. 업그레이드하려는 Cloud SQL Enterprise 버전 인스턴스에서 PITR에 사용되는 바이너리 로그를 디스크에 저장하는 경우 Cloud SQL Enterprise Plus 버전으로의 업그레이드 프로세스에서 바이너리 로그의 스토리지 위치를 디스크에서 Cloud Storage로 전환합니다.

Cloud SQL Enterprise Plus 버전으로 업그레이드하기 전에 Cloud SQL Enterprise 버전 인스턴스에서 PITR에 사용되는 바이너리 로그에 대해 스토리지 위치 전환이 수행되는지 확인하세요. 인스턴스 확인 방법에 대한 자세한 내용 및 안내는 PITR에 사용되는 트랜잭션 로그의 스토리지 위치 확인을 참조하세요.

업그레이드 프로세스에서 트랜잭션 로그 스토리지 위치를 전환하는 방법에 대한 자세한 내용은 PITR에 사용되는 트랜잭션 로그의 스토리지 위치를 참조하세요.

인스턴스를 Cloud SQL Enterprise Plus 버전으로 업그레이드

이 섹션의 절차에 따라 Cloud SQL Enterprise 버전 인스턴스를 Cloud SQL Enterprise Plus 버전으로 업그레이드합니다.

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 수정을 클릭합니다.
  4. Cloud SQL 버전 선택 섹션에서 업그레이드를 클릭합니다.
  5. Enterprise Plus로 업그레이드 패널에서 인스턴스 ID를 입력한 후 버전 업그레이드를 클릭합니다.

또는 인스턴스 개요 페이지의 구성 섹션에서 업그레이드를 클릭하여 인스턴스를 업그레이드할 수도 있습니다.

gcloud

다음 코드 샘플은 인스턴스를 Cloud SQL Enterprise Plus 버전으로 업그레이드하는 방법을 보여줍니다.


gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise-plus \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

다음을 바꿉니다.

  • PROJECT_ID: 업그레이드할 인스턴스의 프로젝트 ID
  • INSTANCE_ID: 업그레이드하려는 인스턴스의 이름입니다.
  • MACHINE_TYPE: 업그레이드하려는 인스턴스의 머신 유형입니다. Cloud SQL Enterprise Plus 버전의 머신 유형에 대한 자세한 내용은 Cloud SQL Enterprise Plus 버전 인스턴스의 머신 유형을 참조하세요.

REST

다음 명령어는 인스턴스를 Cloud SQL Enterprise 버전으로 업그레이드하고 다시 시작 작업을 트리거합니다.

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

  • PROJECT_ID: 업그레이드할 인스턴스의 프로젝트 ID
  • INSTANCE_ID: 업그레이드하려는 인스턴스의 인스턴스 ID입니다.
  • MACHINE_TYPE: 업그레이드하려는 인스턴스의 머신 유형입니다. Cloud SQL Enterprise Plus 버전의 머신 유형에 대한 자세한 내용은 Cloud SQL Enterprise Plus 버전 인스턴스의 머신 유형을 참조하세요.

HTTP 메서드 및 URL:

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

JSON 요청 본문:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": 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

다음 명령어는 인스턴스를 Cloud SQL Enterprise 버전으로 업그레이드하고 다시 시작 작업을 트리거합니다.

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

  • PROJECT_ID: 업그레이드할 인스턴스의 프로젝트 ID
  • INSTANCE_ID: 업그레이드하려는 인스턴스의 인스턴스 ID입니다.
  • MACHINE_TYPE: 업그레이드하려는 인스턴스의 머신 유형입니다. Cloud SQL Enterprise Plus 버전의 머신 유형에 대한 자세한 내용은 Cloud SQL Enterprise Plus 버전 인스턴스의 머신 유형을 참조하세요.

HTTP 메서드 및 URL:

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

JSON 요청 본문:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE_PLUS",
      "dataCacheConfig": {
        "dataCacheEnabled": true
      },
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/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/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

PITR에 사용되는 트랜잭션 로그의 스토리지 위치

Cloud SQL Enterprise 버전 인스턴스가 디스크에 PITR의 트랜잭션 로그를 저장하는 경우 Cloud SQL Enterprise Plus 버전으로의 업그레이드 프로세스를 시작하면 이러한 로그의 스토리지 위치가 Cloud Storage로 전환됩니다.

위치 전환 프로세스에는 다음 조건이 적용됩니다.

  • 이 프로세스는 Cloud Storage로의 전환을 완료하는 데 대략 transactionLogRetentionDays PITR 구성 설정 기간이 걸립니다.
  • 인스턴스의 expire_logs_days 또는 binlog_expire_logs_seconds 플래그에 값이 설정된 경우 해당 값이 유지됩니다.
  • Cloud Storage로 전환하는 동안에는 인스턴스에서 expire_logs_days 또는 binlog_expire_logs_seconds 플래그의 값을 수정할 수 없습니다.
  • Cloud Storage로 전환하는 동안에는 transactionLogRetentionDays PITR 구성 설정을 수정하지 않는 것이 좋습니다. transactionLogRetentionDays를 늘려도 바이너리 로그는 Cloud SQL Enterprise 버전 인스턴스의 기본값인 7일보다 오래 디스크에 보관되지 않습니다.
  • 전환이 진행되는 동안 Cloud SQL은 다음 중 하나의 최솟값 동안만 디스크에 로그를 보관합니다.
    • 전환 전 transactionLogRetentionDays PITR 구성 설정, 기본적으로 7일
    • 인스턴스에 수동으로 설정된 expire_logs_days 또는 binlog_expire_logs_seconds 플래그
  • 전환 후 Cloud SQL은, 개발자가 인스턴스에 expire_logs_days 또는 binlog_expire_logs_seconds 플래그를 설정하지 않은 한 전환 전과 동일한 양의 바이너리 로그를 디스크에 보관합니다. 이러한 플래그를 설정하면 Cloud SQL은 transactionLogRetentionDays 구성 설정의 최솟값 또는 플래그 값을 기준으로 디스크에 바이너리 로그를 보관합니다.

Cloud SQL Enterprise Plus 버전 백업 및 로그 스토리지 기본값

인스턴스에서 Cloud Storage로 전환한 후에도 Cloud SQL은 복제를 위해 디스크에 바이너리 로그 복사본을 계속 보관합니다. 디스크에 바이너리 로그를 저장하면 mysqlbinlog 유틸리티로 바이너리 로그를 찾아볼 때 유용할 수 있습니다.

업그레이드 전 인스턴스에서 expire_logs_daysbinlog_expire_logs_seconds 플래그를 구성한 경우 구성된 값은 그대로 유지됩니다.

전환 후에는 PITR을 수행하는 데 사용되는 바이너리 로그가 이제 Cloud Storage에 저장되므로 플래그 값이 예상 디스크에 대한 트랜잭션 로그 보관을 반영하는지 확인합니다. Cloud SQL은 다음 중 하나의 최솟값에 대한 로그를 디스크에만 보관합니다.

  • 전환하기 전 transactionLogRetentionDays PITR 구성 설정, 기본적으로 7일
  • 인스턴스에 수동으로 설정된 expire_logs_days 또는 binlog_expire_logs_seconds 플래그

디스크 공간을 절약하려면 업그레이드가 완료된 후, 1일에 해당하는 값으로 expire_logs_days 또는 binlog_expire_logs_seconds 플래그의 값을 구성하여 할당된 디스크 크기 및 디스크 스토리지 비용을 줄일 수 있게 하세요. 트랜잭션 로그 스토리지 및 PITR에 대한 자세한 내용은 PITR의 로그 스토리지를 참조하세요.

Cloud SQL Enterprise Plus 버전으로 업그레이드 후에는 업그레이드된 모든 인스턴스의 기본 트랜잭션 로그 보관 기간이 14일로 증가합니다. 이러한 증가와 트랜잭션 로그 보관 기간에 대해 구성하는 다른 증가 값의 경우 PITR의 전체 보관 기간에 도달하는 데 새로운 값이나 증가된 값이 필요합니다. 예를 들어 트랜잭션 로그 보관 일수의 이전 값이 7이고 새 값이 14로 증가한 경우, 업그레이드 후 처음 7일 동안의 PITR 기간은 7일만 해당합니다. 8번째 날에는 PITR의 기간이 8일이 되고, 9번째 날은 9일이 되며, 마침내 보관 기간인 14일째가 되면 14일로 늘어납니다.

또한 자동 백업 기본 수가 8개에서 15개로 증가합니다.

주 버전 업그레이드를 수행한 후 Cloud SQL Enterprise Plus 버전으로 업그레이드하는 경우 주 버전 업그레이드 이전에 발생하는 특정 시점에는 PITR을 수행할 수 없습니다. 이러한 제한은 보관 기간이 해당 기간을 포함하는 경우에도 적용됩니다. 주 버전 업그레이드를 시작한 후 특정 시점으로 인스턴스를 복원할 수 있습니다.

Cloud SQL Enterprise 버전으로 변경

콘솔

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

    Cloud SQL 인스턴스로 이동

  2. 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
  3. 수정을 클릭합니다.
  4. Cloud SQL 버전 선택 섹션에서 엔터프라이즈로 전환을 클릭합니다.
  5. 엔터프라이즈로 전환 패널에서 인스턴스 ID를 입력한 후 버전 전환을 클릭합니다.

또는 인스턴스 개요 페이지의 구성 섹션에서 Enterprise로 전환을 클릭하여 Cloud SQL Enterprise 버전으로 변경할 수도 있습니다.

gcloud

다음 코드 샘플은 인스턴스를 Cloud SQL Enterprise 버전으로 변경하는 방법을 보여줍니다.

gcloud sql instances patch INSTANCE_ID \
  --edition=enterprise \
  --tier=MACHINE_TYPE \
  --project=PROJECT_ID

다음을 바꿉니다.
  • PROJECT_ID: 인스턴스의 프로젝트 ID
  • INSTANCE_ID: 인스턴스의 이름
  • MACHINE_TYPE: 전환하려는 인스턴스의 머신 유형. Cloud SQL Enterprise 버전의 머신 유형에 대한 자세한 내용은 Cloud SQL Enterprise 버전 인스턴스의 머신 유형을 참조하세요.

REST

다음 명령어는 인스턴스를 Cloud SQL Enterprise 버전으로 변경하고 다시 시작 작업을 트리거합니다.

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

  • PROJECT_ID: 인스턴스의 프로젝트 ID
  • INSTANCE_ID: 인스턴스의 인스턴스 ID
  • MACHINE_TYPE: 전환하려는 인스턴스의 머신 유형. Cloud SQL Enterprise 버전의 머신 유형에 대한 자세한 내용은 Cloud SQL Enterprise 버전 인스턴스의 머신 유형을 참조하세요.

HTTP 메서드 및 URL:

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

JSON 요청 본문:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

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

다음과 비슷한 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

다음 명령어는 인스턴스를 Cloud SQL Enterprise 버전으로 변경하고 다시 시작 작업을 트리거합니다.

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

  • PROJECT_ID: 인스턴스의 프로젝트 ID
  • INSTANCE_ID: 인스턴스의 인스턴스 ID
  • MACHINE_TYPE: 전환하려는 인스턴스의 머신 유형. Cloud SQL Enterprise 버전의 머신 유형에 대한 자세한 내용은 Cloud SQL Enterprise 버전 인스턴스의 머신 유형을 참조하세요.

HTTP 메서드 및 URL:

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

JSON 요청 본문:

{
  "settings": {
      "tier": "MACHINE_TYPE",
      "edition": "ENTERPRISE"
  }
}

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

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

{
  "kind": "sql#operation",
  "targetLink": "https://sqladmin.googleapis.com/v1beta4/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/v1beta4/projects/PROJECT_ID/operations/OPERATION_ID",
  "targetProject": "PROJECT_ID"
}

Cloud SQL Enterprise 버전 백업 및 로그 스토리지 기본값

Cloud SQL Enterprise 버전으로 변경해도 PITR에 사용되는 트랜잭션 로그의 스토리지 위치는 전환되지 않습니다. Cloud SQL Enterprise Plus 버전 인스턴스에서 PITR의 트랜잭션 로그를 Cloud Storage에 저장하면 로그는 Cloud Storage에 유지됩니다. 그러나 기본적으로 PITR의 트랜잭션 로그 14일을 저장하는 대신 기본값이 7일로 변경됩니다. 백업 구성은 변경되지 않습니다.

다음 단계