다음을 통해 공유


Azure Data Explorer의 안정성

Azure Data Explorer 는 대기 시간이 짧은 대량의 데이터를 수집, 저장 및 쿼리할 수 있는 분석 서비스입니다. 대용량 데이터 세트에 대한 빠른 쿼리가 필요한 로그 분석, 원격 분석 및 시계열 워크로드에 일반적으로 사용됩니다.

Azure를 사용하는 경우 안정성은 공유 책임입니다. Microsoft는 복원력 및 복구를 지원하는 다양한 기능을 제공합니다. 이러한 기능이 사용하는 모든 서비스 내에서 작동하는 방식을 이해하고 비즈니스 목표 및 가동 시간 목표를 충족하는 데 필요한 기능을 선택할 책임이 있습니다.

이 문서에서는 일시적인 오류, 가용성 영역 오류 및 지역 전체 오류를 포함하여 다양한 잠재적인 중단 및 문제에 대해 Azure Data Explorer를 복원력 있게 만드는 방법을 설명합니다. 또한 백업 및 복원 옵션 및 서비스 유지 관리에 대한 복원력에 대해 설명하고 Azure Data Explorer SLA(서비스 수준 계약)에 대한 주요 정보를 강조 표시합니다.

안정성을 위한 프로덕션 배포 권장 사항

프로덕션 워크로드의 경우 다음 단계를 수행하여 Azure Data Explorer 클러스터의 안정성을 개선하는 것이 좋습니다.

  • 전체 클러스터를 배포합니다. Azure Data Explorer는 평가판을 위해 무료 클러스터를 제공합니다. 프로덕션 워크로드의 경우 전체 클러스터를 배포합니다.
  • 가용성 영역 지원을 사용하도록 설정합니다. Azure Data Explorer는 가용성 영역을 지원합니다. 가용성 영역 지원을 사용하도록 설정하면 컴퓨팅 노드가 여러 가용성 영역에 분산되고 영역 중복 스토리지를 사용하여 데이터가 저장됩니다. 이 구성은 가용성 영역 오류에 대한 복원력을 향상시킵니다.

안정성 아키텍처 개요

이 섹션에서는 안정성 관점에서 가장 관련성이 높은 서비스가 작동하는 방식의 몇 가지 중요한 측면을 설명합니다. 이 섹션에서는 배포하고 사용하는 일부 리소스 및 기능을 포함하는 논리 아키텍처를 소개합니다. 또한 서비스의 작동 방식에 대한 세부 정보를 제공하는 물리적 아키텍처에 대해서도 설명합니다.

논리 아키텍처

배포하는 기본 리소스는 데이터를 수집, 저장 및 쿼리하는 데 필요한 인프라를 나타내는 클러스터입니다. 클러스터를 사용하면 데이터베이스를 만들고, 이 데이터베이스에는 테이블이 포함됩니다.

각각 테이블 집합이 있는 두 개의 데이터베이스가 포함된 클러스터를 보여 주는 다이어그램

클러스터는 수집을 수행하여 다른 데이터 원본에서 데이터를 검색하고 클러스터의 테이블에 로드합니다. 그런 다음 KQL(Kusto Query Language) 구문을 사용하여 데이터를 쿼리 할 수 있습니다. 클러스터에는 수행할 수 있는 관리 작업 집합도 있습니다.

물리적 아키텍처

Azure Data Explorer 클러스터에는 안정성 구성에 적용할 수 있는 두 개의 기본 계층이 있습니다.

  • 컴퓨팅 계층: Azure Data Explorer는 분산 컴퓨팅 플랫폼이며 규모 및 노드 역할 유형에 따라 2~많은 노드 VM(가상 머신)을 가질 수 있습니다. 노드는 데이터 수집 및 쿼리 처리 작업을 처리합니다. 노드 VM을 직접 보거나 관리하지 않습니다. 플랫폼은 인스턴스 만들기, 상태 모니터링 및 비정상 노드 교체를 자동으로 관리합니다. 클러스터가 가용성 영역을 사용하도록 구성된 경우 노드는 서로 다른 데이터 센터 간에 분산됩니다.

  • 스토리지 계층: Azure Data Explorer는 Azure Storage를 지속성 지속성 계층으로 사용합니다. Azure Storage는 데이터 센터 내에서 LRS(로컬 중복 스토리지)를 제공하는 기본 설정과 함께 내결함성을 자동으로 제공합니다. 세 개의 복제본이 저장됩니다. 사용 중인 복제본이 손실되면 다른 복제본이 중단 없이 배포됩니다. 클러스터가 여러 가용성 영역을 사용하도록 구성된 경우 복제본은 서로 다른 데이터 센터 간에 분산됩니다.

컴퓨팅 노드 및 여러 데이터 복사본이 있는 클러스터를 보여 주는 다이어그램

자세한 내용은 Azure Data Explorer 작동 방식을 참조하세요.

일시적인 오류에 대한 복원력

일시적인 오류는 구성 요소에서 짧고 간헐적인 오류입니다. 클라우드와 같은 분산 환경에서 자주 발생하며 작업의 일반적인 부분입니다. 일시적인 오류는 짧은 시간 후에 스스로 수정됩니다. 애플리케이션은 일반적으로 영향을 받는 요청을 다시 시도하여 일시적인 오류를 처리할 수 있는 것이 중요합니다.

모든 클라우드 호스팅 애플리케이션은 클라우드 호스팅 API, 데이터베이스 및 기타 구성 요소와 통신할 때 Azure 임시 오류 처리 지침을 따라야 합니다. 자세한 내용은 임시 오류 처리를 위한 권장 사항을 참조하세요.

Azure Data Explorer를 사용할 때 일시적인 오류에 대한 복원력을 구축하려면 다음 방법을 따르세요.

가용성 영역 오류에 대한 복원력

가용성 영역은 Azure 지역 내에서 물리적으로 별도의 데이터 센터 그룹입니다. 한 영역이 실패하면 서비스가 나머지 영역 중 하나로 전환될 수 있습니다.

Azure Data Explorer는 두 가지 유형의 가용성 영역 구성을 지원합니다.

  • 영역 중복(권장): 클러스터에서 가용성 영역을 사용하도록 설정하면 클러스터의 노드가 여러 영역에 분산됩니다. Microsoft는 선택한 가용성 영역에서 노드의 분포를 관리하고 가용성 영역 오류에 대한 검색 및 응답을 처리합니다. 영역 중복 클러스터는 가용성 영역의 장애에 대응할 수 있습니다.

    클러스터를 영역 중복으로 구성하면 데이터가 Azure Storage ZRS(영역 중복 스토리지)를 사용하여 저장됩니다. 이 스토리지는 여러 가용성 영역에서 데이터의 복사본을 세 개 이상 동기적으로 복제합니다.

    컴퓨팅 노드와 스토리지가 여러 영역에 분산된 Azure Data Explorer 클러스터의 영역 중복 배포를 보여 주는 다이어그램

  • 영역: 클러스터에서 가용성 영역을 사용하도록 설정할 때 필요에 따라 단일 영역을 선택할 수 있습니다. Microsoft는 모든 컴퓨팅 노트를 해당 영역에 배치합니다. 단일 영역 클러스터입니다. 이 구성은 비정상적으로 대기 시간에 민감한 워크로드가 있지만 영역 중단에 대한 복원력을 제공하지 않는 경우에 도움이 될 수 있습니다.

    중요합니다

    단일 가용성 영역에 고정하는 것은 영역 간 대기 시간이 요구 사항에 비해 너무 높고 대기 시간이 요구 사항을 충족하지 않는지 확인한 후에만 권장됩니다. 그 자체로 영역 리소스는 가용성 영역 중단에 대한 복원력을 제공하지 않습니다. 영역 리소스의 복원력을 향상하려면 별도의 리소스를 여러 가용성 영역에 명시적으로 배포하고 트래픽 라우팅 및 장애 조치(failover)를 구성해야 합니다. 자세한 내용은 영역 리소스 및 영역 복원력을 참조하세요.

    영역 선택은 컴퓨팅 노드에만 적용됩니다. 영역 클러스터의 경우 스토리지 데이터는 LRS를 계속 사용하며 컴퓨팅 노드와 다른 영역에 저장될 수 있습니다.

    단일 영역의 모든 컴퓨팅 노트와 영역 중복 스토리지가 있는 Azure Data Explorer 클러스터의 영역 배포를 보여 주는 다이어그램

가용성 영역을 사용하도록 설정하지 않으면 클러스터는 영역이 아닙니다. 즉, Azure는 각 노드 및 데이터에 대한 가용성 영역을 선택합니다. 지역의 가용성 영역에 중단이 있는 경우 클러스터의 노드, 데이터 또는 둘 다에 영향을 줄 수 있습니다. 비존적 구성은 가용성 영역 중단에 대한 보호를 제공하지 않으므로 권장하지 않습니다.

요구 사항

  • 지역 지원: 가용성 영역 지원은 가용성 영역을 지원하는 Azure 지역에서 사용할 수 있습니다.

    그러나 일부 컴퓨팅 노드 유형 및 크기는 특정 지역 또는 지역 내의 특정 영역에서만 사용할 수 있습니다.

  • 전체 클러스터: 가용성 영역 지원은 전체 클러스터에서 사용할 수 있습니다. 무료 클러스터에서 사용할 수 없습니다.

고려 사항

영역 선택: 컴퓨팅 노드의 경우 사용할 가용성 영역을 선택합니다. 스토리지 영역 배치는 Microsoft에서 관리하며 스토리지 복제본은 컴퓨팅 노드와 다른 영역에 배치될 수 있습니다.

Cost

가용성 영역 지원을 사용하도록 설정하면 영역 중복 스토리지에 대한 추가 비용이 발생하며 이는 로컬 중복 스토리지보다 더 높은 비율로 청구됩니다. 자세한 내용은 Azure Storage 가격 책정을 참조하세요.

컴퓨팅 노드는 가용성 영역 지원을 사용하는지 여부에 관계없이 동일한 속도로 요금이 청구됩니다. 자세한 내용은 Azure Data Explorer 가격을 참조하세요.

가용성 영역 지원 구성

  • 가용성 영역 지원을 사용하여 새 클러스터를 만듭니다. 새 Azure Data Explorer 클러스터를 만들 때 가용성 영역 지원을 사용하도록 설정할 수 있습니다. 자세한 내용은 클러스터 및 데이터베이스 만들기를 참조하세요.

    Azure Portal을 사용하여 가용성 영역 사용 클러스터를 만들면 자동으로 영역 중복이 발생하며 Microsoft에서 영역을 선택합니다.

    영역을 직접 선택하거나 영역 클러스터를 만들려면 Azure Resource Manager API 또는 Bicep과 같은 다른 배포 방법을 사용합니다. 대부분의 경우 영역 중복 클러스터를 만들고 해당 지역의 모든 영역을 사용하는 것이 좋습니다.

    메모

    사용할 가용성 영역을 선택하면 실제로 논리적 가용성 영역을 선택합니다. 다른 Azure 구독에 다른 워크로드 구성 요소를 배포하는 경우 다른 논리 가용성 영역 번호를 사용하여 동일한 물리적 가용성 영역에 액세스할 수 있습니다. 자세한 내용은 물리적 및 논리적 가용성 영역을 참조하세요.

  • 기존 클러스터에서 가용성 영역 사용(미리 보기): 가용성 영역을 사용하도록 기존 비 영역 클러스터를 마이그레이션할 수 있습니다. 이 기능은 미리 보기로 제공됩니다. 자세한 내용은 여러 가용성 영역을 지원하도록 클러스터 마이그레이션을 참조하세요.

  • 기존 클러스터에서 가용성 영역 다시 구성(미리 보기): 클러스터에 사용되는 영역을 변경할 수 있습니다. 이 기능은 미리 보기로 제공됩니다. 자세한 내용은 여러 가용성 영역을 지원하도록 클러스터 마이그레이션을 참조하세요.

  • 기존 클러스터에서 가용성 영역 지원을 사용하지 않도록 설정합니다 . 가용성 영역으로 클러스터를 구성한 후에는 가용성 영역을 사용하지 않도록 클러스터를 변경할 수 없습니다.

  • 클러스터에 대한 가용성 영역 구성을 확인합니다. 클러스터의 영역 상태 속성(REST API의 zoneStatus 속성)을 사용하여 클러스터의 가용성 영역 구성을 확인할 수 있습니다.

    값이 Zonal면 클러스터가 가용성 영역을 사용하도록 구성되었음을 의미합니다. 그러나 클러스터는 영역 또는 영역 중복일 수 있습니다. 확인하려면 zones 속성을 사용하십시오. 영역 목록에 하나의 영역이 나열된 경우 클러스터는 영역(단일 영역)입니다. 여러 영역이 나열된 경우 영역 중복입니다.

용량 계획 및 관리

가용성 영역을 사용할 수 없는 경우 해당 영역의 모든 노드를 일시적으로 사용할 수 없게 되어 영역이 복구될 때까지 클러스터의 컴퓨팅 용량이 줄어듭니다.

클러스터가 용량 손실을 허용할 수 없는 경우 클러스터 를 과도하게 프로비전하는 것이 좋습니다. 이러한 방식을 사용하면 솔루션이 일부 용량 손실을 허용하면서도 성능 저하 없이 계속 작동할 수 있습니다. 그러나 클러스터를 과도하게 프로비전하면 클러스터에 영역 간에 불균형한 수의 노드가 있을 수 있습니다.

영역 간 인스턴스 배포

클러스터의 컴퓨팅 계층은 최선의 방법을 사용하여 선택한 영역에 인스턴스를 균등하게 분산합니다.

모든 영역이 정상인 경우의 동작

이 섹션에서는 가용성 영역 지원을 위해 클러스터를 구성하고 모든 영역이 작동할 때 예상되는 사항에 대해 설명합니다.

  • 영역 간 작업: 정상 작업 중에 Azure Data Explorer는 수집, 쿼리 처리 및 기타 작업에 사용 가능한 모든 컴퓨팅 노드를 사용합니다. 작업은 가용성 영역에 관계없이 노드 간에 분산됩니다.

  • 영역 간 데이터 복제: 영역 간 데이터 복제 동작은 클러스터에서 사용하는 가용성 영역 구성에 따라 달라집니다.

    • 영역 중복: 데이터는 Azure Storage 영역 중복 스토리지를 사용하여 가용성 영역에서 동기적으로 복제됩니다. 이렇게 하면 높은 수준의 데이터 일관성을 제공하고 영역 실패 시 데이터 손실 위험을 최소화할 수 있습니다.

    • 영역: 데이터는 Azure Storage 로컬 중복 스토리지를 사용하여 저장됩니다. 즉, 세 복사본이 모두 단일 가용성 영역에 있을 수 있습니다.

영역 오류 중 동작

이 섹션에서는 가용성 영역 지원을 위해 클러스터를 구성할 때 예상되는 작업과 영역 중 하나에 중단이 발생하는 경우에 대해 설명합니다.

  • 검색 및 응답: 검색 및 응답에 대한 책임은 클러스터에서 사용하는 가용성 영역 구성에 따라 달라집니다.

    • 영역 중복: Microsoft는 가용성 영역 오류를 감지하고 Azure Data Explorer에 대한 응답을 관리합니다. 영역 장애 조치(failover)를 시작하기 위해 어떤 작업도 수행할 필요가 없습니다.

    • 영역: 여러분은 클러스터에서 사용하는 가용성 영역에 영향을 미치는 장애를 감지하는 책임이 있습니다. 또한 이전에 다른 가용성 영역에서 만든 두 번째 클러스터로 전환하는 등 시작하기로 결정한 모든 응답에 대한 책임도 있습니다.

  • 통지: 영역이 다운된 경우 Microsoft는 자동으로 알리지 않습니다. 그러나 Azure Service Health 를 사용하여 영역 오류를 포함하여 서비스의 전반적인 상태를 파악할 수 있으며, 문제를 알리도록 Service Health 경고를 설정할 수 있습니다.
  • 활성 요청: 실패한 영역의 컴퓨팅 또는 스토리지 리소스를 사용하는 활성 요청은 종료될 수 있으며 클라이언트에서 다시 시도해야 합니다. 임시 오류 처리 지침에 따라 애플리케이션을 준비합니다.

  • 예상 데이터 손실: 예상되는 데이터 손실은 클러스터에서 사용하는 가용성 영역 구성에 따라 달라집니다.

    • 영역 중복: 가용성 영역이 중단되는 동안 데이터가 영역 간에 동기적으로 복제되므로 데이터 손실이 예상되지 않습니다.

    • 영역: 영역이 복구될 때까지 데이터를 사용할 수 없습니다. 모든 스토리지 복제본을 포함하는 영역이 영구적으로 손실될 가능성이 낮으면 데이터가 영구적으로 손실될 수 있습니다.

  • 예상 가동 중지 시간: 예상 가동 중지 시간은 클러스터에서 사용하는 가용성 영역 구성에 따라 달라집니다.

    • 영역 중복: 트래픽이 정상 가용성 영역으로 리디렉션되는 동안 간단한 서비스 중단이 발생할 수 있습니다. 임시 오류 처리 지침에 따라 애플리케이션을 준비합니다.

    • 영역: 가용성 영역이 복구될 때까지 클러스터의 컴퓨팅 노드를 사용할 수 없습니다. 영역 오류 중에 클러스터의 데이터에 액세스하지 못할 수도 있습니다.

  • 재배포: 트래픽 경로 변경 동작은 클러스터에서 사용하는 가용성 영역 구성에 따라 달라집니다.

    • 영역 중복: Azure Data Explorer는 나머지 정상 영역에 있는 컴퓨팅 및 스토리지 리소스에 대한 새 요청을 라우팅합니다.

    • 영역: 가용성 영역이 복구될 때까지 클러스터를 사용할 수 없습니다.

영역 복구

실패한 가용성 영역이 복구되면 Microsoft는 해당 영역에 클러스터 노드 및 스토리지 복제본을 다시 만들고 모든 영역에 걸쳐 일반 트래픽 분산을 복원합니다. 고객 조치가 필요하지 않습니다.

영역 오류 테스트

영역 오류 테스트 옵션은 클러스터에서 사용하는 가용성 영역 구성에 따라 달라집니다.

  • 영역 중복: Azure Data Explorer에 대한 가용성 영역 장애 조치(failover) 및 복구는 Microsoft에서 완전히 관리합니다. 가용성 영역 오류 프로세스를 시작하거나 유효성을 검사할 필요가 없습니다.

  • 영역: 영역 중단 시 모든 컴퓨팅 노드의 손실을 부분적으로 시뮬레이션하려면 클러스터를 중지할 수 있습니다. 이 방법을 사용하여 자체 영역 장애 감지 및 페일오버 프로세스의 일부를 유효성 검사할 수 있습니다.

지역 전체 오류에 대한 복원력

Azure Data Explorer 클러스터는 단일 Azure 지역에 배포됩니다. 해당 지역을 사용할 수 없게 되면 클러스터와 해당 데이터를 사용할 수 없습니다.

복원력을 위한 사용자 지정 다중 지역 솔루션

지역 중단의 비즈니스 영향을 최소화하기 위해 여러 지역에 별도의 Azure Data Explorer 클러스터를 배포할 수 있습니다. 각 클러스터는 독립적이며 각 클러스터를 관리하고 지역 간 데이터 복제, 트래픽 라우팅 및 장애 조치(failover)를 조정해야 합니다.

각기 다른 수준의 복구 시간, 잠재적인 데이터 손실, 노력 및 비용을 지원하는 다양한 유형의 다중 지역 클러스터 구성 중에서 결정할 수 있습니다. 대기 시간 및 데이터 상주 요구 사항을 지원하는 각 클러스터에 대해 Azure 지역을 선택할 수 있습니다. 따를 수 있는 다중 지역 클러스터 구성 및 패턴에 대한 자세한 내용은 Azure 지역의 중단을 참조하세요.

백업 및 복원

대부분의 솔루션의 경우 백업에만 의존해서는 안 됩니다. 대신 이 가이드에 설명된 다른 기능을 사용하여 복원력 요구 사항을 지원합니다. 그러나 백업은 다른 방법이 사용하지 않는 일부 위험으로부터 보호합니다. 자세한 내용은 중복도, 복제 및 백업이란?을 참조하세요.

Azure Data Explorer는 네이티브 백업 및 복원 기능을 제공하지 않습니다. 데이터의 백업을 수행해야 하는 경우 다음 방법을 고려할 수 있습니다.

  • 연속 내보내기는 정기적으로 외부 스토리지로 데이터를 내보내고 지원되는 데이터를 정확히 한 번 내보낼 수 있도록 지원합니다.
  • 데이터를 클라우드 스토리지로 내보내면 데이터를 외부 스토리지로 수동으로 내보낼 수 있습니다.
  • 데이터 레이크와 같은 업스트림 원본에서 Azure Data Explorer로 원시 데이터를 수집하여 별도로 백업할 수 있습니다.

실수로 인한 삭제에 대한 복구 능력

Azure Data Explorer에는 클러스터, 데이터베이스, 테이블 및 외부 테이블의 실수로 삭제되는 것을 방지할 수 있는 몇 가지 메커니즘이 포함되어 있습니다.

  • 실수로 클러스터 또는 데이터베이스 삭제: 실수로 인한 클러스터 또는 데이터베이스 삭제는 복구할 수 없는 작업입니다. 클러스터 또는 데이터베이스 리소스에서 삭제 잠금 을 사용하도록 설정하여 데이터 손실을 방지할 수 있습니다.

  • 실수로 테이블 삭제: 테이블 관리자 권한 이상이 있는 사용자는 테이블을 삭제할 수 있습니다. 이러한 사용자 중 한 명이 실수로 테이블을 삭제한 경우 .undo drop table 명령을 사용하여 복구할 수 있습니다. 이 명령이 성공하려면 먼저 보존 정책에서 recoverability(복구 기능) 속성을 사용하도록 설정해야 합니다.

  • 실수로 외부 테이블 삭제:외부 테이블 은 데이터베이스 외부에 저장된 데이터를 참조하는 Kusto 쿼리 스키마 엔터티입니다. 외부 테이블을 삭제하면 테이블 메타데이터만 삭제됩니다. 이는 테이블 만들기 명령을 다시 실행하여 복구할 수 있습니다.

    Azure Blob Storage 및 Azure Data Lake 외부 테이블의 경우 일시 삭제 기능을 사용하여 사용자가 구성한 시간 동안 Blob을 실수로 삭제하거나 덮어쓰지 않도록 보호합니다.

서비스 유지 관리에 대한 복원력

Azure Data Explorer는 정기적으로 서비스 업데이트를 적용하고 일상적인 유지 관리를 수행합니다. Azure 플랫폼은 SLA에 지정된 가용성 수준 내에 남아 있는 동안 이러한 활동을 자동으로 처리합니다. 일시적인 오류 처리 지침에 따라 서비스 유지 관리 중에 애플리케이션이 가끔 연결 손실에 대비해야 합니다.

예정된 유지 관리에 대해 알아보려면 Azure Service Health를 사용합니다.

서비스 수준 약정

Azure 서비스에 대한 SLA(서비스 수준 계약)는 각 서비스의 예상 가용성과 솔루션이 가용성 기대치를 달성하기 위해 충족해야 하는 조건을 설명합니다. 자세한 내용은 온라인 서비스 SLA를 참조하세요.

Azure Data Explorer 가용성 SLA에 적합하려면 애플리케이션이 실패한 요청을 다시 시도하여 일시적인 오류를 처리해야 합니다.