Cloud SQL 장애 조치 결함 참조

이 페이지에서는 장애 조치 Cloud SQL 장애 유형을 사용한 실험 중에 발생하는 상황을 설명합니다.

장애 조치 Cloud SQL 결함 작동 방식

장애 조치 Cloud SQL 결함은 Cloud SQL Admin API에서 failover 메서드를 호출하여 Cloud SQL 인스턴스의 고가용성 (HA) 장애 조치를 트리거합니다. 이 오류의 목적은 기본 Cloud SQL 인스턴스가 동일한 리전 내의 다른 영역에 있는 대기 인스턴스로 전환될 때 서비스의 동작과 복원력을 테스트할 수 있도록 하는 것입니다.

이 오류의 대상은 Cloud SQL 인스턴스입니다.

실험 실행 중에 발생하는 상황

실험이 상태를 거치면서 관련 리소스에 다음과 같은 변경사항이 적용됩니다.

리소스

PREPARING

INJECTING

REVERTING

Instance

없음

HA 대기 인스턴스 승격

해당 없음

HA 장애 조치 유효성 검사 및 재시도

Fault Injection Testing 백엔드는 환경이 적합한지 확인하기 위해 장애 조치를 시작하기 전에 유효성 검사를 실행합니다. 이 프로세스는 INJECTING 단계에서 Cloud SQL 컨트롤 플레인에 sqladmin.instances.failover API 호출을 보내기 전에 발생합니다.

  • 시스템에서 Cloud SQL 인스턴스의 상태RUNNABLE인지 확인합니다. 실험이 실행되는 동안 인스턴스가 다른 상태에 있으면 Fault Injection Testing에서 알림을 보냅니다.
  • cloudsql.googleapis.com/database/available_for_failover 측정항목이 TRUE인지 확인합니다.

이러한 조건이 충족되지 않으면 장애 조치 요청이 재시도를 위해 대기열에 추가됩니다.

오류 처리

장애 조치가 이미 진행 중이거나 오류가 발생한 경우:

  • 삽입 중: 장애 조치 호출이 Cloud SQL 컨트롤 플레인에 의해 거부되면 (예: 대기 인스턴스가 비정상인 경우) 실험이 STOPPING 상태로 이동합니다.
  • 장애 조치 후 모니터링: 장애 조치 작업이 미리 정해진 10분 이내에 DONE 상태에 도달하지 않으면 Fault Injection Testing 백엔드에서 작업 오류를 쿼리하고 실험을 STOPPING 상태로 이동하며 실험에 오류가 발생한 것으로 표시합니다.

Fault Injection Testing는 Cloud SQL 컨트롤 플레인을 신뢰할 수 있는 소스로 사용합니다. 대기 인스턴스가 비정상인 경우 컨트롤 플레인은 장애 조치 시도를 거부합니다. Fault Injection Testing은 거부 후 자동 재시도를 시도하는 대신 프리플라이트 검사와 상태 모니터링을 사용하여 이러한 실패를 방지하거나 보고합니다.

수동 장애 복구

장애 조치는 상태가 있는 변경사항이므로 실험을 중지해도 원래 기본 인스턴스로 자동 장애 복구되지 않습니다 (REVERTING 단계에서 '해당 사항 없음'으로 표시됨). 데이터베이스는 보조 영역에서 계속 실행됩니다.

실험이 완료된 후 인스턴스를 원래 영역으로 되돌리려면 Google Cloud 콘솔 또는 gcloud CLI를 사용하여 다른 장애 조치를 수동으로 시작해야 합니다.