비즈니스 연속성 및 재해 복구 개요
Azure Data Explorer의 비즈니스 연속성 및 재해 복구를 사용하면 중단이 발생해도 비즈니스를 계속 운영할 수 있습니다. 이 문서에서는 (지역 내) 가용성 및 재해 복구를 자세히 설명합니다. 복원력 있는 Azure Data Explorer 배포에 대한 기본 기능 및 아키텍처 고려 사항을 자세히 설명합니다. 사용자 오류로부터 복구, 고가용성 및 여러 재해 복구 구성에서 수행하는 방법에 대해 자세히 설명합니다. 이러한 구성은 RPO(복구 시점 목표) 및 RTO(복구 시간 목표)와 같은 복원력 요구 사항, 필요한 활동 및 비용에 따라 달라집니다.
중단 이벤트 완화
사용자 오류
사용자 오류는 피할 수 없습니다. 사용자는 실수로 클러스터, 데이터베이스 또는 테이블을 삭제할 수 있습니다.
실수로 인한 클러스터 또는 데이터베이스 삭제
실수로 인한 클러스터 또는 데이터베이스 삭제는 복구할 수 없는 작업입니다. Azure Data Explorer 리소스 소유자는 Azure 리소스 수준에서 사용할 수 있는 삭제 잠금 기능을 사용하도록 설정하여 데이터 손실을 방지할 수 있습니다.
실수로 인한 테이블 삭제
테이블 관리자 권한 이상의 사용자는 테이블을 삭제할 수 있습니다. 이러한 사용자 중 한 명이 실수로 테이블을 삭제한 경우 .undo drop table
명령을 사용하여 복구할 수 있습니다. 이 명령이 성공하려면 먼저 보존 정책에서 recoverability(복구 기능) 속성을 사용하도록 설정해야 합니다.
실수로 인한 외부 테이블 삭제
외부 테이블은 데이터베이스 외부에 저장된 데이터를 참조하는 Kusto 쿼리 스키마 엔터티입니다. 외부 테이블을 삭제하면 테이블 메타데이터만 삭제됩니다. 이는 테이블 만들기 명령을 다시 실행하여 복구할 수 있습니다. 일시 삭제 기능을 사용하여 사용자가 구성한 시간 동안 실수로 파일/Blob을 삭제하거나 덮어쓰지 않도록 보호합니다.
Azure Data Explorer의 고가용성
고가용성은 Azure 지역 내에서 Azure Data Explorer, 해당 구성 요소 및 기본 종속성의 내결함성을 나타냅니다. 이 내결함성은 구현에서 SPOF(단일 실패 지점)를 방지합니다. Azure Data Explorer의 고가용성에는 지속성 계층, 컴퓨팅 계층 및 리더-팔로워 구성이 포함됩니다.
지속성 계층
Azure Data Explorer는 Azure Storage를 내구성이 있는 지속성 계층으로 활용합니다. Azure Storage는 데이터 센터 내에서 LRS(로컬 중복 스토리지)를 제공하는 기본 설정을 사용하여 자동으로 내결함성을 제공합니다. 세 개의 복제본이 유지됩니다. 사용 중인 복제본이 손실되면 다른 복제본이 중단 없이 배포됩니다. 최대 내결함성을 위해 추가 비용으로 복제본을 Azure 지역 가용성 영역에 지능적으로 배치하는 ZRS(영역 중복 스토리지)를 사용하면 복원력을 높일 수 있습니다. Azure Data Explorer 클러스터가 가용성 영역에 배포될 때 ZRS 지원 스토리지가 자동으로 구성됩니다.
컴퓨팅 계층
Azure Data Explorer는 분산 컴퓨팅 플랫폼이며, 규모 및 노드 역할 유형에 따라 둘 이상의 많은 노드를 사용할 수 있습니다. 프로비전할 때 지역 내 복원력을 최대화하기 위해 노드 배포를 영역 전체에 배포하려면 가용성 영역을 선택합니다. 가용성 영역 오류는 전체 중단을 발생시키지 않지만 영역을 복구할 때까지 성능이 저하됩니다.
리더-팔로워 클러스터 구성
Azure Data Explorer는 리더 클러스터에 이어 다른 팔로워 클러스터에서 리더의 데이터 및 메타데이터에 읽기 전용으로 액세스할 수 있는 선택적 팔로워 기능을 제공합니다. create
, append
및 drop
과 같은 리더의 변경 내용은 팔로워에 자동으로 동기화됩니다. 리더는 Azure 지역에 걸쳐 있을 수 있지만, 팔로워 클러스터는 리더와 동일한 지역에서 호스트해야 합니다. 리더 클러스터가 중단되거나 데이터베이스 또는 테이블이 실수로 삭제되면 리더에서 액세스가 복구될 때까지 팔로워 클러스터는 액세스 권한을 잃게 됩니다.
Azure 가용성 영역 중단
Azure 가용성 영역은 동일한 Azure 지역 내에서 고유한 물리적 위치입니다. Azure Data Explorer 클러스터의 컴퓨팅 및 데이터를 부분 지역 오류로부터 보호할 수 있습니다. 영역 오류는 지역 내이므로 가용성 시나리오입니다.
Azure Data Explorer 클러스터를 연결된 다른 Azure 리소스와 동일한 영역에 고정합니다. 가용성 영역을 사용하도록 설정하는 방법에 대한 자세한 내용은 클러스터 만들기를 참조하세요.
참고 항목
클러스터를 만들 때 가용성 영역에 배포할 수 있거나 나중에 마이그레이션할 수 있습니다.
Azure 데이터 센터 중단
Azure 가용성 영역에는 비용이 따르며, 일부 고객은 영역 중복성 없이 배포하도록 선택합니다. 이러한 Azure Data Explorer 배포를 사용하면 Azure 데이터 센터 중단으로 인해 클러스터가 중단됩니다. 따라서 Azure 데이터 센터 중단을 처리하는 것은 Azure 지역 중단의 경우와 동일합니다.
Azure 지역 중단
Azure Data Explorer는 전체 Azure 지역의 중단에 대한 자동 보호를 제공하지 않습니다. 이러한 중단이 있는 경우 비즈니스 영향을 최소화하기 위해 여러 Azure Data Explorer 클러스터가 Azure 쌍을 이루는 지역에 있습니다. RTO(복구 시간 목표), RPO(복구 시점 목표), 활동 및 비용 고려 사항에 따라 여러 재해 복구 구성이 있습니다. 비용과 성능은 Azure Advisor 권장 사항 및 자동 크기 조정 구성을 사용하여 최적화할 수 있습니다.
재해 복구 구성
이 섹션에서는 복원력 요구 사항(RPO 및 RTO), 필요한 활동 및 비용에 따라 여러 재해 복구 구성에 대해 자세히 설명합니다.
RTO(복구 시간 목표)는 중단으로부터 복구하는 시간을 나타냅니다. 예를 들어 2시간의 RTO는 애플리케이션이 중단된 후 2시간 이내에 가동 및 실행되어야 함을 의미합니다. RPO(복구 지점 목표)는 중단 중에 해당 기간 동안 손실된 데이터 양이 허용 가능한 임계값을 초과하기 전에 경과할 수 있는 시간 간격을 나타냅니다. 예를 들어 RPO가 24시간이고 애플리케이션에 15년 전부터 시작된 데이터가 있는 경우 여전히 합의된 RPO의 매개 변수 내에 있습니다.
수집, 처리 및 큐레이션 프로세스는 재해 복구를 계획할 때 사전에 주의를 기울여 설계해야 합니다. 수집은 다양한 원본에서 Azure Data Explorer에 통합된 데이터를 나타냅니다. 처리는 변형 및 비슷한 활동을 나타냅니다. 큐레이션은 구체화된 뷰, 데이터 레이크로 내보내기 등을 나타냅니다.
다음은 널리 사용되는 재해 복구 구성이며, 아래에서 각각에 대해 자세히 설명합니다.
활성-활성-활성 구성
이 구성은 "항상 사용(always on)"이라고도 합니다. 중단을 허용하지 않는 중요 애플리케이션 배포의 경우 Azure 쌍을 이루는 지역에서 여러 Azure Data Explorer 클러스터를 사용해야 합니다. 모든 클러스터에 대한 수집, 처리 및 큐레이션을 병렬로 설정합니다. 클러스터 SKU는 지역 간에 동일해야 합니다. Azure는 Azure 쌍을 이루는 지역에서 업데이트가 롤아웃되고 지연되도록 합니다. Azure 지역 중단이 발생해도 애플리케이션은 중단되지 않습니다. 대신 약간의 대기 시간 또는 성능 저하가 발생할 수 있습니다.
Configuration | RPO | RTO | 활동 | 비용 |
---|---|---|---|---|
활성-활성-활성-n | 0시간 | 0시간 | 더 적음 | 가장 높음 |
활성-활성 구성
이 구성은 활성-활성-활성 구성과 동일하지만 두 개의 Azure 쌍을 이루는 지역만 관련됩니다. 이중 수집, 처리 및 큐레이션을 구성합니다. 사용자는 가장 가까운 지역으로 라우팅됩니다. 클러스터 SKU는 지역 간에 동일해야 합니다.
Configuration | RPO | RTO | 활동 | 비용 |
---|---|---|---|---|
활성-활성 | 0시간 | 0시간 | 더 적음 | 높음 |
활성-상시 대기 구성
활성-상시 대기 구성은 이중 수집, 처리 및 큐레이션의 활성-활성 구성과 비슷합니다. 대기 클러스터는 수집, 프로세스 및 큐레이션을 위해 온라인 상태이지만 쿼리할 수 없습니다. 대기 클러스터는 주 클러스터와 동일한 SKU에 있을 필요가 없습니다. SKU 및 규모가 작을 수 있으므로 성능이 저하될 수 있습니다. 재해 시나리오에서 사용자는 대기 클러스터로 리디렉션되며, 필요에 따라 확장하여 성능을 높일 수 있습니다.
Configuration | RPO | RTO | 활동 | 비용 |
---|---|---|---|---|
활성-상시 대기 | 0시간 | 낮음 | 중간 | 중간 |
주문형 데이터 복구 구성
이 솔루션은 가장 낮은 복원력(가장 높은 RPO 및 RTO)을 제공하며, 비용이 가장 낮지만 활동이 가장 많습니다. 이 구성에는 데이터 복구 클러스터가 없습니다. 큐레이팅된 데이터를 GRS(지역 중복 스토리지)가 구성된 스토리지 계정으로 지속적으로 내보내도록 구성합니다(원시 및 중간 데이터도 필요한 경우 제외). 재해 복구 시나리오가 있는 경우 데이터 복구 클러스터가 작동됩니다. 이 시점에서 DDL, 구성, 정책 및 프로세스가 적용됩니다. 데이터는 kustoCreationTime 수집 속성을 사용하여 스토리지에서 수집되어 기본적으로 시스템 시간으로 설정되는 수집 시간을 재정의합니다.
Configuration | RPO | RTO | 활동 | 비용 |
---|---|---|---|---|
주문형 데이터 복구 클러스터 | 가장 높음 | 가장 높음 | 가장 높음 | 가장 낮음 |
재해 복구 구성 옵션 요약
Configuration | 복원력 | RPO | RTO | 활동 | 비용 |
---|---|---|---|---|---|
활성-활성-활성-n | 가장 높음 | 0시간 | 0시간 | 더 적음 | 가장 높음 |
활성-활성 | 높음 | 0시간 | 0시간 | 더 적음 | 높음 |
활성-상시 대기 | 중간 | 0시간 | 낮음 | 중간 | 중간 |
주문형 데이터 복구 클러스터 | 가장 낮음 | 가장 높음 | 가장 높음 | 가장 높음 | 가장 낮음 |
모범 사례
선택한 재해 복구 구성에 관계없이 다음 모범 사례를 따릅니다.
- 모든 데이터베이스 개체, 정책 및 구성은 릴리스 자동화 도구에서 클러스터로 릴리스될 수 있도록 원본 제어에서 유지해야 합니다. 자세한 내용은 Azure Data Explorer에 대한 Azure DevOps 지원을 참조하세요.
- 데이터 관점에서 모든 클러스터가 동기화되도록 유효성 검사 루틴을 설계, 개발 및 구현합니다. Azure Data Explorer는 클러스터 간 조인을 지원합니다. 테이블 전체의 간단한 개수 또는 행이 유효성을 검사하는 데 도움이 될 수 있습니다.
- 릴리스 절차는 클러스터 미러링을 보장하는 거버넌스 확인 및 균형을 포함해야 합니다.
- 클러스터를 처음부터 빌드하기 위해 수행하는 작업을 완전히 이해해야 합니다.
- 배포 단위의 검사 목록을 만듭니다. 목록은 사용자의 요구 사항에 따라 고유하지만, 배포 스크립트, 수집 연결, BI 도구 및 기타 중요한 구성을 포함해야 합니다.