리전 간 복제 및 재해 복구 사용

Lakehouse for Apache Iceberg는 카탈로그 메타데이터의 리전 간 복제 및 재해 복구를 지원합니다.

이 구성에는 Cloud Storage 이중 리전 또는 멀티 리전 버킷으로 지원되는 카탈로그가 필요합니다.

시작하기 전에

  1. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  2. BigLake API를 사용 설정합니다.

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기

    API 사용 설정

필요한 역할

Lakehouse 런타임 카탈로그에서 Iceberg REST 카탈로그 엔드포인트를 사용하는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 카탈로그 사용자 액세스, 스토리지 액세스, 카탈로그의 사용자 인증 정보 제공 모드 관리와 같은 관리 작업을 실행합니다.
  • 인증 정보 판매 모드에서 테이블 데이터 읽기: 프로젝트의 BigLake 뷰어 (roles/biglake.viewer)
  • 인증 정보 제공 모드에서 테이블 데이터 쓰기: 프로젝트에 대한 BigLake 편집자 (roles/biglake.editor)
  • 사용자 인증 정보 벤더 제공 모드가 아닌 모드에서 카탈로그 리소스 및 테이블 데이터를 읽습니다.
  • 카탈로그 리소스를 관리하고 사용자 인증 정보 벤더 제공 모드가 아닌 모드에서 테이블 데이터를 작성합니다.

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

복제 및 재해 복구 워크플로

리전 간 복제 및 재해 복구를 사용하려면 다음 일반 단계를 따르세요.

  1. 복제 상태 보기: 현재 기본 및 보조 리전을 파악하여 장애 조치의 타겟 리전을 확인합니다.
  2. 동기화 상태 확인: 기본 리전과 보조 리전의 현재 상태를 확인하여 전환할 준비가 되었는지 확인합니다.
  3. 장애 조치 모드 선택: 소프트 장애 조치 (계획된 유지보수에 가장 적합) 또는 하드 장애 조치 (긴급 복구에 가장 적합) 중에서 선택합니다.
  4. 장애 조치 시작: 선택한 모드에 해당하는 명령어를 실행하여 기본 리전과 보조 리전을 전환합니다.

장애 조치 준비

현재 기본 리전을 식별하고 보조 리전의 동기화 상태를 확인합니다. 그런 다음 장애 조치를 시작합니다.

복제 상태 보기

카탈로그가 복제되는 리전을 확인하려면 다음 gcloud biglake iceberg catalogs describe 명령어를 실행합니다.

gcloud biglake iceberg catalogs describe CATALOG_NAME

CATALOG_NAME을 카탈로그 이름으로 바꿉니다.

동기화 상태 확인

장애 조치를 시작하기 전에 gcloud biglake iceberg catalogs failover 명령어를 사용하여 보조 복제본의 동기화 상태를 확인하세요.

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --validate_only \
    --primary-replica PRIMARY_REPLICA_REGION

다음을 바꿉니다.

  • CATALOG_NAME: 카탈로그의 이름입니다.
  • PRIMARY_REPLICA_REGION: 새 기본 복제본으로 지정할 리전입니다.

장애 조치 시작

재해 복구 기능은 메타스토어 복제를 사용하여 기본 리전과 보조 리전을 지정합니다. 모든 테이블 커밋 메타데이터는 기본 리전에서 제공되고 보조 리전으로 복제됩니다. 장애 조치 작업을 사용하여 카탈로그의 기본 리전과 보조 리전을 전환할 수 있습니다.

소프트 장애 조치

소프트 장애 조치를 시작하려면 다음 gcloud biglake iceberg catalogs failover 명령어를 실행합니다.

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION

다음을 바꿉니다.

  • CATALOG_NAME: 카탈로그의 이름입니다.
  • PRIMARY_REPLICA_REGION: 새 기본 복제본으로 지정할 리전입니다.

하드 장애 조치

강제 장애 조치를 시작하려면 다음 gcloud biglake iceberg catalogs failover 명령어를 실행합니다.

gcloud biglake iceberg catalogs failover CATALOG_NAME \
    --primary-replica PRIMARY_REPLICA_REGION \
    --conditional-failover-replication-time=REPLICATION_TIMESTAMP

다음을 바꿉니다.

  • CATALOG_NAME: 카탈로그의 이름입니다.
  • PRIMARY_REPLICA_REGION: 새 기본 복제본으로 지정할 리전입니다.
  • REPLICATION_TIMESTAMP: 복제의 체크포인트 역할을 하는 RFC 3339 타임스탬프입니다. 복제 프로세스에서는 복제본에 이 시점까지 커밋된 모든 데이터가 포함되어 있는지 확인합니다. 복제본에 이 타임스탬프 전에 커밋된 모든 데이터가 포함되어 있지 않으면 명령어가 실패합니다. 복제 지연과 관계없이 장애 조치 프로세스를 강제하려면 이 타임스탬프를 과거의 날짜로 설정하세요. 참고: 이 기능이 미리보기 상태인 동안에는 REPLICATION_TIMESTAMP에서 Cloud Storage 파일이 아닌 카탈로그 메타데이터만 추적합니다. 데이터 손실을 하한으로 유지하려면 Cloud Storage 데이터 가용성 및 내구성 문서를 참고하세요.

다음 단계