Azure Data Factory를 사용하면 서버리스 데이터 통합 및 데이터 변환을 위한 유연하고 강력한 데이터 파이프라인을 만들 수 있습니다. Azure 서비스인 Data Factory는 안정성 요구 사항을 지원하는 다양한 기능을 제공합니다.
Azure를 사용하는 경우 안정성은 공유 책임입니다. Microsoft는 복원력 및 복구를 지원하는 다양한 기능을 제공합니다. 이러한 기능이 사용하는 모든 서비스 내에서 작동하는 방식을 이해하고 비즈니스 목표 및 가동 시간 목표를 충족하는 데 필요한 기능을 선택할 책임이 있습니다.
이 문서에서는 일시적인 오류, 가용성 영역 중단 및 지역 중단을 포함하여 다양한 잠재적인 중단 및 문제에 대해 Data Factory를 복원력 있게 만드는 방법을 설명합니다. 또한 백업을 사용하여 다른 유형의 문제에서 복구하는 방법을 설명하고 SLA(Data Factory 서비스 수준 계약)에 대한 몇 가지 주요 정보를 강조 표시합니다.
비고
데이터 팩터리의 안정성을 고려할 때 연결된 데이터 저장소의 안정성도 고려해야 합니다. 데이터 저장소가 동일하게 복원력이 없는 경우 데이터 팩터리의 복원력만 향상하면 영향을 제한할 수 있습니다. 복원력 요구 사항에 따라 여러 영역에서 구성을 변경해야 할 수 있습니다. 데이터 저장소가 비즈니스 연속성 요구 사항을 충족하도록 하려면 제품 안정성 설명서 및 지침을 참조하세요.
안정성 아키텍처 개요
Data Factory는 여러 인프라 구성 요소로 구성됩니다. 각 구성 요소는 다양한 방법으로 인프라 안정성을 지원합니다.
Data Factory의 구성 요소는 다음과 같습니다.
파이프라인 트리거를 관리하고 파이프라인 작업의 조정을 감독하는 핵심 Data Factory 서비스입니다. 또한 핵심 서비스는 데이터 팩터리의 각 구성 요소에 대한 메타데이터를 관리합니다. Microsoft는 핵심 서비스를 관리합니다.
데이터 저장소에 연결하고 파이프라인에 정의된 작업을 수행하는 RS(통합 런타임)입니다. 다양한 유형의 IR이 있습니다.
Azure IR 및 Azure-SQL Server Integration Services(Azure-SSIS) IR을 포함하는 Microsoft 관리형 IR입니다. Microsoft는 이러한 런타임을 구성하는 구성 요소를 관리합니다. 일부 시나리오에서는 IR의 복원력에 영향을 주는 설정을 구성합니다.
SHIR(자체 호스팅 통합 런타임) Microsoft는 Data Factory 파이프라인의 일부 부분을 수행하기 위해 사용자 고유의 컴퓨팅 인프라에서 실행할 수 있는 소프트웨어를 제공합니다. 컴퓨팅 리소스의 배포 및 관리 및 해당 컴퓨팅 리소스의 복원력을 담당합니다.
일시적인 오류에 대한 복원력
일시적인 오류는 구성 요소에서 짧고 간헐적인 오류입니다. 클라우드와 같은 분산 환경에서 자주 발생하며 작업의 일반적인 부분입니다. 일시적인 오류는 짧은 시간 후에 스스로 수정됩니다. 일반적으로 영향을 받은 요청을 다시 시도하여 애플리케이션이 임시 오류를 처리할 수 있는 것이 중요합니다.
모든 클라우드 호스팅 애플리케이션은 클라우드 호스팅 API, 데이터베이스 및 기타 구성 요소와 통신할 때 Azure 임시 오류 처리 지침을 따라야 합니다. 자세한 내용은 임시 오류 처리를 위한 권장 사항을 참조하세요.
Data Factory를 사용하는 경우 특히 파이프라인 및 활동을 디자인할 때 일시적인 오류를 준비하는 것이 중요합니다.
멱등성(idempotence
파이프라인 활동은 idempotent여야 합니다. 즉, 부정적인 영향을 주지 않고 여러 번 다시 실행할 수 있습니다. 네트워크 오류 또는 가용성 영역 중단과 같은 일시적인 오류가 발생하면 Data Factory에서 파이프라인 작업을 다시 실행할 수 있습니다. 이 다시 실행은 중복 레코드를 만들 수 있습니다.
일시적인 오류로 인해 중복 레코드 삽입을 방지하려면 다음 모범 사례를 구현합니다.
데이터베이스에 쓰기 전에 각 레코드에 대해 고유 식별자를 사용합니다. 이 방법은 중복 레코드를 찾고 제거하는 데 도움이 될 수 있습니다.
upsert를 지원하는 커넥터에 대해 upsert 전략을 사용합니다 중복 레코드 삽입이 발생하기 전에 이 방법을 사용하여 레코드가 이미 있는지 확인합니다. 있는 경우 업데이트합니다. 존재하지 않는 경우 삽입합니다. 예를 들어
MERGE나ON DUPLICATE KEY UPDATE와 같은 SQL 명령은 upsert 접근 방식을 사용합니다.복사 작업 전략을 사용합니다. 자세한 내용은 복사 작업의 데이터 일관성 확인을 참조하세요.
재시도 정책
재시도 정책을 사용하여 연결된 리소스의 일시적인 오류와 같은 문제가 있는 경우 파이프라인의 일부를 다시 시도하도록 구성할 수 있습니다. Data Factory에서 다음 파이프라인 개체 형식에 대한 재시도 정책을 구성할 수 있습니다.
데이터 팩터리 트리거 및 활동에 대한 재시도 정책을 변경하거나 사용하지 않도록 설정하는 방법에 대한 자세한 내용은 파이프라인 실행 및 트리거를 참조하세요.
가용성 영역 오류에 대한 복원력
가용성 영역은 Azure 지역 내에서 물리적으로 별도의 데이터 센터 그룹입니다. 한 영역이 실패하면 서비스가 나머지 영역 중 하나로 전환될 수 있습니다.
Data Factory는 영역 중복을 지원하여 가용성 영역의 장애에 대한 복원력을 제공합니다.
Data Factory의 각 부분은 영역 중복을 지원합니다.
핵심 서비스: Microsoft는 핵심 Data Factory 서비스의 구성 요소를 관리하고 가용성 영역에 분산합니다.
그러나 영역 장애 발생 후 Microsoft는 연속 창 트리거의 상태를 보장하지 않습니다.
IR: 영역 중복 지원은 사용하는 IR 유형에 따라 달라집니다.
Azure IR은 영역 중복성을 지원하며 Microsoft는 이 기능을 관리합니다.
Azure-SSIS IR 을 사용하려면 두 개 이상의 노드를 배포해야 합니다. 이러한 노드는 다른 가용성 영역에 자동으로 할당됩니다.
다음 다이어그램은 서로 다른 영역에 배포된 두 개의 노드가 있는 영역 중복 파이프라인 및 Azure-SSIS 통합 런타임을 보여 줍니다.
SHIR은 런타임을 호스팅하기 위한 컴퓨팅 인프라를 배포하는 책임을 부여합니다. 개별 VM(가상 머신)과 같은 여러 노드를 배포하고 고가용성을 위해 구성할 수 있습니다. 그런 다음 이러한 노드를 여러 가용성 영역에 분산할 수 있습니다. 자세한 내용은 고가용성 및 확장성을 참조하세요.
요구 사항
영역 중복 Data Factory 리소스는 가용성 영역을 지원하는 모든 지역에 배포할 수 있습니다.
비용
핵심 서비스: 영역 중복에 대한 추가 비용은 적용되지 않습니다.
IRs: 영역 중복 비용은 사용하는 IR 유형에 따라 달라집니다.
Azure IR에는 추가 비용 없이 영역 중복성이 포함됩니다.
Azure-SSIS IR 을 사용하려면 영역 중복을 달성하기 위해 두 개 이상의 노드를 배포해야 합니다. 각 노드의 요금이 청구되는 방법에 대한 자세한 내용은 가격 책정 예제: Azure-SSIS IR에서 SSIS 패키지 실행을 참조하세요.
SHIR 을 사용하려면 컴퓨팅 인프라를 배포하고 관리해야 합니다. 영역 복원력을 달성하려면 컴퓨팅 리소스를 여러 영역에 분산해야 합니다. 배포하는 노드 수와 노드를 구성하는 방법에 따라 기본 컴퓨팅 서비스 및 기타 지원 서비스에서 추가 비용이 발생할 수 있습니다. 여러 노드에서 SHIR을 실행하는 데 추가 요금은 없습니다.
가용성 영역 지원 구성
핵심 서비스: 구성이 필요하지 않습니다. Data Factory 핵심 서비스는 영역 중복을 자동으로 지원합니다.
국세청:
Azure IR: 구성이 필요하지 않습니다. Azure IR은 영역 중복을 자동으로 사용하도록 설정합니다.
Azure-SSIS IR: 구성이 필요하지 않습니다. Azure-SSIS IR은 둘 이상의 노드로 배포될 때 영역 중복성을 자동으로 사용하도록 설정합니다.
SHIR 을 사용하려면 여러 가용성 영역에 노드를 분산하는 것을 포함하여 고유한 복원력을 구성해야 합니다.
용량 계획 및 관리
핵심 서비스: Data Factory 핵심 서비스는 수요에 따라 자동으로 확장되며 용량을 계획하거나 관리할 필요가 없습니다.
국세청:
Azure IR은 수요에 따라 자동으로 확장되며 용량을 계획하거나 관리할 필요가 없습니다.
Azure-SSIS IR 을 사용하려면 사용하는 노드 수를 구체적으로 구성해야 합니다. 가용성 영역 오류에 대비하려면 IR의 용량을 과도하게 프로비전하는 것이 좋습니다. 초과 프로비전을 통해 솔루션은 어느 정도의 용량 손실을 허용하면서도 성능 저하 없이 계속 작동할 수 있습니다. 자세한 내용은 과잉 프로비저닝을 통해 용량 관리를 참조하세요.
SHIR 을 사용하려면 사용자 고유의 용량 및 크기 조정을 구성해야 합니다. SHIR을 배포할 때 과도하게 프로비저닝하는 것이 좋습니다.
모든 영역이 정상인 경우의 동작
이 섹션에서는 Data Factory 리소스가 영역 중복을 위해 구성되고 모든 가용성 영역이 작동할 때 예상되는 상황을 설명합니다.
영역 간의 트래픽 라우팅: 정상 작업 중에 Data Factory는 각 가용성 영역의 정상 인스턴스 간에 파이프라인 작업, 트리거 및 기타 작업을 자동으로 배포합니다.
영역 간 데이터 복제: 일반적으로 Data Factory는 상태 비정상 서비스이므로 영역 간에 상태를 복제할 필요가 없습니다.
그러나 텀블링 윈도우 트리거는 영역 간에 완전히 복제되지 않을 수 있는 상태를 포함합니다.
영역 오류 중 동작
이 섹션에서는 Data Factory 리소스가 영역 중복을 위해 구성되고 가용성 영역이 중단되는 경우 예상되는 상황을 설명합니다.
- 검색 및 응답: Data Factory 플랫폼은 가용성 영역에서 오류를 감지하고 응답하는 역할을 담당합니다. 파이프라인 또는 다른 구성 요소에서 영역 장애 조치(failover)를 시작하기 위해 아무 작업도 수행할 필요가 없습니다.
- 알림: 영역이 다운된 경우 Microsoft는 자동으로 알리지 않습니다. 그러나 Azure Resource Health 를 사용하여 개별 리소스의 상태를 모니터링하고 Resource Health 경고를 설정하여 문제를 알릴 수 있습니다. 또한 Azure Service Health를 사용하여 영역 오류를 포함하여 서비스의 전반적인 상태를 파악할 수 있으며, 문제를 알리도록 Service Health 경고를 설정할 수 있습니다.
활성 요청: 진행 중인 모든 파이프라인 및 트리거는 계속 실행되며 영역 오류로 인한 즉각적인 중단은 발생하지 않습니다. 그러나 영역 오류 중에 진행 중인 활동이 실패하고 다시 시작될 수 있습니다. 영역 오류 및 기타 오류로부터 복구하는 데 도움이 되도록 활동을 멱등성 있게 설계하는 것이 중요합니다. 자세한 내용은 일시적인 오류에 대한 복원력을 참조하세요.
예상 가동 중지 시간: 영역 오류 중에 가동 중지 시간이 필요하지 않습니다.
예상 데이터 손실: 전반적으로 Data Factory는 상태 비정상 서비스이므로 영역 오류 중에는 데이터 손실이 발생하지 않습니다.
그러나 텀블링 창 트리거를 사용하는 경우 영역 오류 후 트리거 상태가 손실될 수 있습니다. 영역 실패 시 실행 중이던 트리거를 다시 시작하거나 다시 실행해야 합니다.
영역 복구
가용성 영역이 복구되면 Data Factory가 자동으로 원래 영역으로 복귀합니다. 파이프라인 또는 다른 구성 요소에서 영역 장애 복구를 시작하기 위해 아무 작업도 수행할 필요가 없습니다.
그러나 SHIR을 사용하는 경우 컴퓨팅 리소스가 중지된 경우 다시 시작해야 할 수 있습니다.
영역 오류 테스트
핵심 서비스와 Azure 및 Azure-SSIS IRs의 경우, Data Factory는 영역 중복 리소스에 대한 트래픽 라우팅, 장애 조치 및 장애 복구를 관리합니다. 이 기능은 완전히 관리되므로 가용성 영역 오류 프로세스를 시작하거나 유효성을 검사할 필요가 없습니다.
SHIR의 경우 Azure Chaos Studio 를 사용하여 Azure VM에서 가용성 영역 오류를 시뮬레이션할 수 있습니다.
지역 전체 오류에 대한 복원력
Data Factory 리소스는 단일 Azure 지역에 배포됩니다. 지역을 사용할 수 없게 되면 데이터 팩터리도 사용할 수 없습니다. 그러나 지역 중단에 대한 복원력을 보장하는 데 사용할 수 있는 방법이 있습니다. 이러한 접근 방식은 데이터 팩토리가 페어링된 지역에 있는지 비페어링 지역에 있는지, 그리고 특정 요구 사항 및 구성에 따라 달라집니다.
Microsoft에서 관리하는 쌍을 이루는 지역으로의 장애 조치(failover)
Data Factory는 브라질 남부 및 동남 아시아를 제외한 쌍을 이루는 지역의 데이터 팩터리에 대해 Microsoft에서 관리하는 장애 조치(failover)를 지원합니다. 지역 오류가 장기화될 경우에 대비하여 Microsoft는 Data Factory 인스턴스의 지역 장애 조치를 시작할 수 있습니다.
브라질 남부 및 동남 아시아의 데이터 보존 요구 사항으로 인해 Data Factory 데이터는 Azure Storage 영역 중복 스토리지를 사용하여 로컬 지역에만 저장됩니다. 동남 아시아의 경우 모든 데이터가 싱가포르에 저장됩니다. 브라질 남부의 경우 모든 데이터가 브라질에 저장됩니다.
비공유 지역 또는 브라질 남부 또는 동남 아시아의 데이터 팩터리의 경우 Microsoft는 사용자 대신 지역 장애 조치(failover)를 수행하지 않습니다.
중요합니다
Microsoft는 Microsoft에서 관리하는 장애 복구를 실행합니다. 상당한 지연 후에 발생할 가능성이 높으며 최선의 노력으로 수행됩니다. 이 프로세스에는 몇 가지 예외가 있습니다. 데이터 팩터리 메타데이터가 일부 손실될 수 있습니다. Data Factory 리소스의 장애 조치(failover)는 다른 Azure 서비스의 장애 조치(failover) 시간과 다른 시간에 발생할 수 있습니다.
지역 중단에 대한 복원력이 필요한 경우 복원력을 위해 사용자 지정 다중 지역 솔루션 중 하나를 사용하는 것이 좋습니다.
IR의 장애 조치(failover)
장애 조치(failover)를 준비하기 위해 사용하는 IR에 따라 몇 가지 추가 고려 사항이 있을 수 있습니다.
사용하는 지역을 자동으로 확인하도록 Azure IR 을 구성할 수 있습니다. 지역이 자동 해결로 설정되어 있고 주 지역에 중단이 발생하면 Azure IR은 자동으로 쌍을 이루는 지역으로 장애 조치(failover)합니다. 이 페일오버에는 제한 사항이 적용됩니다. IR 설정에서 활동 구현 또는 디스패치에 대한 Azure IR 지역을 구성하려면 지역을 자동으로 확인하도록 설정합니다.
Azure-SSIS IR 장애 조치(failover)는 Microsoft에서 관리하는 데이터 팩터리 장애 조치(failover)와 별도로 관리됩니다. 자세한 내용은 복원력에 대한 사용자 지정 다중 지역 솔루션을 참조하세요.
SHIR은 사용자가 담당하는 인프라에서 실행되므로 Microsoft 관리 장애 조치(failover)는 SHIR에 적용되지 않습니다. 자세한 내용은 복원력에 대한 사용자 지정 다중 지역 솔루션을 참조하세요.
장애 조치(failover) 후 다시 구성
Microsoft가 관리하는 장애 조치가 완료되면 연결된 지역에서 데이터 팩토리 파이프라인에 접근할 수 있습니다. 하지만 장애 조치(failover)가 완료된 후에는 IR이나 다른 구성 요소에 대한 일부 다시 구성을 수행해야 할 수도 있습니다. 이 프로세스에는 네트워킹 구성 다시 설정이 포함됩니다.
복원력을 위한 사용자 지정 다중 지역 솔루션
파이프라인이 지역 가동 중단에 대한 복원력이 필요하고 장애 조치(failover) 프로세스를 제어해야 하는 경우 메타데이터 기반 파이프라인을 사용하는 것이 좋습니다.
Data Factory에 대한 소스 제어를 설정하여 메타데이터 변경 사항을 추적하고 감사하십시오. 이 방법을 사용하여 파이프라인, 데이터 세트, 연결된 서비스 및 트리거에 대한 메타데이터 JSON 파일에 액세스할 수 있습니다. Data Factory는 Azure DevOps 및 GitHub와 같은 다양한 Git 리포지토리 유형을 지원합니다. 자세한 내용은 Data Factory의 소스 제어를 참조하세요.
Azure DevOps와 같은 CI/CD(지속적인 통합 및 지속적인 업데이트) 시스템을 사용하여 파이프라인 메타데이터 및 배포를 관리합니다. CI/CD를 사용하여 작업을 다른 지역의 인스턴스로 신속하게 복원할 수 있습니다. 지역을 사용할 수 없는 경우 수동으로 또는 자동화를 통해 새 데이터 팩터리를 프로비전할 수 있습니다. 새 데이터 팩터리를 만든 후 기존 Git 리포지토리에서 파이프라인, 데이터 세트 및 연결된 서비스 JSON을 복원할 수 있습니다. 자세한 내용은 Data Factory 및 Azure Synapse Analytics 파이프라인에 대한 BCDR(비즈니스 연속성 및 재해 복구)을 참조하세요.
사용하는 IR에 따라 다른 고려 사항이 있을 수 있습니다.
Azure-SSIS IR 은 Azure SQL Database 또는 Azure SQL Managed Instance에 저장된 데이터베이스를 사용합니다. 이 데이터베이스에 대한 지역 복제 또는 장애 조치(failover) 그룹을 구성할 수 있습니다. Azure-SSIS 데이터베이스는 읽기/쓰기 권한이 있는 기본 Azure 지역에 있습니다. 데이터베이스는 읽기 전용 액세스 권한이 있는 보조 지역에 지속적으로 복제됩니다. 주 지역을 사용할 수 없는 경우 장애 조치(failover)가 트리거되어 주 데이터베이스와 보조 데이터베이스가 역할을 교환합니다.
Azure SQL Database 또는 SQL Managed Instance 장애 조치 그룹과 동기화하여 작동하는 이중 대기 모드의 Azure SSIS IR 쌍을 구성할 수도 있습니다.
자세한 내용은 BCDR에 대한 Azure-SSIS IR 구성을 참조하세요.
SHIR은 관리하는 인프라에서 실행됩니다. SHIR이 Azure VM에 배포된 경우 Azure Site Recovery 를 사용하여 다른 지역으로 VM 장애 조치(failover) 를 트리거할 수 있습니다.
백업 및 복원
Data Factory는 소스 제어 통합을 통해 CI/CD를 지원하므로 데이터 팩터리 인스턴스의 메타데이터를 백업할 수 있습니다. CI/CD 파이프라인은 이 메타데이터를 새 환경에 원활하게 배포합니다. 자세한 내용은 Data Factory의 CI/CD를 참조하세요.
서비스 수준 약정
Azure 서비스의 SLA(서비스 수준 계약)는 각 서비스의 예상 가용성과 해당 가용성 예상 결과치를 달성하기 위해 솔루션이 충족해야 하는 조건을 설명합니다. 자세한 내용은 온라인 서비스 SLA를 참조하세요.
Data Factory는 다음에 대해 별도의 가용성 SLA를 제공합니다.
- 데이터 팩터리를 관리하는 API 호출과 같이 수행하는 API 호출의 성공률입니다.
- 실행을 시작하는 활동 실행 수.
활동 실행은 잠시 지연될 수 있으며 작업을 실행하기 위한 모든 종속성이 충족되어야 합니다.