다음을 통해 공유


Azure SQL Managed Instance의 유지 관리 기간

적용 대상: Azure SQL Managed Instance

유지 관리 기간 기능을 사용하여 Azure SQL Managed Instance 리소스 유지 관리 일정을 구성하여 영향력이 큰 유지 관리 이벤트를 예측하고 워크로드 중단을 줄일 수 있습니다.

참고 항목

유지 관리 기간 기능은 업그레이드 또는 예약된 유지 관리에 따른 예정된 영향으로부터만 보호합니다. 모든 장애 조치(failover) 원인으로부터 보호하지는 않습니다. 유지 관리 기간 외에 짧은 연결 중단이 발생할 수 있는 예외에는 하드웨어 오류 및 기타 재구성이 포함됩니다.

사전 알림을 통해 고객은 예정된 이벤트보다 최대 24시간 전에 알림을 전송하도록 구성할 수 있습니다.

개요

Azure는 SQL Managed Instance 리소스의 계획된 유지 관리를 정기적으로 수행합니다. 유지 관리 이벤트 중에는 SQL Managed Instance를 완전히 사용할 수 있지만 SQL Managed Instance에 대한 가용성 SLA(서비스 수준 약정) 내에서 간단히 재구성될 수 있습니다.

유지 관리 기간은 인스턴스 재구성에 대해 복원력이 없고 계획된 유지 관리 이벤트로 인해 발생하는 짧은 연결 중단을 수용할 수 없는 프로덕션 워크로드를 위해 고안되었습니다. 원하는 유지 관리 기간을 선택하여 사용량이 많은 업무 시간 외에 수행하도록 예약하여 계획된 유지 관리의 영향을 최소화할 수 있습니다. 복원력 있는 워크로드와 비프로덕션 워크로드는 Azure SQL의 기본 유지 관리 정책을 사용할 수 있습니다.

유지 관리 기간은 만들 때 구성하거나 기존 리소스에 대해 구성할 수 있습니다. 이 기간은 Azure Portal, PowerShell, CLI 또는 Azure API를 사용하여 구성할 수 있습니다.

중요

유지 관리 기간을 구성하는 작업은 Azure SQL 리소스의 서비스 계층을 변경하는 것과 유사한 장기 실행 비동기 작업입니다. 리소스는 작업이 끝날 때 발생하는 짧은 재구성을 제외하고 작업 중에 사용할 수 있으며 일반적으로 중단된 장기 실행 트랜잭션의 경우에도 최대 8초 동안 지속됩니다. 재구성의 영향을 최소화하려면 사용량이 많은 시간 외에 작업을 수행해야 합니다.

유지 관리 기간을 사용하여 예측 가능성 향상

기본적으로 Azure SQL 유지 관리 정책은 사용량이 많은 일반적인 업무 시간 동안 중단을 방지하기 위해 매일 현지 시간으로 오전 8시부터 오후 5시까지의 기간 동안 가장 중대한 영향을 미치는 업데이트를 차단합니다. 현지 시간은 리소스를 호스트하는 Azure 지역의 위치에 따라 결정되며 현지 표준 시간대 정의에 따라 일광 절약 시간을 준수할 수도 있습니다.

유지 관리 중에는 데이터베이스를 계속 사용할 수 있지만 일부 업데이트에는 장애 조치(failover)가 필요할 수 있습니다. 시스템 기본 유지 관리 기간(오후 5시~오전 8시)은 대부분의 활동을 이 시간으로 제한하지만, 이 시간 외에도 긴급 업데이트가 발생할 수 있습니다. 모든 업데이트가 유지 관리 기간 중에만 수행되도록 하려면 기본값이 아닌 옵션을 선택합니다.

기본값이 아닌 두 개의 유지 관리 기간 슬롯 중에서 선택하여 Azure SQL 리소스에 적합한 시간으로 유지 관리 업데이트를 조정할 수 있습니다.

  • 평일 기간: 현지 시간 월요일~목요일 오후 10시~오전 6시
  • 주말 기간: 현지 시간 금요일~일요일 오후 10시~오전 6시

나열된 유지 관리 기간은 각 8시간 유지 관리 기간의 시작을 나타냅니다. 예를 들어 "현지 시간 월요일~목요일 오후 10시~오전 6시"는 유지 관리 기간이 월요일~목요일 오후 10시에 시작하여 다음 날(화요일~금요일) 오전 6시에 완료된다는 뜻입니다.

유지 관리 기간을 선택하고 서비스 구성이 완료되면 선택한 기간 동안에만 계획된 유지 관리가 수행됩니다. 유지 관리 이벤트는 일반적으로 단일 기간 내에 완료되지만 일부는 인접한 기간 2개 이상에 걸쳐 있을 수 있습니다.

Important

Azure SQL Managed Instance는 Azure 쌍을 이루는 지역이 동시에 배포되지 않도록 보장하는 안전한 배포 사례를 따릅니다. 그러나 먼저 업그레이드될 지역을 예측할 수 없으므로 배포 순서는 보장되지 않습니다. 주 인스턴스가 먼저 업그레이드되는 경우가 있고 보조 인스턴스가 먼저 업그레이드되는 경우도 있습니다.

  • SQL Managed Instance에 장애 조치(failover) 그룹이 있고 그룹이 Azure 지역 페어링과 일치하지 않으면 기본 및 보조 SQL Managed Instance에 다른 유지 관리 기간 일정을 선택해야 합니다. 예를 들어 지역 보조 SQL Managed Instance의 유지 관리 기간을 평일로, 지역 주 SQL Managed Instance의 유지 관리 기간을 주말로 선택할 수 있습니다.

  • 중요 보안 패치 적용과 같이 작업을 연기할 경우 심각한 영향이 발생할 수 있는 드문 경우에는 구성된 유지 관리 기간이 일시적으로 재정의될 수 있습니다.

고급 알림

Azure SQL Managed Instance의 예정된 계획된 유지 관리 이벤트를 경고하도록 유지 관리 알림을 구성할 수 있습니다. 경고는 유지 관리 기간이 시작되기 24시간 전과 유지 관리 기간이 끝날 때 도착합니다. 자세한 내용은 미리 알림을 참조하세요.

기능 가용성

지원되는 구독 유형

다음 제품 유형(종량제, CSP(클라우드 솔루션 공급자), Microsoft 기업계약 또는 Microsoft 고객 계약)에 대해서는 유지 관리 기간을 구성 및 사용할 수 있습니다.

개발/테스트 사용으로 제한되는 제품은 적합하지 않습니다(예: 종량제 개발/테스트 종량제 또는 Enterprise 개발/테스트).

참고

Azure 제안은 사용자가 소유한 Azure 구독의 유형을 말합니다. 예를 들어 종량제 요금을 사용하는 구독, Azure in OpenVisual Studio Enterprise는 모두 Azure 제품입니다. 제품 또는 플랜마다 조건 및 혜택이 다릅니다. 제품 또는 플랜이 구독의 개요에 표시됩니다. 구독을 다른 제품으로 전환하는 방법에 대한 자세한 내용은 다른 제품으로 Azure 구독 변경을 참조하세요.

지원되는 서비스 수준 목표

Azure SQL Managed Instance 풀을 제외한 모든 SLO에 기본 이외의 유지 관리 기간을 선택할 수 있습니다.

유지 관리 기간에 대한 Azure SQL Managed Instance 지역 지원

기본값이 아닌 Azure SQL Managed Instance에 대한 유지 관리 기간 선택은 모든 지역에서 사용할 수 있습니다.

게이트웨이 유지 관리

Azure SQL Managed Instance에서 게이트웨이 노드는 가상 클러스터 내에서 호스트되며 유지 관리 기간은 SQL Managed Instance와 동일합니다.

Important

리디렉션 연결 정책은 유지 관리 이벤트 중 중단 횟수를 최소화하는 데 권장됩니다. 연결 형식을 참조하세요.

Azure SQL Managed Instance에 대한 고려 사항

Azure SQL Managed Instance는 고객의 가상 네트워크 서브넷 내에서 실행되는 격리된 전용 가상 머신 전문 세트에서 호스트되는 서비스 구성 요소로 구성됩니다. 이러한 가상 머신은 Managed Instance 여러 개를 호스트할 수 있는 가상 클러스터를 형성하도록 그룹에서 구성됩니다. 동일한 서브넷의 인스턴스에 구성된 유지 관리 기간은 가상 클러스터 및 가상 클러스터 관리 작업 내의 가상 머신 그룹 수에 영향을 미칠 수 있으므로 유지 관리 기간을 구성하기 전에 몇 가지 사항을 고려해야 합니다.

유지 관리 기간 구성은 장기 실행 작업입니다.

같은 가상 머신 그룹에 호스트되는 모든 인스턴스는 같은 유지 관리 기간을 공유합니다. 기본적으로 모든 Managed Instance는 기본 유지 관리 기간을 사용하여 그룹에서 호스트됩니다. 인스턴스를 만드는 동안 또는 이미 생성된 후에 다른 유지 관리 기간을 지정하면 인스턴스는 해당 유지 관리 기간이 있는 별도의 머신 그룹에 배치됩니다. 이러한 그룹이 클러스터에 없으면 인스턴스의 새 구성이 수용되도록 새 그룹이 생성됩니다. 가상 클러스터에 추가 인스턴스를 구성하여 같은 유지 관리 기간을 사용하는 경우 해당 인스턴스도 그룹에 추가됩니다. 즉, 그룹 크기를 조정해야 할 수도 있습니다. 새 머신 그룹에 인스턴스를 추가하고 기존 머신 그룹의 크기를 조정하면 유지 관리 기간을 구성하는 작업 기간이 늘어날 수 있습니다.

인스턴스 관리 작업 예상 기간을 사용하여 Managed Instance 유지 관리 기간 구성 예상 기간을 계산할 수 있습니다.

Important

유지 관리 기간을 구성할 때 작업의 마지막 단계에서 장기 실행 트랜잭션을 중단하더라도 일반적으로 최대 8초까지 지속되는 인스턴스를 재구성해야 합니다. 영향을 최소화하려면 가장 바쁜 업무 시간 외에 유지 관리 기간을 구성합니다.

IP 주소 공간 요구 사항

가상 클러스터 IP 주소 할당에 따라 서브넷의 새 가상 머신 그룹마다 IP 주소를 추가해야 합니다. 기존 Managed Instance의 유지 관리 기간을 변경하려면 해당 서비스 계층에 대한 vCore 수를 조정할 때와 마찬가지로 임시 추가 IP 용량도 필요합니다.

IP 주소 변경

유지 관리 기간을 구성하거나 변경하면 인스턴스 IP 주소는 서브넷 IP 주소 범위 내의 다른 IP 주소로 변경됩니다.

Important

IP 주소 변경 후에 NSG(네트워크 보안 그룹) 및 방화벽 규칙에서 데이터 트래픽을 차단하지 않는지 확인합니다.

가상 클러스터 관리 작업의 직렬화

서비스 업그레이드 또는 가상 클러스터 크기 조정과 같이 가상 클러스터에 영향을 미치는 작업(예: 새 컴퓨팅 노드 추가 또는 사용하지 않는 컴퓨팅 노드 제거)은 직렬화됩니다. 따라서 이전 작업이 완료될 때까지 새 가상 클러스터 작업을 시작할 수 없습니다. 진행 중인 유지 관리 작업이 완료되기 전에 유지 관리 기간을 종료하면 진행 중인 유지 관리 작업은 다음 유지 관리 기간까지 보류됩니다. 이 시간 동안 제출된 다른 유지 관리 작업도 보류되며 원래 진행 중인 유지 관리 작업이 완료된 후 다음 유지 관리 기간 중이나 이후에 다시 시작합니다. 유지 관리 작업이 클러스터 내 가상 머신 그룹당 단일 유지 관리 기간보다 오래 걸리는 것은 일반적이지 않지만 매우 복잡한 유지 관리 작업의 경우 발생할 수 있습니다.

가상 클러스터 관리 작업 직렬화는 기본 유지 관리 정책에도 적용되는 일반적인 동작입니다. 유지 관리 기간 일정을 구성하면 인접한 두 기간 사이의 기간은 며칠일 수 있습니다. 드물지만 유지 관리 작업이 두 기간에 걸쳐 있으면 새로 제출된 작업은 며칠 동안 보류될 수 있으며 새 인스턴스 만들기 또는 기존 인스턴스 크기 조정과 같은 컴퓨팅 노드를 추가해야 하는 작업이 차단될 수 있습니다.

유지 관리 이벤트 목록 검색

Azure Resource Graph는 Azure 리소스 관리를 확장하도록 설계된 Azure 서비스입니다. Azure Resource Graph는 환경을 효과적으로 관리할 수 있도록 지정된 구독 세트에서 대규모로 쿼리할 수 있는 기능을 통해 효율적이고 성능이 뛰어난 리소스 탐색 기능을 제공합니다.

Azure Resource Graph Explorer를 사용하여 유지 관리 이벤트를 쿼리할 수 있습니다. 이러한 쿼리를 실행하는 방법에 대한 소개는 빠른 시작: Azure Resource Graph Explorer를 사용하여 첫 번째 Resource Graph 쿼리 실행을 참조하세요.

구독의 모든 SQL Managed Instance 유지 관리 이벤트를 확인하려면 Azure Resource Graph 탐색기에서 다음 샘플 쿼리를 사용합니다.

servicehealthresources
| where type =~ 'Microsoft.ResourceHealth/events'
| extend impact = properties.Impact
| extend impactedService = parse_json(impact[0]).ImpactedService
| where  impactedService =~ 'SQL Managed Instance'
| extend eventType = properties.EventType, status = properties.Status, description = properties.Title, trackingId = properties.TrackingId, summary = properties.Summary, priority = properties.Priority, impactStartTime = todatetime(tolong(properties.ImpactStartTime)), impactMitigationTime = todatetime(tolong(properties.ImpactMitigationTime))
| where eventType == 'PlannedMaintenance'
| order by impactStartTime desc

샘플 쿼리의 전체 참조 및 PowerShell 또는 Azure CLI와 같은 도구에서 사용하는 방법은 Azure Service Health에 대한 Azure Resource Graph 샘플 쿼리를 참조하세요.