이 페이지에서는 고가용성을 위해 인스턴스를 구성하는 방법을 설명합니다.
인스턴스를 만들 때 이를 고가용성으로 구성하거나 기존 인스턴스에서 고가용성을 사용 설정할 수 있습니다.
고가용성에 대한 자세한 내용은 고가용성 구성 개요를 참조하세요.
고가용성으로 구성된 새 인스턴스 만들기
인스턴스를 만들고 고가용성으로 구성하면 Cloud SQL이 해당 인스턴스를 리전 인스턴스로 만듭니다.
고가용성으로 구성된 인스턴스를 만들려면 다음과 같이 합니다.
Console
- Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스를 만듭니다.
- 인스턴스 정보 페이지에서 구성 옵션 표시를 선택합니다.
- 백업, 복구, 고가용성을 엽니다.
- 고가용성(리전) 라디오 버튼을 선택합니다.
gcloud
- 리전 인스턴스를 만듭니다.
gcloud sql instances create [REGIONAL_INSTANCE_NAME] \ --availability-type=REGIONAL \ --database-version=SQLSERVER_2017_STANDARD \ --cpu=[NUMBER_CPUS] --memory=[MEMORY_SIZE]
- 루트 사용자를 구성합니다.
gcloud sql users set-password root no-host \ --instance=[REGIONAL_INSTANCE_NAME] --password=[PASSWORD]
REST v1beta4
이 요청에서 사용 가능한 매개변수의 전체 목록은 instances:insert 페이지를 참조하세요.리전 인스턴스를 만듭니다.
-
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
- database-version: 데이터베이스 버전 열거형 문자열
- region: GCP 리전
- machine-type: 머신 유형
HTTP 메서드 및 URL:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances
JSON 요청 본문:
{ "name": "instance-name", "region": "region", "databaseVersion": "database-version", "settings": { "tier": "machine-type", "backupConfiguration": { "enabled": true }, "availabilityType": "REGIONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 유사한 JSON 응답이 표시됩니다.
- 인스턴스 초기화가 완료되면 인스턴스에서 루트 비밀번호를 업데이트합니다.
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
- password: 새 루트 사용자 비밀번호
HTTP 메서드 및 URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/users?host=%25&name=sqlserver'
JSON 요청 본문:
{ "name": "sqlserver", "host": "nohost", "password": "password"}
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
인스턴스 만들기에 관한 자세한 내용은 인스턴스 만들기를 참조하세요.
기존 인스턴스를 고가용성으로 구성
기존 인스턴스를 고가용성으로 구성하면 인스턴스가 재구성되는 동안 다운타임이 몇 분 정도 발생합니다.
기존 인스턴스를 고가용성으로 구성하려면 다음과 같이 합니다.
Console
기존 인스턴스를 고가용성으로 구성하면 인스턴스가 재구성되는 동안 몇 분 정도의 다운타임이 발생합니다.
기존 인스턴스를 고가용성으로 구성하려면 다음과 같이 합니다.
- Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스 이름을 클릭하여 개요 페이지를 열고 버튼 모음에서 수정을 클릭합니다.
- 자동 백업 및 고가용성 구성 옵션 섹션 아래에서 고가용성(리전) 체크박스를 선택합니다. 백업 자동화를 사용 설정하는 것도 좋습니다.
-
저장을 클릭합니다.
인스턴스가 업데이트되는 동안 기본 인스턴스의 인스턴스 페이지로 돌아옵니다.
gcloud
인스턴스를 리전 인스턴스로 업데이트합니다.
gcloud sql instances patch [INSTANCE_NAME] --availability-type REGIONAL
참조 정보는 gcloud sql instances patch
를 확인하세요.
REST v1beta4
기존 인스턴스를 고가용성으로 구성하면 인스턴스가 재구성되는 동안 몇 분 정도의 다운타임이 발생합니다.
인스턴스를 리전 인스턴스로 업데이트합니다.
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
HTTP 메서드 및 URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name
JSON 요청 본문:
{ "settings": {"availabilityType": "REGIONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
장애 조치 시작
장애 조치 테스트는 선택사항이지만 장애 조치 발생 시 애플리케이션의 응답 방식을 확인하기 위해 테스트하는 것이 좋습니다.
장애 조치에 대한 자세한 내용은 장애 조치 개요를 참조하세요.
Console
- Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.
- 기본 인스턴스 이름을 클릭하여 인스턴스 세부정보 페이지를 엽니다.
- 버튼 모음에서 장애 조치를 클릭합니다.
gcloud
다음 명령어를 통해 장애 조치를 시작합니다.
gcloud sql instances failover [PRIMARY_INSTANCE_NAME]
REST v1beta4
- 기본 인스턴스를 기술하여
settingsVersion
필드 값을 가져옵니다.아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 유사한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_5_7", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "asia-east1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "08:00", "kind": "sql#backupConfiguration", "enabled": true, "binaryLogEnabled": true }, "settingsVersion": "13", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "etag-id", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { "kind": "sql#sslCert", "certSerialNumber": "0", "cert": "certificate-id", "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id", "sha1Fingerprint": "sha-id", "instance": "instance-id", "createTime": "2019-06-28T22:46:35.052Z", "expirationTime": "2029-06-25T22:47:35.052Z" }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "asia-east1", "gceZone": "asia-east1-a" }
- 다음 명령어를 통해 장애 조치를 시작합니다.
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
- settings-version: instanceInfo의 settingsVersion
HTTP 메서드 및 URL:
POST https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name/failover
JSON 요청 본문:
{ "failoverContext": { "settingsVersion":"settings-version" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 유사한 JSON 응답이 표시됩니다.
인스턴스가 장애 조치되며 몇 분 동안 데이터를 제공할 수 없게 됩니다.
인스턴스의 고가용성 확인
인스턴스의 고가용성을 확인하려면 다음과 같이 합니다.
Console
- Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.
- 인스턴스 이름을 클릭하여 인스턴스 세부정보 페이지를 엽니다.
- 구성에 고가용성(리전)이 표시됩니다.
gcloud
gcloud sql instances describe [INSTANCE_NAME]출력에 따르면
availabilityType
은 REGIONAL
입니다.
REST v1beta4
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-id: 인스턴스 ID
HTTP 메서드 및 URL:
GET https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 유사한 JSON 응답이 표시됩니다.
{ "kind": "sql#instance", "state": "RUNNABLE", "databaseVersion": "MYSQL_5_7", "settings": { "authorizedGaeApplications": [], "tier": "db-f1-micro", "kind": "sql#settings", "pricingPlan": "PER_USE", "replicationType": "SYNCHRONOUS", "activationPolicy": "ALWAYS", "ipConfiguration": { "authorizedNetworks": [], "ipv4Enabled": true }, "locationPreference": { "zone": "asia-east1-a", "kind": "sql#locationPreference" }, "dataDiskType": "PD_SSD", "backupConfiguration": { "startTime": "08:00", "kind": "sql#backupConfiguration", "enabled": true, }, "settingsVersion": "13", "storageAutoResizeLimit": "0", "storageAutoResize": true, "dataDiskSizeGb": "10" }, "etag": "etag-id", "ipAddresses": [ { "type": "PRIMARY", "ipAddress": "10.0.0.1" } ], "serverCaCert": { "kind": "sql#sslCert", "certSerialNumber": "0", "cert": "certificate-id", "commonName": "C=US,O=Google\\, Inc,CN=Google Cloud SQL Server CA,dnQualifier=dn-qualifier-id", "sha1Fingerprint": "sha-id", "instance": "instance-id", "createTime": "2019-06-28T22:46:35.052Z", "expirationTime": "2029-06-25T22:47:35.052Z" }, "instanceType": "CLOUD_SQL_INSTANCE", "project": "project-id", "serviceAccountEmailAddress": "service-acct-id@gcp-sa-cloud-sql.iam.gserviceaccount.com", "backendType": "SECOND_GEN", "selfLink": "https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id", "connectionName": "project-id:region:instance-id", "name": "instance-id", "region": "asia-east1", "gceZone": "asia-east1-a" }
출력에 따르면 availabilityType
은 REGIONAL
입니다.
인스턴스에서 고가용성 사용 중지
이 절차를 수행하기 전에 현재 인스턴스에 실행 중인 작업이 없는지 확인합니다.
고가용성을 사용 중지하려면 다음 단계를 따르세요.
Console
- Google Cloud Console의 Cloud SQL 인스턴스 페이지로 이동합니다.
- 고가용성을 중지하려는 인스턴스를 선택합니다.
- 인스턴스 세부정보 페이지에서 수정을 클릭합니다.
- 자동 백업을 엽니다.
- 가용성에서 단일 영역을 클릭합니다.
- 저장을 클릭합니다. 수정사항을 적용하려면 인스턴스를 다시 시작해야 합니다.
- 메시지 상자가 나타나면 저장 및 다시 시작을 클릭합니다.
gcloud
참조 정보는gcloud sql instances patch
를 확인하세요.gcloud sql instances patch [INSTANCE_NAME] --availability-type ZONAL
REST v1beta4
다음 요청에서는instances:patch
메서드를 사용하여 인스턴스의 가용성 유형을 ZONAL로 변경합니다.
아래의 요청 데이터를 사용하기 전에 다음을 바꿉니다.
- project-id: 프로젝트 ID
- instance-name: 인스턴스 이름
HTTP 메서드 및 URL:
PATCH https://www.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-name
JSON 요청 본문:
{ "settings": {"availabilityType": "ZONAL" } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
성공 상태 코드(2xx)와 빈 응답을 받게 됩니다.
문제 해결
자세한 내용을 보려면 표의 링크를 클릭하세요.
문제 설명 | 문제 원인 | 해결 방법 |
---|---|---|
수동 장애 조치에 대한 측정항목을 찾을 수 없음 | 자동 장애 조치만 측정항목에 포함됩니다. | 해당 사항 없음 |
CPU 및 RAM 사용량이 거의 100%임 | 인스턴스 머신 크기가 부하에 비해 너무 작습니다. | 인스턴스 머신 크기를 업그레이드합니다. |
수동 장애 조치에 대한 측정항목을 찾을 수 없음
수동 장애 조치를 수행했지만 자동 장애 조치 측정항목의 측정 항목 탐색기에서 해당 항목을 찾을 수 없습니다.
문제 원인
자동 장애 조치만 측정항목에 포함됩니다. 수동으로 시작된 장애 조치는 포함되지 않습니다.
해결 방법
해당 사항 없음
CPU 및 RAM 사용량이 거의 100%임
Cloud SQL 인스턴스 리소스(CPU 및 RAM) 사용량이 거의 100%여서 고가용성 인스턴스가 다운됩니다.
문제 원인
인스턴스 머신 크기가 부하에 비해 너무 작습니다.
해결 방법
인스턴스를 수정하여 더 큰 머신 크기로 업그레이드하면 CPU와 메모리가 늘어납니다.
다음 단계
- 고가용성 구성 작동 방식 자세히 알아보기
- 인스턴스를 다시 시작하여 끊어진 연결에 대한 애플리케이션 응답 방식 테스트하기
- 데이터베이스 연결 관리 자세히 알아보기
- Google Cloud의 작업 제품군 자세히 알아보기