서브넷에서 Azure SQL Managed Instance 이동
적용 대상: Azure SQL Managed Instance
이 문서에서는 vCore를 스케일링하거나 인스턴스 서비스 계층을 변경하는 경우와 마찬가지로 Azure SQL Managed Instance를 한 서브넷에서 (같은 VNet 또는 다른 VNet에 있는) 다른 서브넷으로 이동하는 방법을 설명합니다. SQL Managed Instance는 장애 조치로 인한 짧은 가동 중지 시간 동안을 제외하고 이동 중에 사용할 수 있으며 장기 실행 트랜잭션이 중단된 경우에도 일반적으로 최대 10초 동안 지속됩니다.
인스턴스를 다른 서브넷으로 이동하면 다음 가상 클러스터 작업이 트리거됩니다.
- 가상 클러스터는 대상 서브넷에서 기본 인프라를 빌드하거나 크기를 조정합니다.
- 가상 클러스터가 원본 서브넷에서 제거되거나 조각 모음됩니다.
요구 사항 및 제한 사항
SQL Managed Instance는 Azure 가상 네트워크의 전용 서브넷 내에 배포해야 합니다. 서브넷 내에 배포할 수 있는 관리형 인스턴스 수는 서브넷 크기(서브넷 범위)에 따라 달라집니다. 관리형 인스턴스를 배포하거나 다른 서브넷으로 이동하려면 대상 서브넷에 특정 네트워크 요구 사항이 있어야 합니다.
인스턴스를 다른 서브넷으로 이동하기 전에 다음 개념을 숙지하는 것이 좋습니다.
- Azure SQL Managed Instance에 대한 필수 서브넷 크기 및 범위 확인
- 인스턴스를 새 서브넷으로 이동하거나 기존 서브넷을 사용할 수 있습니다.
- 관리 작업을 사용하여 새 관리형 인스턴스를 자동으로 배포하거나, 인스턴스 속성을 업데이트하거나, 인스턴스를 삭제합니다. 이러한 관리 작업을 모니터링할 수 있습니다.
서브넷 준비
관리형 인스턴스를 이동하기 전에 서브넷이 Managed Instance에 대해 준비됨로 표시되어 있는지 확인합니다.
Azure Portal의 가상 네트워크 UI에서 관리형 인스턴스의 필수 조건을 충족하는 가상 네트워크는 Managed Instance에 대해 준비됨으로 분류됩니다. 관리되는 인스턴스가 이미 배포된 서브넷이 있는 가상 네트워크는 가상 네트워크 이름 앞에 SQL Managed Instance 아이콘을 표시합니다. 관리되는 인스턴스에 대해 준비된 빈 서브넷에는 가상 네트워크 서브넷 아이콘이 표시됩니다.
준비되지 않음으로 표시된 서브넷은 SQL Managed Instance 배포에 대한 모든 요구 사항을 충족하지 않습니다. 서브넷 이름 오른쪽에 있는 정보 아이콘을 사용하여 서브넷이 준비되지 않은 이유와 서브넷이 네트워크 요구 사항을 충족할 수 있는지 알아봅니다. 요구 사항은 다음과 같습니다.
- Microsoft.Sql/managedInstances 리소스 공급자에 위임
- 경로 테이블 연결
- 네트워크 보안 그룹 연결
서브넷이 다른 가상 네트워크의 일부인 경우 추가 요구 사항은
- 현재 가상 네트워크와 대상 가상 네트워크 간의 양방향 피어링입니다.
- 현재 및 대상 서브넷은 별도의 경로 테이블과 네트워크 보안 그룹을 사용합니다.
모든 요구 사항이 충족되면 서브넷이 준비되지 않음에서 Managed Instance에 대해 준비됨 범주로 이동하고 관리형 인스턴스에 사용할 수 있습니다.
이미 사용 중인 서브넷(인스턴스 배포에 사용되는 서브넷은 다른 리소스를 포함할 수 없음)이거나 서브넷에 다른 DNS 영역(서브넷 간 인스턴스 이동 제한)이 있는 경우 항상 준비 안 됨 범주의 일부입니다.
서브넷 상태와 지정에 따라 대상 서브넷을 다음과 같이 조정할 수 있습니다.
- Managed Instance에 대해 준비됨(기존 SQL Managed Instance 포함): 조정되지 않습니다. 이러한 서브넷에는 관리형 인스턴스가 포함되어 있으며 서브넷을 변경하면 기존 인스턴스에 영향을 줄 수 있습니다.
- Managed Instance에 대해 준비됨(비어 있음): 워크플로는 네트워크 보안 그룹과 경로 테이블에 있는 필요한 모든 규칙의 유효성을 검사하고 필요하지만 누락된 모든 규칙을 추가합니다. 1
참고
1 원본 서브넷 구성에 추가된 사용자 지정 규칙은 대상 서브넷에 복사되지 않습니다. 원본 서브넷 구성의 사용자 지정은 대상 서브넷에 수동으로 복제되어야 합니다. 이를 달성하는 한 가지 방법은 원본 및 대상 서브넷에 대해 동일한 경로 테이블과 네트워크 보안 그룹을 사용하는 것입니다.
대상 서브넷 제한 사항
기존 인스턴스의 대상 서브넷을 선택하는 경우 다음 제한 사항을 고려합니다.
SQL Managed Instance는 다음 중 하나에 해당하는 서브넷으로 이동할 수 있습니다.
- 현재 사용된 것과 동일한 가상 네트워크에서
- 피어링된 가상 네트워크에서 다른 가상 네트워크의 서브넷으로 이동하는 경우.
대상 서브넷에 있는 인스턴스의 DNS 영역은 이동 중인 인스턴스의 DNS 영역과 일치해야 합니다. 이 제한은 비어 있지 않은 서브넷으로 이동하려는 경우에 적용됩니다.
- 이동 중인 SQL Managed Instance DNS 영역을 유지하도록 대상 서브넷을 특별히 준비할 수 있습니다. 빈 서브넷에 새 SQL Managed Instance 만들고 만들기 요청에 dnsZonePartner 매개 변수를 제공하여 준비를 수행할 수 있습니다. 이 매개 변수는 SQL Managed Instance의 ID를 값으로 허용하며 이 경우 나중에 새 서브넷으로 이동할 인스턴스를 사용할 수 있습니다1.
참고
1 이 접근법 외에는 SQL Managed Instance의 DNS 영역을 서술할 방법이 없습니다. 임의로 생성되기 때문입니다. 또한 현재 기존 SQL Managed Instance DNS 영역을 업데이트하는 방법이 없습니다.
- 장애 조치(failover) 그룹을 사용하여 SQL Managed Instance를 마이그레이션하려는 경우 다음 필수 구성 요소가 적용됩니다.
- 대상 서브넷에는 원본 서브넷과 장애 조치(failover) 그룹 복제에 필요한 것과 동일한 보안 규칙이 있어야 합니다. 두 인스턴스 간의 복제 트래픽을 허용하려면 다른 관리형 인스턴스 서브넷(장애 조치(failover) 그룹 복제본을 보유하는 서브넷)의 연결에 대해 인바운드 및 아웃바운드 포트 5022 및 NSG(네트워크 보안 그룹)의 범위 11000~11999를 모두 엽니다.
- 대상 서브넷은 장애 조치(failover) 그룹의 보조 인스턴스 복제본을 보유하는 서브넷과 겹치는 주소 범위를 가질 수 없습니다. 예를 들어 MI1이 서브넷 S1에 있으면 장애 조치(failover) 그룹에서 보조 인스턴스는 서브넷 S2의 MI2입니다. MI1을 서브넷 S3으로 이동하려고 합니다. 서브넷 S3에는 서브넷 S2와 겹치는 주소 범위가 있을 수 없습니다.
장애 조치(failover) 그룹에 대한 네트워크를 구성하는 방법에 대해 자세히 알아보려면 관리형 인스턴스 간에 지역 복제 사용을 검토하세요.
작업 단계
한 서브넷에서 다른 서브넷으로 인스턴스를 이동하는 것은 여러 단계가 포함되며 SQL Managed Instance가 구성된 방법에 따라 30분에서 6시간까지 걸릴 수 있습니다.
다음 표에서는 인스턴스 이동 작업 중에 발생하는 작업 단계를 자세히 설명합니다.
단계 이름 | 단계 설명 |
---|---|
요청 유효성 검사 | 제출된 매개 변수의 유효성을 검사합니다. 잘못된 구성이 검색되면 오류가 발생하여 작업이 실패합니다. |
가상 클러스터 크기 조정/만들기 | 대상 서브넷의 상태에 따라 가상 클러스터가 생성되거나 크기가 조정됩니다. |
새 인스턴스 시작 | SQL 프로세스는 대상 서브넷의 배포된 가상 클러스터에서 시작됩니다. |
데이터베이스 파일 시딩/데이터베이스 파일 연결 | 서비스 계층에 따라 데이터베이스가 시드되거나 데이터베이스 파일이 연결됩니다. |
장애 조치(failover) 준비 및 장애 조치(failover) | 데이터가 시드되거나 데이터베이스 파일이 다시 연결된 후 시스템은 장애 조치를 준비합니다. 모든 것이 준비되면 시스템은 일반적으로 10초 미만의 짧은 가동 중지 시간으로 장애 조치를 수행합니다. |
오래된 SQL 인스턴스 정리 | 원본 가상 클러스터에서 이전 SQL 프로세스를 제거합니다. |
가상 클러스터 삭제 | 원본 서브넷 내에서 마지막 인스턴스인 경우 마지막 단계에서는 가상 클러스터를 동기적으로 삭제합니다. 그렇지 않으면 가상 클러스터가 비동기적으로 조각 모음됩니다. |
작업 단계에 관한 자세한 설명은 Azure SQL Managed Instance 관리 작업 개요에서 확인할 수 있습니다.
인스턴스 이동
서브넷 간 인스턴스 이동은 인스턴스 업데이트 작업의 일부입니다. 기존 인스턴스 업데이트 API, Azure PowerShell, Azure CLI 명령은 서브넷 ID 속성을 사용하여 향상되었습니다.
Azure Portal에서 네트워킹 창의 서브넷 필드를 사용하여 인스턴스를 대상 서브넷으로 이동합니다. Azure PowerShell 또는 Azure CLI를 사용하는 경우 update 명령에 다른 서브넷 ID를 제공하여 기존 서브넷에서 대상 서브넷으로 인스턴스를 이동합니다.
인스턴스 관리 명령의 전체 참조는 Azure SQL Managed Instance에 대한 관리 API 참조를 참조하세요.
인스턴스 서브넷을 선택하는 옵션은 Azure Portal의 네트워킹 창에 있습니다. 서브넷을 선택하고 변경 내용을 저장하면 인스턴스 이동 작업이 시작됩니다.
이동 작업의 첫 번째 단계는 배포를 위해 대상 서브넷을 준비하는 것이며 몇 분 정도 걸릴 수 있습니다. 서브넷이 준비되면 인스턴스 이동 관리 작업이 시작되고 Azure Portal에서 표시됩니다.
Azure Portal의 개요 창에서 인스턴스 이동 작업을 모니터링합니다. 알림을 선택하여 현재 단계, 총 단계, 작업 취소 단추에 관한 정보가 포함된 추가 창을 엽니다.
다음 단계
- 첫 번째 Managed Instance를 만드는 방법을 알아보려면 빠른 시작 가이드를 참조하세요.
- 기능 및 비교 목록은 SQL 일반 기능을 참조하세요.
- VNet 구성에 대한 자세한 내용은 SQL Managed Instance VNet 구성을 참조하세요.
- 백업 파일에서 관리형 인스턴스를 만들고 데이터베이스를 복원하는 방법에 대한 빠른 시작은 관리형 인스턴스 만들기를 참조하세요.
- Azure Database Migration Service를 사용하여 마이그레이션하는 방법에 대한 자습서는 Database Migration Service를 사용한 SQL Managed Instance 마이그레이션을 참조하세요.