Azure SQL Database로 애플리케이션 복원력 강화

완료됨

지역 복제와 자동 장애 조치(failover) 그룹은 모두 Azure SQL Database에서 가용성과 재해 복구를 향상시키는 데 사용되는 메커니즘이지만 몇 가지 주요 차이점이 있습니다.

활성 지역 복제 이해

Azure SQL Database의 가용성을 높이는 한 가지 방법은 활성 지역 복제를 사용하는 것입니다. 활성 지역 복제는 동일하거나 다른 지역의 서버에 있는 개별 데이터베이스의 읽기 가능한 보조 데이터베이스를 만들 수 있는 비즈니스 연속성 솔루션으로 설계되었습니다. 최대 4개의 보조 복제본을 지원하며 데이터베이스별로 구성됩니다.

백그라운드에서 Azure는 가용성 그룹을 사용하여 이 기능을 제공합니다. 활성 지역 복제를 사용하면 고객은 주요 재해 발생 시 주 데이터베이스를 보조 지역으로 프로그래밍 방식이나 수동으로 장애 조치(failover)할 수 있습니다.

Azure SQL Database에 대한 활성 지역 복제 스크린샷

복제 성능에 영향을 줄 수 있는 대규모 쓰기 워크로드로 인한 복제 오버헤드를 피하려면 기본 복제본과 동일한 서비스 계층 및 컴퓨팅 크기로 지역 보조 복제본을 구성하는 것이 좋습니다.

데이터베이스 페이지에 액세스하고 데이터 관리 섹션에서 복제본을 선택하여 Azure SQL Database에 대한 지역 복제를 수동으로 구성할 수 있습니다.

Azure SQL Database에 대한 새 데이터베이스 복제본의 스크린샷

보조 복제본이 만들어진 후 수동으로 장애 조치(failover)를 시작할 수 있습니다. 이렇게 하면 역할이 바뀌어 보조 서버가 새로운 주 서버가 되고, 기존의 주 서버가 새로운 보조 서버가 됩니다.

Azure Portal에서 Azure SQL Database에 대한 강제 장애 조치(failover) 옵션의 스크린샷

지역 복제는 비동기식이므로 기본 데이터베이스와 보조 데이터베이스 사이에 약간의 데이터 지연이 발생할 수 있습니다. 또한, 장애 조치(failover) 후에는 애플리케이션 연결 문자열을 업데이트해야 합니다.

구독 간 지역 복제 구성

특정 시나리오에서는 주 데이터베이스와 다른 구독에 보조 복제본을 구성해야 할 수도 있습니다. 여기서 구독 간 지역 복제가 중요해집니다. 이 기능을 사용하면 다른 구독에 보조 복제본을 설정하여 더 큰 유연성과 향상된 재해 복구 옵션을 제공할 수 있습니다. 구독 간 지역 복제를 사용하면 한 구독에 문제가 발생하더라도 데이터가 보호되고 액세스가 가능하다는 것을 보장할 수 있습니다. 이러한 설정은 여러 구독을 사용하는 조직이나 강력한 비즈니스 연속성 계획을 구현하려는 조직에 유용합니다.

구독 간 지역 복제를 구성하는 데 필요한 단계에 대한 자세한 내용은 구독 간 지역 복제를 참조하세요.

자동 장애 조치(failover) 그룹 사용

자동 장애 조치(failover) 그룹은 Azure SQL Database와 Azure SQL Managed Instance에서 모두 사용할 수 있는 가용성 기능입니다. 자동 장애 조치(failover) 그룹을 사용하면 데이터베이스가 다른 지역으로 복제되는 방식을 관리하고 장애 조치(failover)가 발생하는 방식을 관리할 수 있습니다. 자동 장애 조치(failover) 그룹에 할당된 이름은 *.database.windows.net 도메인 내에서 고유해야 합니다.

자동 장애 조치(failover) 그룹은 수신기를 통해 AG와 유사한 기능을 제공하여 읽기-쓰기 및 읽기 전용 작업을 모두 지원합니다. 이 기능은 활성 지역 복제와 약간 다릅니다. 수신기에는 읽기-쓰기 트래픽을 위한 수신기와 읽기 전용 트래픽을 위한 수신기의 두 가지 형식이 있습니다. 장애 조치(failover) 중에 DNS 업데이트를 통해 클라이언트는 추가 정보 없이도 수신기 이름에 연결할 수 있습니다. 읽기-쓰기 사본을 보관하는 데이터베이스 서버가 기본 서버이고, 기본 서버로부터 트랜잭션을 수신하는 서버가 보조 서버입니다.

Azure SQL Database 및 Azure SQL Managed Instance에 대한 자동 장애 조치(failover) 그룹 아키텍처 다이어그램

자동 장애 조치(failover) 그룹에는 구성할 수 있는 두 가지 정책이 있습니다.

  • 고객 관리(권장) - 고객은 장애 조치(failover) 그룹의 하나 이상의 데이터베이스에 영향을 주는 예기치 않은 중단을 감지할 때 수동으로 장애 조치를 시작할 수 있습니다. 이 수동 장애 조치(failover)는 PowerShell, Azure CLI 또는 Rest API와 같은 명령줄 도구를 사용하여 수행할 수 있습니다.
  • Microsoft 관리 - 주 지역에 영향을 주는 광범위한 중단 시 Microsoft에서 자동으로 시작됩니다. 이 자동 장애 조치(failover)는 영향을 받는 모든 장애 조치(failover) 그룹에 적용되며 해당 장애 조치(failover) 정책은 Microsoft 관리형으로 설정됩니다.

강제 적용할 경우 계획되지 않은 장애 조치(failover)로 인해 데이터 손실이 발생할 수 있으며 보조 서버가 주 서버와 완전히 동기화되지 않습니다. GracePeriodWithDataLossHours 구성은 Azure가 장애 조치(failover)하기 전에 대기하는 시간을 제어합니다. 기본값은 한 시간입니다. RPO가 너무 높고 많은 데이터 손실을 감당할 수 없다면 값을 더 높게 설정하세요. Azure가 장애 조치(failover)하기 전까지 기다리는 시간이 더 길지만, 이 방법을 사용하면 보조 데이터베이스가 기본 데이터베이스와 완전히 동기화할 시간이 더 많아지므로 데이터 손실이 줄어들 수 있습니다.

또한 자동 장애 조치(failover) 그룹에는 기본 서버와 보조 서버에서 동일한 크기와 버전을 사용하는 하나 이상의 데이터베이스가 포함될 수 있습니다. 보조 서버의 데이터베이스는 시드라는 프로세스를 통해 자동으로 만들어지며 데이터베이스 크기에 따라 다소 시간이 걸릴 수 있습니다. 이에 따라 계획을 세우고 네트워크 속도 등의 요소를 고려해야 합니다.

선택 방법

지역 복제는 여러 개의 읽기 가능한 복제본이 필요하고 수동 장애 조치(failover)가 허용되는 시나리오에 적합한 반면, 자동 장애 조치(failover) 그룹은 데이터베이스 그룹에 대한 자동 장애 조치(failover)와 동기 복제가 필요한 시나리오에 이상적입니다.

다음 표에서는 지역 복제 및 자동 장애 조치(failover) 그룹의 기능과 기타 관련 세부 정보를 비교합니다.

특징 지역에서 복제 자동 장애 조치(failover) 그룹
복제본 수 최대 4개의 보조 복제본을 지원합니다. 보조 복제본을 하나만 지원
구성 수준 데이터베이스당 구성됩니다. 데이터베이스 그룹에 대해 구성됨
복제 유형 비동기식이므로 기본 데이터베이스와 보조 데이터베이스 사이에 약간의 데이터 지연이 발생할 수 있습니다. 동기식은 보조 데이터베이스가 항상 기본 데이터베이스와 동기화되도록 보장합니다.
장애 조치 수동 장애 조치(failover)가 필요합니다. 장애 조치(failover) 후 애플리케이션 연결 문자열을 업데이트해야 합니다. 장애 조치(failover) 후 연결 문자열을 변경할 필요 없이 자동 및 수동 장애 조치를 지원합니다.
가독성 읽기 가능한 보조 데이터베이스를 제공합니다. 읽기 가능한 보조 데이터베이스를 제공하고 장애 조치(failover)를 위한 핫 스탠바이 역할을 합니다.
사용 사례 여러 개의 읽기 가능한 복제본과 수동 장애 조치(failover)가 필요한 시나리오에 적합합니다. 데이터베이스 그룹에 대한 자동 장애 조치(failover) 및 동기 복제가 필요한 시나리오에 이상적입니다.