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

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

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

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에서 활성 노드를 사용할 수 없음을 감지하면 활성 노드가 대기 노드로 장애 조치되어 새 활성 노드 역할을 합니다. 그러면 데이터가 새 활성 노드로 다시 라우팅됩니다. 이 프로세스를 장애 조치라고 합니다.

시작하기 전에

  • 사용 중인 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입니다.

다음 단계