재해 복구

Google Analytics Aggregate Data용 Snowflake Connector에는 커넥터 약관 이 적용됩니다.

GAAD 커넥터는 애플리케이션 인스턴스 내에 구성된 보고서 및 자체 구성에 대한 메타데이터를 저장합니다. 애플리케이션이 삭제되거나 손상되면 이 내부 상태는 손실됩니다. 이를 방지하기 위해 커넥터는 다음과 같은 특정 이벤트 중에 수집된 데이터와 함께 메타데이터를 대상 데이터베이스로 내보냅니다.

  • 새 보고서 구성하기

  • 보고서 삭제하기

  • Google Analytics에서 새 데이터 배치 가져오기

  • 보고서의 페이지 가져오기 크기 변경하기

내보내기 프로세스는 커넥터의 내부 상태를 저장하기 위해 대상 스키마에 여러 개의 테이블을 만듭니다. 이러한 테이블에는 수집된 데이터가 포함되어 있지 않지만, 애플리케이션이 삭제되거나 손상된 후 커넥터의 상태를 복구하는 데 필수적입니다. 이 테이블을 복제하면 다른 Snowflake 계정의 커넥터 상태를 복구하는 데에도 사용할 수 있습니다. 내보내기 프로세스를 통해 생성되는 테이블은 다음과 같습니다.

  • APP_CONFIG_SFSDKEXPORT_V1

  • APP_STATE_SFSDKEXPORT_V1

  • CONNECTOR_ERRORS_LOG_SFSDKEXPORT_V1

  • INGESTION_PROCESS_SFSDKEXPORT_V1

  • INGESTION_RUN_SFSDKEXPORT_V1

  • NOTIFICATIONS_STATE_SFSDKEXPORT_V1

  • RESOURCE_INGESTION_DEFINITION_SFSDKEXPORT_V1

기존 데이터 및 보고서를 커넥터의 새 인스턴스로 가져오기.

GAAD 커넥터가 제거되었거나 손상된 경우, 대상 데이터베이스가 삭제되지 않았다면 이전에 구성된 보고서의 수집을 다시 시작할 수 있습니다. 커넥터에서 구성된 보고서의 메타데이터는 수집된 데이터와 함께 대상 데이터베이스에 저장됩니다. 새 커넥터 인스턴스를 설치한 후 데이터를 계속 수집하려면 다음 단계를 따르십시오.

  1. 커넥터 구성

    Snowflake Connector for Google Analytics Aggregate Data 설치 및 구성 의 지침에 따라 커넥터를 구성합니다. 대상 데이터베이스 및 스키마를 선택할 때 커넥터의 이전 인스턴스에서 수집한 데이터가 포함된 기존 스키마를 선택합니다.

  2. 커넥터에 요구 사항을 충족하는 권한을 부여합니다.

    참고

    Snowsight 를 사용하여 새 커넥터를 설치하고 구성한 경우에는 이 단계가 필요하지 않습니다. SQL 명령을 사용하여 커넥터를 설치한 경우에만 실행하십시오.

    다음 명령을 실행하여 새로 설치된 GAAD 커넥터가 기존 스키마에 있는 모든 오브젝트의 소유자가 되었는지 확인합니다.

    system$grant_ownership_to_application('your_application_instance', true, 'database', 'schema');
    
    Copy

    여기서 데이터베이스스키마 는 각각 기존 데이터베이스와 스키마의 이름입니다.

  3. 커넥터를 일시 중지합니다.

    call pause_connector();
    
    Copy
  4. 기존 데이터 및 보고서를 가져옵니다.

    설치된 애플리케이션의 컨텍스트에서 다음 명령을 실행하여 기존 데이터 및 보고서를 가져옵니다.

    call import_state(force => true);
    
    Copy

    force 매개 변수를 true 로 설정하여 새로 설치된 커넥터에 적용된 모든 변경 사항을 이전 설치의 보고서 및 내부 데이터로 덮어쓰도록 합니다.

  5. 커넥터 재개

    call resume_connector();
    
    Copy

이 시점에서 Snowflake Connector for Google Analytics Aggregate Data 커넥터의 새 인스턴스가 기존 보고서의 수집을 다시 시작해야 합니다.

대상 데이터베이스 및 커넥터 상태를 다른 Snowflake 배포에 복제하기

이 섹션에서는 대상 데이터베이스의 내용을 복제하는 단계에 대해 설명합니다. 대상 데이터베이스에는 수집된 데이터와 커넥터에 구성된 보고서의 메타데이터가 포함되어 있습니다. 커넥터 또는 GAAD 커넥터에서 다운로드한 데이터가 비즈니스에 중요한 경우 다른 리전에 보조 Snowflake 계정을 설정하고 대상 데이터베이스를 보조 계정에 복제하는 것을 고려하십시오.

용어 및 정의

  • 대상 데이터베이스 - GAAD 커넥터가 수집하는 데이터의 대상으로 구성된 데이터베이스입니다. 커넥터의 내부 상태가 내보내지는 데이터베이스이기도 합니다.

  • 싱크 데이터베이스 - GAAD 커넥터가 수집하는 데이터의 대상으로 구성된 스키마입니다.

  • 내부 상태 - GAAD 커넥터의 내부 데이터 및 구성(예: 보고서 구성, 수집 상태, 오류 로그)입니다.

  • GAAD 인스턴스 - Snowflake 계정에 설치된 Snowflake Connector for Google Analytics Aggregate Data 커넥터 인스턴스입니다.

  • GAAD - Snowflake Connector for Google Analytics Aggregate Data

  • ACCOUNT_PRIM - 기본 계정의 예시 이름

  • ACCOUNT_SEC - 보조(복제) 계정의 예시 이름

  • APP_PRIM - 기본 계정에 설치된 예시 Snowflake Connector for Google Analytics Aggregate Data 커넥터 인스턴스 이름

  • APP_SEC - 보조 계정에 설치된 예시 Snowflake Connector for Google Analytics Aggregate Data 커넥터 인스턴스 이름

  • DST_DB.DST_SCHEMA - GAAD 인스턴스(데이터가 수집되고 커넥터의 내부 상태가 저장되는 위치)의 예시 대상 스키마 이름입니다.

  • DST_DB - GAAD 커넥터에 대해 구성된 예시 대상 데이터베이스 이름

  • MYORG - 조직의 예시 이름(두 계정이 같은 조직에 있어야 함)

소개

계정에 설치하면 Snowflake Connector for Google Analytics Aggregate Data 커넥터(GAAD 인스턴스)는 데이터, 프로시저 등을 포함하는 일반 데이터베이스로 표시됩니다. 그러나 일반 데이터베이스와 같은 방식으로 보조 계정에 복제할 수는 없습니다. 현재 내부 상태의 GAAD 인스턴스를 복제 계정으로 복제하는 기본 메커니즘은 없습니다. 특히 설치된 애플리케이션은 복제 그룹에 추가할 수 없습니다.

커넥터는 GAAD 인스턴스를 직접 복제하는 대신 구성된 보고서의 메타데이터를 커넥터 설정 프로세스 중에 구성된 대상 스키마로 내보냅니다. 상태는 여기에 저장되며 수집된 데이터와 함께 복제할 수 있습니다.

예를 들어, 커넥터를 대상 스키마 DEST_DATABASE.PUBLIC 으로 데이터를 수집하도록 구성한 경우 커넥터는 내부 상태를 이 스키마에 자동으로 저장합니다. 그런 다음, 다음 명령을 사용하여 수집된 데이터와 내부 상태를 모두 복제할 수 있습니다.

create replication group gaad_dest_database_group
  object_types = databases
  allowed_databases = dst_db
  allowed_accounts = ...;
Copy

수집된 데이터 및 구성된 보고서의 복제 설정하기

참고

항상 재해 복구 프로시저를 테스트하여 데이터 및 상태 복제가 예상대로 작동하는지 확인합니다.

참고

다음 섹션에는 모든 버전의 Snowflake에 적용되는 지침이 포함되어 있습니다.

참고

계속하기 전에 Snowflake 복제(https://docs.snowflake.com/en/user-guide/account-replication-intro)에 익숙해지십시오.

  1. 기본 계정에 GAAD 설치 관리자 설정하기

    기본 계정에 Snowflake Connector for Google Analytics Aggregate Data 를 설치하고 구성합니다. 자세한 지침은 Snowflake Connector for Google Analytics Aggregate Data 설치 및 구성 섹션을 참조하십시오.

    기본 계정에서 복제 그룹을 만들고 DST_DB 를 허용되는 데이터베이스로 추가합니다.

    -- on primary account
    create replication group gaad_rep_group_prim
      object_types = databases
      allowed_databases = dst_db
      allowed_accounts = myorg.account_sec
      replication_schedule = '10 minute';
    
    Copy
  2. 보조 계정에서 복제 설정하기

    DST_DB 를 기본 계정에서 보조 계정으로 복제하려면 보조 계정에 새 복제 그룹을 만듭니다.

    -- on secondary account
    create replication group gaad_rep_group_sec
      as replica of myorg.account_prim.gaad_rep_group_prim;
    
    alter replication group gaad_rep_group_sec refresh;
    
    Copy

    이 때 보조 계정에 읽기 전용 DST_DB 데이터베이스를 생성해야 하며, 기본 계정의 데이터는 예약된 일정에 따라 복제됩니다.

  3. 보조 계정에 GAAD 설치 관리자 설정하기

    기본 계정과 동일한 방법으로 보조 계정에 Snowflake Connector for Google Analytics Aggregate Data 를 설치하고 구성합니다. 복제된 데이터베이스 및 스키마로 데이터를 수집할 인스턴스를 가리킵니다. 복제가 진행되는 동안(보조 계정의 복제 그룹이 삭제될 때까지) 데이터베이스는 읽기 전용 모드가 됩니다. GAAD 는 읽기 전용 데이터베이스를 수집 대상으로 사용하도록 구성할 수 있지만, 데이터베이스가 읽기-쓰기 모드로 전환될 때까지 데이터를 수집할 수 없습니다.

    보조 계정에서 커넥터를 구성한 후 실행하여 커넥터를 일시 중지합니다.

    -- on secondary account
    call pause_connector();
    
    Copy

    이 시점에서 GAAD 커넥터가 설치되어 기본 계정이 실패할 경우 이를 이어받을 준비가 된 것입니다.

복구 절차

기본 배포를 사용할 수 없게 되면 보조 계정에서 GAAD 인스턴스를 구성하여 수집을 계속합니다.

참고

모든 단계는 보조 계정에서 실행해야 합니다.

  1. 복제 그룹 삭제

    보조 계정에 복제 그룹을 삭제하여 복제된 데이터베이스를 읽기-쓰기 모드로 전환합니다.

    drop replication group gaad_rep_group_sec;
    
    Copy
  2. 기존 데이터베이스 오브젝트의 소유권을 커넥터에 부여

    GAAD 커넥터를 실행하여 복제된 스키마에 있는 모든 오브젝트에 대한 소유권을 부여합니다.

    call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
    
    Copy
  3. 상태 가져오기

    기본 계정에서 복제된 상태로 커넥터를 초기화합니다.

    call import_state(false);
    
    Copy
  4. 커넥터 재개

    실행하여 커넥터를 다시 시작합니다.

    call resume_connector();
    
    Copy

    이 시점에서 보조 계정의 GAAD 커넥터는 기본 계정의 GAAD 커넥터가 중단된 지점부터 데이터 수집을 재개해야 합니다.

    참고

    기본 계정과 보조 계정이 모두 같은 조직에 속해 있는지 확인하십시오. 요구 사항에 따라 복제 일정을 조정할 수 있습니다.