이중 리전 쿼럼 변경

이 페이지에서는 Spanner 이중 리전 쿼럼 상태를 확인하는 방법과 서비스 중단 시 쿼럼을 수동으로 변경하는 방법을 설명합니다.

이중 리전에 대한 자세한 내용은 Spanner 이중 리전 인스턴스 구성을 참조하세요.

이중 리전 쿼럼 상태 확인

다음과 같은 방법으로 이중 리전 쿼럼 상태를 확인할 수 있습니다.

데이터베이스 개요 페이지에서

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

    인스턴스 페이지로 이동

  2. 이중 리전 구성에 있는 인스턴스의 이름을 클릭합니다.

  3. 데이터베이스 이름을 클릭합니다.

  4. 개요에서 인스턴스의 이중 리전 쿼럼 상태를 표시하는 쿼럼 행을 찾습니다.

    • 쿼럼이 두 리전 모두에서 충족되면 상태는 이중 리전으로 표시됩니다.

    • 수동 또는 Google 관리 장애 조치가 수행된 경우 제공 리전 이름(예: asia-south1)이 표시됩니다.

시스템 통계 대시보드 사용

이중 리전 구성을 만든 후에는 인스턴스 수준 시스템 통계 대시보드에서 이중 리전 쿼럼 가용성 측정항목을 볼 수 있습니다.

자세한 내용은 시스템 통계 대시보드 보기를 참조하세요.

모니터링 REST API 또는 gcloud CLI 사용

Monitoring REST API 또는 gcloud CLI를 사용하여 이중 리전 쿼럼 상태를 확인할 수 있습니다.

모니터링 REST API

모니터링 projects.timeSeries.list API를 사용하여 이중 리전 쿼럼 가용성 측정항목을 쿼리해 특정 시점에 리전이 정상 상태인지 확인합니다.

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

  • PROJECT_ID: 프로젝트 ID입니다.
  • DUAL_REGION_LOCATION: 확인하려는 이중 리전의 리전 위치입니다.
  • START_TIME: 쿼리 시작 시간입니다. 현재 시간으로부터 5분 전 시간을 사용하는 것이 좋습니다.
  • END_TIME: 쿼리 종료 시간입니다. 현재 시간을 사용하는 것이 좋습니다.

HTTP 메서드 및 URL:

GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries

JSON 요청 본문:

{
  "name": "PROJECT_ID",
  "aggregation.alignmentPeriod": "60s",
  "aggregation.crossSeriesReducer": "REDUCE_FRACTION_TRUE",
  "aggregation.groupByFields": "resource.labels.location",
  "aggregation.perSeriesAligner": "ALIGN_NEXT_OLDER",
  "filter": "metric.labels.quorum_availability = "Healthy" AND metric.type = "spanner.googleapis.com/instance/dual_region_quorum_availability" AND resource.labels.location = "DUAL_REGION_LOCATION"",
  "interval.startTime": "START_TIME",
  "interval.endTime": "END_TIME"
}

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

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

{
  "timeSeries": [
    {
      "metric": {
        "type": "spanner.googleapis.com/instance/dual_region_quorum_availability"
      },
      "resource": {
        "type": "spanner_instance",
        "labels": {
          "project_id": "spanner-project",
          "location": "australia-southeast1"
        }
      },
      "metricKind": "GAUGE",
      "valueType": "DOUBLE",
      "points": [
        {
          "interval": {
            "startTime": "2024-07-11T05:41:23Z",
            "endTime": "2024-07-11T05:41:23Z"
          },
          "value": {
            "doubleValue": 1
          }
        }
      ]
    }
  ],
  "unit": "10^2.%"
}

유사한 응답이 표시되지 않으면 리전이 정상이 아닐 수 있으며 이중 리전 쿼럼을 이중 리전에서 단일 리전으로 변경해야 할 수 있습니다.

gcloud CLI

  1. dual-region-quorum-health-check-script.sh 파일을 다운로드합니다.

    이 Bash 스크립트는 단일 리전의 리전 상태를 확인합니다. 리전이 정상이면 스크립트에서 gcloud spanner databases change-quorum 명령어를 실행하여 이중 리전 쿼럼을 수동으로 이중 리전에서 단일 리전으로 장애 조치합니다.

  2. 스크립트에서 다음 변수를 바꿉니다.

    • PROJECT: 프로젝트 ID입니다.
    • INSTANCE: 인스턴스 ID입니다.
    • DATABASE: 데이터베이스 ID입니다.
    • SERVING_LOCATION: 확인하려는 이중 리전의 리전 위치입니다.
  3. 원하는 개발 환경에서 스크립트를 실행합니다. 자세한 내용은 Google Cloud CLI 설치 및 Spanner API 설정을 참조하세요.

  4. 리전이 비정상적이고 장애 조치가 발생한 경우 수동으로 장애 복구합니다.

이중 리전 쿼럼을 이중 리전에서 단일 리전으로 변경(장애 조치)

리전 서비스 중단 또는 네트워크 파티셔닝 문제가 발생한 경우 수동으로 장애 조치하려면 다음 안내를 따르세요.

Google Cloud 콘솔

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

    인스턴스 페이지로 이동

  2. 이중 리전 구성에 있는 인스턴스의 이름을 클릭합니다.

  3. 탐색 메뉴에서 시스템 통계를 클릭합니다.

  4. 이중 리전 쿼럼 가용성 측정항목을 찾습니다.

  5. 이중 리전 쿼럼 가용성 측정항목에 리전 중단이 표시되면 Google Cloud 콘솔 상단에 있는 Cloud Shell 활성화 버튼 아이콘 Cloud Shell 활성화를 클릭합니다.

    Cloud Shell이 열립니다.

  6. 이중 리전 쿼럼을 이중 리전에서 단일 리전으로 변경하려면 gcloud CLI 탭에서 찾은 gcloud spanner databases change-quorum 명령어를 입력합니다. 자세한 내용은 gcloud 탭을 참조하세요.

gcloud CLI

gcloud spanner databases change-quorum 명령어를 사용하여 이중 리전 쿼럼을 이중 리전에서 단일 리전으로 변경합니다.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --single-region --serving-location=SERVING_LOCATION
    [--etag=ETAG]

다음을 바꿉니다.

  • DATABASE_ID: 데이터베이스 영구 식별자입니다.

  • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

  • SERVING_LOCATION: 장애 조치를 수행할 리전 인스턴스 구성입니다. 예를 들어 asia-south1(뭄바이)가 비정상이고 asia-south2(델리)로 장애 조치하려면 asia-south2를 입력합니다. SERVING_LOCATION이 정상 리전인지 확인합니다. 장애 조치할 리전을 잘못 선택하면 데이터베이스를 사용할 수 없게 되며 리전이 다시 온라인 상태로 전환되기 전에는 복구할 수 없습니다.

선택적 플래그:

  • --etag=ETAG: ETAG 인수는 재생 보호에 사용될 수 있습니다.

쿼럼 변경 작업 상태를 확인하려면 gcloud spanner databases describe 명령어를 실행합니다. quorumInfo 필드는 작업에 대한 정보를 제공합니다.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

이중 리전 쿼럼을 단일 리전에서 이중 리전으로 변경(장애 복구)

중단된 리전이 정상으로 되었거나 네트워크 파티션 문제가 해결된 후 수동으로 장애 복구하려면 다음 안내를 따르세요.

Google Cloud 콘솔

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

    인스턴스 페이지로 이동

  2. 이중 리전 구성에 있는 인스턴스의 이름을 클릭합니다.

  3. 탐색 메뉴에서 시스템 통계를 클릭합니다.

  4. 이중 리전 쿼럼 가용성 측정항목을 찾습니다.

  5. 이중 리전 쿼럼 가용성 측정항목에서 리전 쿼럼 변경을 클릭합니다.

    Cloud Shell이 열립니다.

  6. 이중 리전 쿼럼을 이중 리전에서 단일 리전으로 변경하려면 gcloud CLI 탭에서 찾은 gcloud spanner databases change-quorum 명령어를 입력합니다. 자세한 내용은 gcloud 탭을 참조하세요.

gcloud CLI

gcloud spanner databases change-quorum 명령어를 사용하여 이중 리전 쿼럼을 단일 리전에서 이중 리전으로 변경합니다.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --dual-region
    [--etag=ETAG]

다음을 바꿉니다.

  • DATABASE_ID: 데이터베이스 영구 식별자입니다.

  • INSTANCE_ID: 인스턴스의 영구 식별자입니다.

선택적 플래그:

  • --etag=ETAG: ETAG 인수는 최적의 동시 실행 제어에 사용될 수 있습니다.

쿼럼 변경 작업 상태를 확인하려면 gcloud spanner databases describe 명령어를 실행합니다. quorumInfo 필드는 작업에 대한 정보를 제공합니다.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

다음 단계