기본 또는 보조 인스턴스를 수동으로 장애 조치

이 문서에서는 기본 또는 보조 인스턴스를 수동으로 페일오버하는 방법을 설명합니다.

기본 및 보조 인스턴스의 고가용성

PostgreSQL용 AlloyDB는 기본 인스턴스와 보조 인스턴스 모두에서 고가용성을 지원합니다.

기본 인스턴스의 고가용성

고가용성 (HA)을 보장하기 위해 모든 AlloyDB 기본 인스턴스에는 서로 다른 영역에 있는 활성 노드와 대기 노드가 모두 있습니다. 활성 노드를 사용할 수 없게 되면 AlloyDB는 기본 인스턴스를 대기 노드로 자동 장애 조치하여 새 활성 노드로 만듭니다.

활성 노드가 예상대로 작동하는 경우에도 언제든지 기본 인스턴스를 대기 모드 노드로 수동으로 전환할 수 있습니다. 수동 장애 조치를 시작하면 AlloyDB에서 다음을 실행합니다.

  1. 기본 노드를 오프라인으로 전환합니다.

  2. 대기 모드 노드를 새 활성 노드로 전환합니다.

  3. 이전 활성 노드를 새 대기 모드 노드로 다시 활성화합니다.

수동 장애 조치는 기본 인스턴스의 노드의 활성 및 대기 역할 간에 전환합니다. 언제든지 이 교환이 발생하도록 수동 페일오버를 트리거할 수 있습니다.

예를 들어 활성 노드와 대기 노드가 각각 us-central1-aus-central1-b 영역에 있는 기본 인스턴스가 있다고 가정해 보겠습니다. us-central1-a의 중단으로 인해 자동 장애 조치가 트리거되어 us-central1-b 영역에서 활성 노드를 호스팅하게 됩니다. 활성 노드를 us-central1-a 영역에 유지하려면 수동 장애 조치를 시작하여 AlloyDB가 기본 인스턴스 노드를 서비스 중단 전 위치로 다시 전환하도록 할 수 있습니다.

유지보수 작업 중에 HA 기본 인스턴스와 기본 인스턴스에서는 일반적으로 1초 미만의 최소 유지보수 다운타임이 발생합니다. 수동 페일오버는 의도적으로 제어되는 절차이므로 예기치 않은 하드웨어 또는 네트워크 오류를 시뮬레이션하기 위한 것이 아닙니다. 대신 오류 주입을 사용하여 기본 인스턴스의 고가용성을 테스트할 수 있습니다.

보조 인스턴스의 고가용성

AlloyDB는 재해 복구를 지원하고 보조 인스턴스를 사용할 수 없을 때의 다운타임을 줄이기 위해 보조 인스턴스에 HA를 제공합니다.

기본적으로 HA는 보조 인스턴스에 구성됩니다.

AlloyDB 보조 인스턴스에는 다음 노드가 포함됩니다.

  • 요청에 응답하는 활성 보조 노드
  • 대기 보조 노드

활성 노드와 대기 노드가 리전의 서로 다른 두 영역에 있습니다. AlloyDB가 활성 노드의 사용 불가 상태를 감지하면 활성 노드가 대기 노드로 장애 조치되어 새 활성 노드로 작동합니다. 그러면 데이터가 새 활성 노드로 다시 라우팅됩니다. 이 절차를 failover라고 합니다.

시작하기 전에

  • 사용 중인 Google Cloud 프로젝트에 AlloyDB에 액세스할 수 있는 권한이 있어야 합니다.
  • 사용 중인 Google Cloud 프로젝트에 다음 IAM 역할 중 하나가 있어야 합니다.
    • roles/alloydb.admin (AlloyDB 관리자가 사전 정의한 IAM 역할)
    • roles/owner(소유자 기본 IAM 역할)
    • roles/editor(편집자 기본 IAM 역할)

    이러한 역할이 없는 경우 조직 관리자에게 문의하여 액세스 권한을 요청하세요.

기본 인스턴스에서 수동 장애 조치 수행

콘솔

  1. 클러스터 페이지로 이동합니다.

클러스터로 이동

  1. 리소스 이름 열에서 클러스터 이름을 클릭합니다.

  2. 클러스터의 인스턴스 섹션에서 기본 인스턴스의 인스턴스 작업 메뉴를 엽니다.

  3. 장애 조치를 클릭합니다.

  4. 대화상자가 표시되면 인스턴스의 ID를 입력합니다.

  5. 장애 조치 트리거를 클릭합니다.

gcloud

gcloud alloydb instances failover 명령어를 실행합니다.

gcloud alloydb instances failover INSTANCE_ID \
    --region=REGION_ID \
    --cluster=CLUSTER_ID \
    --project=PROJECT_ID

다음을 바꿉니다.

  • INSTANCE_ID: 인스턴스의 ID
  • REGION_ID: 인스턴스가 배치된 리전입니다.
  • CLUSTER_ID: 인스턴스가 배치된 클러스터의 ID입니다.
  • PROJECT_ID: 클러스터가 배치된 프로젝트의 ID입니다.

페일오버가 작동하는지 확인하려면 다음 단계를 따르세요.

  1. 페일오버를 실행하기 전에 기본 인스턴스 노드의 영역을 확인합니다.

  2. 장애 조치를 실행한 후 두 노드의 새 영역을 확인합니다.

  3. 활성 노드와 대기 모드 노드의 영역이 전환되었는지 확인합니다.

보조 인스턴스에서 수동 장애 조치 수행

보조 인스턴스를 수동으로 장애 조치하는 방법은 기본 인스턴스를 수동으로 장애 조치하는 단계와 유사합니다.

보조 클러스터를 수동으로 전환하려면 다음 단계를 따르세요.

콘솔

  1. Google Cloud 콘솔에서 클러스터 페이지로 이동합니다.

    클러스터로 이동

  2. 리소스 이름 열에서 보조 클러스터의 이름을 클릭합니다.

  3. 개요 페이지에서 클러스터의 인스턴스 섹션으로 이동하여 보조 인스턴스를 선택하고 장애 조치를 클릭합니다.

  4. 대화상자가 표시되면 인스턴스의 ID를 입력하고 장애 조치 트리거를 클릭합니다.

gcloud

gcloud CLI를 사용하려면 Google Cloud CLI를 설치 및 초기화하거나 Cloud Shell을 사용합니다.

gcloud alloydb instances failover 명령어를 사용하여 보조 인스턴스가 대기 인스턴스로 페일오버하도록 강제합니다.

 gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
 --cluster=SECONDARY_CLUSTER_ID \
 --region=REGION_ID \
 --project=PROJECT_ID

다음을 바꿉니다.

  • SECONDARY_INSTANCE_ID: 페일오버할 보조 인스턴스의 ID입니다.
  • SECONDARY_CLUSTER_ID: 보조 인스턴스가 연결된 보조 클러스터의 ID입니다.
  • REGION_ID: 보조 인스턴스의 리전 ID입니다(예: us-central1).
  • PROJECT_ID: 보조 클러스터 프로젝트의 ID입니다.

다음 단계