이 페이지에서는 고가용성을 위해 인스턴스를 구성하는 방법을 설명합니다.
인스턴스를 만들 때 이를 고가용성으로 구성하거나 레거시 인스턴스에서 고가용성을 사용 설정할 수 있습니다.
고가용성에 대한 자세한 내용은 고가용성 구성 개요를 참조하세요.
기존 구성에는 고가용성을 위해failover replica
인스턴스를 사용했습니다. 새 구성은 failover replica
를 사용하지 않습니다.
대신 한 리전 내 두 영역 간에 블록 수준에서 데이터를 동기식으로 복제하는 Google의 리전 영구 디스크를 사용합니다. 기존 고가용성 구성을 사용하는 기존 MySQL 인스턴스가 있는 경우 구성을 업데이트하여 현재 버전을 사용할 수 있습니다.
기존 고가용성 구성과 관련된 다른 절차는 고가용성을 위한 기존 구성을 참조하세요.
고가용성으로 구성된 새 인스턴스 만들기
인스턴스를 만들고 고가용성으로 구성하면 Cloud SQL이 해당 인스턴스를 리전 인스턴스로 만듭니다.
고가용성으로 구성된 인스턴스를 만들려면 다음과 같이 합니다.
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스 만들기를 선택합니다.
- 데이터베이스 엔진을 선택합니다.
- 리전 및 영역 가용성 선택 섹션에서 여러 영역(고가용성)을 선택합니다.
- 영역 지정을 펼칩니다.
- 기본 영역과 보조 영역을 선택합니다. 인스턴스를 만들거나 수정하는 동안 보조 영역이 사용되는 경우에는 다음 조건이 적용됩니다.
- 기본 영역은
Any
로 보조 영역은Any (different from primary)
로 기본 설정됩니다.
기본 영역과 보조 영역을 모두 지정할 경우 서로 다른 영역이어야 합니다.
- 기본 영역은
- 저장을 클릭합니다.
인스턴스가 업데이트되는 동안 기본 인스턴스의 인스턴스 페이지로 돌아옵니다.
gcloud
- 리전 인스턴스 만들기:
gcloud sql instances create REGIONAL_INSTANCE_NAME \ --availability-type=REGIONAL \ --database-version=DATABASE_VERSION \ --tier=MACHINE_TYPE \ --enable-bin-log
사용 가능한 매개변수의 전체 목록은 gcloud sql 인스턴스 만들기 참조 페이지를 확인하세요. -
--zone
및--secondary-zone
매개변수를 사용하여 기본 영역과 보조 영역을 둘 다 지정할 수 있습니다. 인스턴스를 만들거나 수정하는 동안 보조 영역이 사용되는 경우에는 다음 제한 사항이 적용됩니다.- 영역이 유효한 영역이어야 합니다.
- 보조 영역이 지정된 경우 기본 영역도 지정해야 합니다.
- 기본 영역과 보조 영역이 지정된 경우 서로 다른 영역이어야 합니다.
- 기본 영역과 보조 영역이 지정된 경우 두 영역이 같은 리전에 있어야 합니다.
- 루트 사용자를 구성합니다.
gcloud sql users set-password root --host=% \ --instance=PRIMARY_INSTANCE_NAME \ --password=PASSWORD
Terraform
고가용성 인스턴스를 만들려면 Terraform 리소스를 사용합니다.
변경사항 적용
Google Cloud 프로젝트에 Terraform 구성을 적용하려면 다음 섹션의 단계를 완료하세요.
Cloud Shell 준비
- Cloud Shell을 실행합니다.
-
Terraform 구성을 적용할 기본 Google Cloud 프로젝트를 설정합니다.
이 명령어는 프로젝트당 한 번만 실행하면 되며 어떤 디렉터리에서도 실행할 수 있습니다.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
Terraform 구성 파일에서 명시적 값을 설정하면 환경 변수가 재정의됩니다.
디렉터리 준비
각 Terraform 구성 파일에는 자체 디렉터리(루트 모듈이라고도 함)가 있어야 합니다.
-
Cloud Shell에서 디렉터리를 만들고 해당 디렉터리 내에 새 파일을 만드세요. 파일 이름에는
.tf
확장자가 있어야 합니다(예:main.tf
). 이 튜토리얼에서는 파일을main.tf
라고 합니다.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
튜토리얼을 따라 하는 경우 각 섹션이나 단계에서 샘플 코드를 복사할 수 있습니다.
샘플 코드를 새로 만든
main.tf
에 복사합니다.필요한 경우 GitHub에서 코드를 복사합니다. 이는 Terraform 스니펫이 엔드 투 엔드 솔루션의 일부인 경우에 권장됩니다.
- 환경에 적용할 샘플 매개변수를 검토하고 수정합니다.
- 변경사항을 저장합니다.
-
Terraform을 초기화합니다. 이 작업은 디렉터리당 한 번만 수행하면 됩니다.
terraform init
원하는 경우 최신 Google 공급업체 버전을 사용하려면
-upgrade
옵션을 포함합니다.terraform init -upgrade
변경사항 적용
-
구성을 검토하고 Terraform에서 만들거나 업데이트할 리소스가 예상과 일치하는지 확인합니다.
terraform plan
필요에 따라 구성을 수정합니다.
-
다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 Terraform 구성을 적용합니다.terraform apply
Terraform에 '적용 완료' 메시지가 표시될 때까지 기다립니다.
- 결과를 보려면 Google Cloud 프로젝트를 엽니다. Google Cloud 콘솔에서 UI의 리소스로 이동하여 Terraform이 리소스를 만들었거나 업데이트했는지 확인합니다.
변경사항 삭제
변경사항을 삭제하려면 다음 단계를 따르세요.
- Terraform 구성 파일에서 삭제 보호를 사용 중지하려면
deletion_protection
인수를false
로 설정합니다.deletion_protection = "false"
- 다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 업데이트된 Terraform 구성을 적용합니다.terraform apply
-
다음 명령어를 실행하고 프롬프트에
yes
를 입력하여 이전에 Terraform 구성에 적용된 리소스를 삭제합니다.terraform destroy
REST v1
이 요청에서 사용 가능한 매개변수의 전체 목록은 instances:insert 페이지를 참조하세요.리전 인스턴스를 만듭니다.
-
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
- database-version: 데이터베이스 버전 열거형 문자열
- region: GCP 리전
- machine-type: 머신 유형
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances
JSON 요청 본문:
{ "name": "instance-name", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "availabilityType": "REGIONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
- 인스턴스 초기화가 완료되면 인스턴스에서 루트 비밀번호를 업데이트합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
- password: 새 루트 사용자 비밀번호
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/users?name=root&host=%25'
JSON 요청 본문:
{ "name": "root", "host": "%", "password": "password"}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
REST v1beta4
이 요청에서 사용 가능한 매개변수의 전체 목록은 instances:insert 페이지를 참조하세요.리전 인스턴스를 만듭니다.
-
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
- database-version: 데이터베이스 버전 열거형 문자열
- region: GCP 리전
- machine-type: 머신 유형
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances
JSON 요청 본문:
{ "name": "instance-name", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "backupConfiguration": { "binaryLogEnabled": true, "enabled": true }, "availabilityType": "REGIONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
- 인스턴스 초기화가 완료되면 인스턴스에서 루트 비밀번호를 업데이트합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
- password: 새 루트 사용자 비밀번호
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?name=root&host=%25'
JSON 요청 본문:
{ "name": "root", "host": "%", "password": "password"}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
인스턴스 만들기에 관한 자세한 내용은 인스턴스 만들기를 참조하세요.
기존 인스턴스를 고가용성으로 구성
Google Cloud 콘솔, gcloud CLI 또는 API를 사용하여 Cloud SQL 인스턴스를 고가용성으로 구성할 수 있습니다.
콘솔
인스턴스를 고가용성으로 구성하려면 다음 안내를 따르세요.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 수정을 클릭합니다.
- 리전 및 영역 가용성 선택 섹션에서 여러 영역(고가용성)을 선택합니다.
- 영역 지정을 펼칩니다.
- 기본 영역과 보조 영역을 선택합니다. 인스턴스를 만들거나 수정하는 동안 보조 영역을 사용할 때는 다음 조건이 적용됩니다.
- 기본 영역은
Any
로 보조 영역은Any (different from primary)
로 기본 설정됩니다.
기본 영역과 보조 영역을 모두 지정할 경우 서로 다른 영역이어야 합니다.
- 기본 영역은
- 저장을 클릭합니다.
gcloud
인스턴스를 리전별 고가용성 인스턴스로 구성하려면 gcloud sql instances patch
명령어를 사용합니다.
gcloud sql instances patch INSTANCE_NAME \ --availability-type REGIONAL \ --enable-bin-log \ --backup-start-time=HH:MM
다음을 바꿉니다.
- INSTANCE_NAME: 고가용성으로 구성하려는 Cloud SQL 인스턴스의 이름
- HH:MM: 시간(시간 및 분)
REST v1
인스턴스를 리전별 고가용성 인스턴스로 구성하려면 다음 안내를 따르세요.
인스턴스를 확인하여 자동 백업 및 바이너리 로그가 사용 설정되어 있는지 확인합니다. 고가용성 인스턴스에 필요합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }
출력에 다음과 유사한 섹션이 포함됩니다.
"backupConfiguration": { "kind": "sql#backupConfiguration", "startTime": "12:00", "enabled": true, "binaryLogEnabled": true }
enabled
또는binaryLogEnabled
가false
이면instances:patch
메서드를 사용하여 둘 다 사용 설정합니다. 백업을 사용 설정하려면enabled
를true
로,startTime
을 백업 기간의 시작 값으로 설정합니다. 바이너리 로깅을 사용 설정하려면binaryLogEnabled
를true
로 설정합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 기본 또는 읽기 복제본 인스턴스의 이름
- START_TIME: 시간(시간 및 분)
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": { "backupConfiguration": { "startTime": "START_TIME", "enabled": true, "binaryLogEnabled": true } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
인스턴스를 고가용성 리전 인스턴스로 구성합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": {"availabilityType": "REGIONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
REST v1beta4
인스턴스를 리전별 고가용성 인스턴스로 구성하려면 다음 안내를 따르세요.
인스턴스를 확인하여 자동 백업 및 바이너리 로그가 사용 설정되어 있는지 확인합니다. 고가용성 인스턴스에 필요합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }
출력에 다음과 유사한 섹션이 포함됩니다.
"backupConfiguration": { "kind": "sql#backupConfiguration", "startTime": "12:00", "enabled": true, "binaryLogEnabled": true }
enabled
또는binaryLogEnabled
가false
이면instances:patch
메서드를 사용하여 둘 다 사용 설정합니다. 백업을 사용 설정하려면enabled
를true
로,startTime
을 백업 기간의 시작 값으로 설정합니다. 바이너리 로깅을 사용 설정하려면binaryLogEnabled
를true
로 설정합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 기본 또는 읽기 복제본 인스턴스의 이름
- START_TIME: 시간(시간 및 분)
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": { "backupConfiguration": { "startTime": "START_TIME", "enabled": true, "binaryLogEnabled": true } } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
인스턴스를 고가용성 리전 인스턴스로 구성합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": {"availabilityType": "REGIONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
장애 조치 시작
장애 조치 테스트는 선택사항이지만 장애 조치 발생 시 애플리케이션의 응답 방식을 확인하기 위해 테스트하는 것이 좋습니다.
장애 조치에 대한 자세한 내용은 장애 조치 개요를 참조하세요.
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 장애 조치를 클릭합니다.
- 수동으로 장애 조치 트리거 대화상자의 텍스트 필드에 인스턴스의 ID를 입력한 다음 장애 조치 트리거를 클릭합니다.
gcloud
다음 명령어를 통해 장애 조치를 시작합니다.
gcloud sql instances failover PRIMARY_INSTANCE_NAME
REST v1
- 기본 인스턴스를 기술하여
settingsVersion
필드 값을 가져옵니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }
- 다음 명령어를 통해 장애 조치를 시작합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
- settings-version: instanceInfo의 settingsVersion
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-name/failover
JSON 요청 본문:
{ "failoverContext": { "settingsVersion":"settings-version" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
REST v1beta4
- 기본 인스턴스를 기술하여
settingsVersion
필드 값을 가져옵니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }
- 다음 명령어를 통해 장애 조치를 시작합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
- settings-version: instanceInfo의 settingsVersion
HTTP 메서드 및 URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name/failover
JSON 요청 본문:
{ "failoverContext": { "settingsVersion":"settings-version" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
인스턴스가 장애 조치되며 몇 분 동안 데이터를 제공할 수 없게 됩니다.
인스턴스의 고가용성 구성 확인
인스턴스의 고가용성을 확인하고 인스턴스가 실행 중인 영역을 보려면 다음 단계를 따르세요.
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 구성 섹션에 다음 고가용성 설정이 표시되는지 확인합니다.
- 고가용성(리전)
- 위치에는 인스턴스의 현재 기본 영역이 표시됩니다.
gcloud
gcloud sql instances describe INSTANCE_NAME
출력에 따르면 availabilityType
은 REGIONAL
입니다.
gceZone
및 secondaryGceZone
필드는 인스턴스의 현재 기본 및 보조 영역을 표시합니다.
REST v1
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }
출력에 따르면 availabilityType
은 REGIONAL
입니다.
gceZone
및 secondaryGceZone
필드는 인스턴스의 현재 기본 및 보조 영역을 표시합니다.
REST v1beta4
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성으로 구성하려는 인스턴스의 이름
HTTP 메서드 및 URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_8_0" }
출력에 따르면 availabilityType
은 REGIONAL
입니다.
gceZone
및 secondaryGceZone
필드는 인스턴스의 현재 기본 및 보조 영역을 표시합니다.
고가용성 인스턴스의 영역 변경
기존 고가용성 인스턴스의 하나 또는 두 영역을 변경하면 인스턴스가 재구성되는 동안 몇 분 정도의 다운타임이 발생합니다. 고가용성 인스턴스가 실행 중인 현재 기본 및 보조 영역을 확인하려면 인스턴스의 고가용성 구성 확인을 참조하세요.
고가용성 인스턴스의 영역을 변경하려면 다음 안내를 따르세요.
콘솔
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 수정을 클릭합니다.
- 리전 및 영역 가용성 선택 섹션에서 영역 지정을 펼치고 새 영역을 선택합니다. 기본 영역은
Any
로 보조 영역은Any (different from primary)
로 기본 설정됩니다. 다음 제한사항이 적용됩니다.- 기본 영역만 지정하거나 기본 영역과 보조 영역을 모두 지정할 수 있습니다.
- 기본 영역과 보조 영역을 모두 지정할 경우 서로 다른 영역이어야 합니다.
- 저장을 클릭합니다.
인스턴스가 업데이트되는 동안 기본 인스턴스의 인스턴스 페이지로 돌아옵니다.
gcloud
인스턴스가 실행 중인 영역을 변경합니다.
gcloud sql instances patch INSTANCE_NAME \ --zone=PRIMARY_ZONE --secondary-zone=SECONDARY_ZONE
--secondary-zone
파라미터는 선택사항입니다. 이 부분을 생략하면 Cloud SQL에서 기본 영역과 다른 사용 가능한 영역을 선택합니다.
다음 제한사항이 적용됩니다.
- 영역은 Cloud SQL 인스턴스와 동일한 리전에 속하는 유효한 영역이어야 합니다.
- 보조 영역이 지정된 경우 기본 영역과 달라야 합니다.
REST v1
리전 인스턴스의 영역을 변경합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- INSTANCE_NAME: 인스턴스 이름
- PRIMARY_ZONE: 기본 영역
- SECONDARY_ZONE: 보조 영역
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}} }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
secondaryZone
파라미터는 선택사항입니다. 이 부분을 생략하면 Cloud SQL에서 기본 영역과 다른 사용 가능한 영역을 선택합니다.다음 제한사항이 적용됩니다.
- 영역이 유효한 영역이어야 합니다.
- 선택한 모든 영역은 Cloud SQL 인스턴스와 동일한 리전에 속해야 합니다.
REST v1beta4
리전 인스턴스의 영역을 변경합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 프로젝트 ID
- INSTANCE_NAME: 인스턴스 이름
- PRIMARY_ZONE: 기본 영역
- SECONDARY_ZONE: 보조 영역
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": {"locationPreference": {"zone": "PRIMARY_ZONE", "secondaryZone": "SECONDARY_ZONE"}} }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
secondaryZone
파라미터는 선택사항입니다. 이 부분을 생략하면 Cloud SQL에서 기본 영역과 다른 사용 가능한 영역을 선택합니다.다음 제한사항이 적용됩니다.
- 영역이 유효한 영역이어야 합니다.
- 선택한 모든 영역은 Cloud SQL 인스턴스와 동일한 리전에 속해야 합니다.
인스턴스의 고가용성 비활성화
Google Cloud 콘솔, gcloud CLI 또는 API를 사용하여 Cloud SQL 인스턴스의 고가용성을 비활성화할 수 있습니다.
콘솔
인스턴스의 고가용성을 비활성화하려면 다음 안내를 따르세요.
-
Google Cloud 콘솔에서 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스의 개요 페이지를 열려면 인스턴스 이름을 클릭합니다.
- 수정을 클릭합니다.
- 자동 백업을 엽니다.
- 가용성 섹션에서 단일 영역을 클릭합니다.
- 저장을 클릭합니다. 수정사항을 적용하려면 인스턴스를 다시 시작해야 합니다.
- 대화상자가 표시되면 저장 및 다시 시작을 클릭합니다.
gcloud
인스턴스의 고가용성을 비활성화하려면 gcloud sql instances patch
명령어를 사용합니다.
gcloud sql instances patch INSTANCE_NAME \ --availability-type ZONAL
INSTANCE_NAME을 고가용성을 비활성화하려는 Cloud SQL 인스턴스의 이름으로 바꿉니다.
REST v1
인스턴스의 가용성 유형을 ZONAL
로 변경하려면 instances:patch
메서드를 사용합니다. 이 메서드는 인스턴스의 고가용성을 비활성화합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성을 비활성화하려는 인스턴스의 이름
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": {"availabilityType": "ZONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
REST v1beta4
인스턴스의 가용성 유형을 ZONAL
로 변경하려면 instances:patch
메서드를 사용합니다. 이 메서드는 인스턴스의 고가용성을 비활성화합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_ID: 인스턴스가 포함된 Google Cloud 프로젝트의 ID 또는 프로젝트 번호
- INSTANCE_NAME: 고가용성을 비활성화하려는 인스턴스의 이름
HTTP 메서드 및 URL:
PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME
JSON 요청 본문:
{ "settings": {"availabilityType": "ZONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
문제 해결
문제 | 문제 해결 |
---|---|
수동 장애 조치에 대한 측정항목을 찾을 수 없습니다. | 자동 장애 조치만 측정항목에 포함됩니다. |
Cloud SQL 인스턴스 리소스(CPU 및 RAM) 사용량이 거의 100%여서 고가용성 인스턴스가 다운됩니다. | 인스턴스 머신 크기가 부하에 비해 너무 작습니다.
인스턴스를 수정하여 더 큰 머신 크기로 업그레이드하면 CPU와 메모리가 늘어납니다. |
다음 단계
- 고가용성 구성 작동 방식 자세히 알아보기
- 인스턴스를 다시 시작하여 끊어진 연결에 대한 애플리케이션 응답 방식 테스트하기
- 데이터베이스 연결 관리 자세히 알아보기
- Google Cloud Observability에 대해 자세히 알아보기
- 고가용성을 위한 기존 구성 자세히 알아보기
- 인스턴스의 읽기 복제본 만들기