재해 복구 구성¶
재해 복구를 지원하기 위해 두 번째 인스턴스를 사용하도록 |SNC|를 구성할 수 있습니다.
Snowflake Connector for ServiceNow® 재해 복구 지원 정보¶
|SNC|는 애플리케이션 인스턴스 내에 구성된 테이블과 자체 구성에 대한 메타데이터를 저장합니다. 애플리케이션이 삭제되거나 손상되면 이 내부 상태가 손실됩니다. 이를 방지하기 위해 커넥터는 다음과 같은 특정 이벤트 중에 수집된 데이터와 함께 메타데이터를 대상 데이터베이스로 내보냅니다.
새 수집 예약하기
다시 로드 마무리하기
다시 로드 취소하기
내보내기 프로세스는 커넥터의 내부 상태를 저장하기 위해 대상 스키마에 여러 개의 테이블을 만듭니다. 이러한 테이블에는 수집된 데이터가 포함되어 있지 않지만, 애플리케이션이 삭제되거나 손상된 후 커넥터의 상태를 복구하는 데 필수적입니다. 이 테이블을 복제하면 다른 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
__CONNECTOR_STATE_EXPORT
기존 데이터 및 보고서를 커넥터의 새 인스턴스로 가져오기¶
|SNC|가 제거되거나 손상된 경우 대상 데이터베이스가 삭제되지 않았다면 이전에 구성된 테이블의 수집을 재개할 수 있습니다. 커넥터에 구성된 테이블의 메타데이터는 수집된 데이터와 함께 대상 데이터베이스에 저장됩니다.
새 커넥터 인스턴스를 설치한 후 데이터를 계속 수집하려면 다음 단계를 수행합니다.
커넥터 구성
Snowsight로 커넥터 설치 및 구성하기 또는 :doc:`installing-sql`의 지침에 따라 커넥터를 구성합니다. 대상 데이터베이스와 스키마를 선택할 때 커넥터의 이전 인스턴스에서 수집한 데이터가 포함된 기존 스키마를 선택합니다.
커넥터에 필수 권한 부여
참고
이 단계는 SQL 명령을 사용하여 커넥터를 설치하고 구성한 경우에만 필요합니다. |sf-web-interface|를 사용하여 커넥터를 설치한 경우 이 단계는 건너뛸 수 있습니다.
다음 명령을 실행하여 새로 설치된 커넥터가 기존 스키마에 있는 모든 오브젝트의 소유자가 되었는지 확인합니다.
system$grant_ownership_to_application('your_application_instance', true, '<database>', '<schema>');
여기서,
<database>
및 :code:`<schema>`는 각각 기존 데이터베이스와 스키마의 이름입니다.커넥터 일시 중지하기
call pause_connector();
기존 데이터 및 테이블 구성 가져오기
설치된 애플리케이션의 컨텍스트에서 다음 명령을 실행하여 기존 데이터 및 테이블 구성을 가져옵니다.
call import_state(force => true);
force 매개 변수를 **true**로 설정하여 새로 설치된 커넥터에 적용된 모든 변경 사항을 이전 설치의 테이블 구성 및 내부 데이터로 덮어쓰도록 합니다.
커넥터 재개
call resume_connector();
이 시점에서 Snowflake Connector for ServiceNow® 커넥터의 새 인스턴스가 기존 테이블의 수집을 다시 시작해야 합니다.
대상 데이터베이스 및 커넥터 상태를 다른 Snowflake 배포에 복제하기¶
이 섹션에서는 대상 데이터베이스의 내용을 복제하는 단계에 대해 설명합니다. 대상 데이터베이스에는 수집된 데이터와 커넥터에 구성된 테이블에 대한 메타데이터가 포함됩니다. 커넥터 또는 커넥터에서 다운로드한 데이터가 비즈니스에 중요한 경우 다른 리전에 보조 Snowflake 계정을 설정하고 대상 데이터베이스를 보조 계정에 복제하는 것이 좋습니다.
용어 및 정의¶
재해 복구 구성 프로세스 중에 사용되는 용어와 정의는 다음과 같습니다.
- 대상 데이터베이스
커넥터가 수집한 데이터의 대상으로 구성된 데이터베이스로, 커넥터의 내부 상태가 내보내지는 데이터베이스이기도 합니다.
- 대상 스키마
커넥터가 수집하는 데이터의 대상으로 구성된 스키마입니다.
- 내부 상태
커넥터의 내부 데이터 및 구성(예: 테이블 구성, 수집 상태, 오류 로그)입니다.
- 커넥터 인스턴스
Snowflake 계정에 설치된 Snowflake Connector for ServiceNow® 커넥터 인스턴스입니다.
- ACCOUNT_PRIM
기본 계정의 예시 이름
- ACCOUNT_SEC
보조(복제) 계정의 예시 이름
- APP_PRIM
기본 계정에 설치된 예시 Snowflake Connector for ServiceNow® 커넥터 인스턴스 이름
- APP_SEC
보조 계정에 설치된 예시 Snowflake Connector for ServiceNow® 커넥터 인스턴스 이름
- DST_DB.DST_SCHEMA
커넥터 인스턴스(데이터가 수집되고 커넥터의 내부 상태가 저장되는 위치)의 예시 대상 스키마 이름
- DST_DB
커넥터에 대해 구성된 예시 대상 데이터베이스 이름
- MYORG
조직의 예시 이름(두 계정이 같은 조직에 있어야 함)
소개¶
계정에 설치되면 Snowflake Connector for ServiceNow® 커넥터(커넥터 인스턴스)는 데이터, 프로시저 등이 포함된 일반 데이터베이스로 표시됩니다. 그러나 일반 데이터베이스와 동일한 방식으로 보조 계정에 복제할 수 없습니다. 현재, 내부 상태와 함께 커넥터 인스턴스를 복제본 계정에 복제하는 기본 메커니즘은 없습니다. 특히, 설치된 애플리케이션을 복제 그룹에 추가할 수 없습니다.
커넥터는 커넥터 인스턴스를 직접 복제하는 대신, 구성된 테이블의 메타데이터를 커넥터 설정 프로세스 중에 구성된 대상 스키마로 내보냅니다. 해당 상태는 여기에 저장되며 수집된 데이터와 함께 복제할 수 있습니다.
예를 들어, 데이터를 대상 스키마 DST_DB.DST_SCHEMA로 수집하도록 커넥터를 구성한 경우 커넥터는 내부 상태를 이 스키마에 자동으로 저장합니다. 그런 후 다음 명령을 사용하여 수집된 데이터와 내부 상태를 모두 복제할 수 있습니다.
create replication group connector_dest_database_group
object_types = databases
allowed_databases = dst_db
allowed_accounts = ...;
수집된 데이터 및 구성된 보고서의 복제 설정하기¶
조심
항상 재해 복구 프로시저를 테스트하여 데이터 및 상태 복제가 예상대로 작동하는지 확인합니다.
계속하기 전에 :doc:`Snowflake 복제</user-guide/account-replication-intro>`를 숙지하세요.
다음 섹션에는 모든 버전의 Snowflake에 적용되는 지침이 포함되어 있습니다.
기본 계정에서 커넥터 설치하기
기본 계정에 |SNC|를 설치하고 구성합니다. 자세한 지침은 Snowsight로 커넥터 설치 및 구성하기 또는 SQL 명령을 사용하여 커넥터 설치 및 구성하기 섹션을 참조하세요.
기본 계정에서 복제 그룹을 만들고 DST_DB 를 허용되는 데이터베이스로 추가합니다.
-- on primary account create replication group connector_rep_group_prim object_types = databases allowed_databases = dst_db allowed_accounts = myorg.account_sec replication_schedule = '10 minute';
보조 계정에서 복제 설정하기
DST_DB 를 기본 계정에서 보조 계정으로 복제하려면 보조 계정에 새 복제 그룹을 만듭니다.
-- on secondary account create replication group connector_rep_group_sec as replica of myorg.account_prim.connector_rep_group_prim; alter replication group connector_rep_group_sec refresh;
이 때 보조 계정에 읽기 전용 DST_DB 데이터베이스를 생성해야 하며, 기본 계정의 데이터는 예약된 일정에 따라 복제됩니다.
보조 계정에서 커넥터 설치하기
기본 계정에서와 동일한 방식으로 보조 계정에서 |SNC|를 설치하고 구성합니다. 복제된 데이터베이스와 스키마로 데이터를 수집하도록 인스턴스를 지정합니다. 복제가 진행되는 동안(보조 계정의 복제 그룹이 삭제될 때까지) 데이터베이스는 읽기 전용 모드입니다. 읽기 전용 데이터베이스를 수집 대상으로 사용하도록 커넥터를 구성할 수 있지만 데이터베이스가 읽기-쓰기 모드로 전환될 때까지 데이터를 수집할 수 없습니다.
보조 계정에서 커넥터를 구성한 후 실행하여 커넥터를 일시 중지합니다.
-- on secondary account call pause_connector();
이 시점에서 커넥터가 설치되어 기본 계정이 실패할 경우 인계할 준비가 됩니다.
복구 절차¶
기본 배포를 사용할 수 없게 되면 보조 계정에서 커넥터 인스턴스를 구성하여 수집을 계속합니다.
중요
모든 단계는 보조 계정에서 실행해야 합니다.
복제 그룹 삭제
보조 계정에 복제 그룹을 삭제하여 복제된 데이터베이스를 읽기-쓰기 모드로 전환합니다.
drop replication group connector_rep_group_sec;
기존 데이터베이스 오브젝트의 소유권을 커넥터에 부여하기
커넥터를 실행하여 복제된 스키마에 있는 모든 오브젝트에 대한 소유권을 부여합니다.
call system$grant_ownership_to_application('app_sec', true, 'dst_db', 'dst_schema');
상태 가져오기
기본 계정에서 복제된 상태로 커넥터를 초기화합니다.
call import_state(true);
커넥터 재개
실행하여 커넥터를 다시 시작합니다.
call resume_connector();
이 시점에서 보조 계정의 커넥터는 기본 계정의 커넥터가 중단된 지점부터 데이터 수집을 재개해야 합니다.
참고
기본 계정과 보조 계정이 모두 같은 조직에 속해 있는지 확인하십시오. 요구 사항에 따라 복제 일정을 조정할 수 있습니다.