이 페이지에서는 Cloud SQL 인스턴스의 고가용성(HA) 구성을 간략히 설명합니다. 새 인스턴스의 HA를 구성하거나 기존 인스턴스에 HA를 사용 설정하려면 인스턴스에서 고가용성 사용 설정 및 중지를 참조하세요.
HA 구성 개요
HA 구성의 목적은 영역 또는 인스턴스를 사용할 수 없게 되었을 때 다운타임을 줄이는 것입니다. 이러한 상황은 영역 중단 시 또는 하드웨어 문제가 있을 때 발생할 수 있습니다. HA를 사용할 경우 클라이언트 애플리케이션에서 데이터를 계속 사용할 수 있습니다.
HA 구성은 데이터 중복성을 제공합니다. HA를 위해 구성된 Cloud SQL 인스턴스는 리전 인스턴스라고도 하며 구성된 리전 내에 기본 및 보조 영역이 있습니다. 리전 인스턴스 내에서의 구성은 기본 인스턴스와 대기 인스턴스로 이루어집니다. 각 영역의 영구 디스크에 동기식으로 복제하는 기능을 통해, 기본 인스턴스에 대한 모든 쓰기 작업은 트랜잭션이 커밋된 것으로 보고되기 전에 양쪽 영역의 디스크에 다 복제됩니다. 인스턴스 또는 영역 장애가 발생하면 대기 인스턴스가 새 기본 인스턴스가 됩니다. 그런 다음 사용자는 새 기본 인스턴스로 다시 라우팅됩니다. 이 절차를 장애 조치라고 합니다.
장애 조치 후에는 장애 조치를 받은 인스턴스는 원래의 인스턴스가 다시 온라인 상태로 돌아온 후에도 계속해서 기본 인스턴스를 유지합니다. 서비스 중단이 발생한 영역 또는 인스턴스를 다시 사용할 수 있게 되면 원래의 기본 인스턴스는 폐기되고 다시 생성됩니다. 그런 다음 이는 새로운 대기 인스턴스가 됩니다. 차후에 장애 조치가 발생하면 새로운 기본 인스턴스는 원래 영역의 원래 인스턴스로 장애 조치를 넘깁니다.
서비스 중단이 발생한 영역에 기본 인스턴스가 필요한 경우 장애 복구를 수행할 수 있습니다. 장애 복구는 장애 조치와 동일한 단계를 반대로 수행하며 트래픽을 원래 인스턴스로 다시 라우팅합니다. 장애 복구를 수행하려면 장애 조치 시작의 절차를 따르세요.
전용 CPU가 하나 이상 있는 Cloud SQL HA 구성에 대한 리전 영구 디스크 지원에는 전체 서비스수준계약(SLA) 범위가 적용됩니다. HA 구성의 인스턴스는 요금이 독립형 인스턴스의 2배입니다. 이 요금에는 CPU, RAM 및 저장소가 포함됩니다. 자세한 내용은 가격 책정 페이지를 참조하세요.
읽기 복제본
읽기 복제본에서 가용성이 중요한 고려사항인 경우 복제본에서 HA를 사용 설정할 수 있습니다. 기본 인스턴스가 되도록 이러한 복제본을 승격할 때 복제본은 이미 고가용성 인스턴스로 설정되어 있습니다.
영역에 서비스가 중단되는 동안 해당 영역의 읽기 복제본에 대한 트래픽은 중지됩니다. 영역을 다시 사용할 수 있게 되면 이 영역의 모든 읽기 복제본이 기본 인스턴스에서 복제를 다시 시작합니다. 읽기 복제본이 서비스가 중단되지 않은 영역에 있는 경우 기본 인스턴스가 되면 대기 인스턴스에 연결됩니다.
권장사항으로 일부 읽기 복제본을 기본 인스턴스 및 대기 인스턴스와 다른 영역에 배치하는 것이 좋습니다. 예를 들어 영역 A에 기본 인스턴스를 두고 영역 B에 대기 인스턴스를 두고 영역 C에 읽기 복제본을 두면 신뢰성이 향상됩니다. 이렇게 하면 기본 인스턴스의 영역이 다운되더라도 읽기 복제본은 계속 작동합니다. 또한 읽기 복제본을 사용할 수 없는 경우 기본 애플리케이션에 읽기를 보내려면 클라이언트 애플리케이션에 비즈니스 로직을 추가해야 합니다.
참고: 대기 인스턴스는 읽기 쿼리에 사용할 수 없습니다. 이는 MySQL용 Cloud SQL 기존 HA 구성과 다릅니다.
장애 조치 개요
HA가 구성된 인스턴스가 응답하지 않을 경우 Cloud SQL은 대기 인스턴스에서 데이터를 제공하도록 자동으로 전환됩니다. 장애 조치가 발생했는지 확인하려면 작업 로그의 장애 조치 내역을 확인하세요.
로그 탐색기에서 쿼리를 빌드하는 방법을 자세히 알아보세요. 작업을 수행한 사용자 등 작업에 대한 세부정보가 필요한 경우에는 감사 로깅을 사용 설정해야 합니다.
장애 조치가 인스턴스에 미치는 영향을 확인하려면 아래의 탭을 클릭하세요.
정상
장애 조치
장애 조치 후
장애 복구
과정
장애 조치 과정은 다음과 같습니다.
기본 인스턴스 또는 영역에서 장애가 발생합니다.
초 단위로 하트비트 시스템이 기본 인스턴스가 정상적인지 감지합니다. 여러 개의 하트비트가 감지되지 않으면 장애 조치가 시작됩니다.
이제 대기 인스턴스가 재연결 즉시 데이터를 제공합니다.
대기 인스턴스는 기본 인스턴스와 공유하는 고정 IP 주소를 통해 보조 영역에서 데이터를 제공합니다.
요구사항
Cloud SQL에서 장애 조치를 허용하기 위해서는 다음과 같은 구성 요구사항을 충족해야 합니다.
- 기본 인스턴스가 정상 작동 상태(중단되거나 유지보수 작업 중이거나 백업 작업과 같은 장기 실행 Cloud SQL 인스턴스 작업을 수행하고 있지 않음)여야 합니다.
- 보조 영역과 대기 인스턴스가 모두 정상 상태여야 합니다. 대기 인스턴스가 응답하지 않으면 장애 조치 작업이 차단됩니다. Cloud SQL이 대기 인스턴스를 복구하고 보조 영역을 사용할 수 있게 되면 Cloud SQL에서 장애 조치를 허용합니다.
백업 및 복원
읽기 복제본을 제외하고 고가용성 인스턴스에는 자동 백업 및 point-in-time recovery를 사용 설정해야 합니다.
애플리케이션 및 인스턴스
비 HA 인스턴스와 HA 인스턴스의 작동 방식에는 차이가 없으므로 애플리케이션을 특정 방식으로 구성할 필요는 없습니다. 장애 조치가 발생하면 기본 인스턴스와 읽기 복제본에 대한 기존 연결이 해제되며, 기본 인스턴스에 연결을 다시 설정하는 데는 약 60초가 소요됩니다. 애플리케이션은 동일한 연결 문자열 또는 IP 주소를 사용하여 다시 연결하므로 장애 조치 후 애플리케이션을 업데이트할 필요가 없습니다.
장애 조치 시 애플리케이션에 미치는 영향을 정확히 확인하려면 장애 조치를 수동으로 시작합니다.
유지보수 다운타임
유지보수 이벤트는 HA로 구성된 기본 인스턴스에 다른 인스턴스와 동일한 방식으로 영향을 미칩니다. 기본 인스턴스가 잠시 동안 다운될 수 있습니다. 유지보수가 HA 인스턴스에 미치는 영향에 대한 자세한 내용은 유지보수 작동 방식을 참조하세요. 서비스에 미치는 영향을 최소화하려면 유지보수 설정을 변경하여 다운타임이 발생하는 시간을 제어합니다.
성능
리전 영구 디스크의 성능은 여러 요소에 따라 달라집니다. 영역 영구 디스크와 비교할 때 입력/출력 초당 작업 수(IOPS)가 리전 영구 디스크로 줄어들 수 있습니다. vm 인스턴스 유형 크기 및 워크로드 입력과 출력을 확인하세요. 주목해야 할 또 다른 측정항목은 지연 시간입니다. 솔리드 스테이트 드라이브(SSD)를 사용하는 리전별 영구 디스크의 지연 시간이 SSD를 사용하는 영구 디스크의 지연 시간보다 더 깁니다. 이는 워크로드가 스트리밍 워크로드가 아니며 지연 시간에 민감한 경우에는 IOPS 한계에 도달할 수 없음을 암시하는데, SSD를 사용하는 리전 영구 디스크의 지연 시간이 SSD를 사용하는 영역 영구 디스크의 지연 시간보다 더 길기 때문입니다. 이것은 리전 영구 디스크와 관련된 여러 영역에서 데이터를 동기식으로 복제하므로 리전 내 여러 영역에서 데이터 복사본을 여러 개 제공할 수 있기 때문입니다.
기존 MySQL 고가용성 옵션
MySQL 인스턴스에 고가용성을 추가하는 기존 프로세스에는 장애 조치 복제본이 사용됩니다. Google Cloud Console에서는 기존 기능을 사용할 수 없습니다. 기존 구성: 고가용성으로 구성된 새 인스턴스 만들기 또는 기존 구성: 기존 인스턴스를 고가용성으로 구성을 참조하세요.
다음 단계
- 인스턴스에서 고가용성 사용 설정 및 중지
- 장애 조치 시작
- 데이터베이스 연결 관리 자세히 알아보기
- Cloud SQL의 리전 및 영역 자세히 알아보기