Azure Arc 지원 SQL Managed Instance를 사용하여 관리형 데이터베이스 서비스 배포

완료됨

Azure Arc 지원 SQL Managed Instance는 SQL Server 엔진으로 구동되며 원하는 인프라에 배포할 수 있는 Azure SQL 서비스입니다.

Azure SQL과 비교

Azure SQL은 Azure 인프라에 배포되는 데이터베이스 서비스 제품군입니다.

Azure Virtual Machines의 SQL Server

이 Azure SQL 배포 옵션을 사용하면 원하는 Windows 또는 Linux 버전에서 정식 라이선스 SQL Server 제품을 실행할 수 있습니다. 사용자는 게스트 가상 머신 내의 모든 항목을 관리하고 Microsoft는 인프라를 관리합니다. 이 옵션을 IaaS(Infrastructure as a Service)라고 합니다.

Azure SQL Managed Instance

이 Azure SQL 배포 옵션은 미리 설치된 버전리스 SQL Server 인스턴스를 완전 관리형 서비스로 제공합니다. 사용자는 SQL Server 엔진 인스턴스의 기능을 거의 100% 사용할 수 있습니다. Microsoft는 인스턴스를 호스트하는 데 필요한 플랫폼과 인프라의 모든 측면을 관리합니다. 이 옵션은 PaaS(Platform as a Service)의 예입니다.

Azure SQL Database

이 Azure SQL 배포 옵션은 미리 설치된 버전리스 SQL Server로 구동되는 포함된 SQL Server 데이터베이스를 완전 관리형 서비스로 제공합니다. 사용자는 데이터베이스를 관리하고 Microsoft는 기본 SQL 인스턴스, 플랫폼 및 인프라를 관리합니다. 또한 이 옵션은 PaaS(Platform as a Service)의 예입니다.

Azure Arc 지원 SQL Managed Instance

Azure Arc 지원 SQL Managed Instance는 Azure SQL Managed Instance와 비슷합니다. 비슷한 기능과 관리 기능을 제공합니다. Azure의 동일한 PaaS(Platform as a Service) 기능 및 환경을 제공하는 한편 고객이 Kubernetes 플랫폼을 사용하여 인프라를 선택 및 관리하게 하는 것이 Azure Arc 지원 SQL Managed Instance의 의도입니다.

기능 비교

Azure Arc 지원 SQL Managed Instance의 기능을 이해하려면 핵심 기능, 배포 옵션 및 Azure와의 통합을 살펴보는 것이 중요합니다.

핵심 기능

Azure Arc 지원 SQL Managed Instance는 SQL Server 엔진을 기반으로 하므로 SQL Server 및 Azure SQL Managed Instance와 거의 100% 호환되는 핵심 인스턴스 기능을 제공합니다. 이 인스턴스에는 호환되는 T-SQL 언어 인터페이스와 모든 보안, 성능 및 가용성 기능이 포함됩니다. Microsoft 설명서에서 Azure Arc 지원 SQL Managed Instance의 기능에 대해 자세히 알아볼 수 있습니다.

Azure SQL Managed Instance와 마찬가지로 Azure Arc 지원 SQL Managed Instance를 배포하면 버전리스 SQL Server가 미리 설치되어 있습니다. Azure Arc 지원 SQL Managed Instance는 MCR(Microsoft Container Registry)의 컨테이너 이미지를 사용합니다.

Azure SQL Managed Instance는 게이트웨이 서버를 사용하여 기본 연결 세부 정보로 애플리케이션을 추상화합니다. 또한 Azure Arc 지원 SQL Managed Instance는 Kubernetes LoadBalancer 또는 NodePort 서비스를 사용하여 연결 추상화를 제공합니다.

서비스 계층

Azure SQL Managed Instance와 마찬가지로 서비스 계층이라고 하는 다음과 같은 두 가지 배포 옵션을 사용하여 Azure Arc 지원 SQL Managed Instance를 배포할 수 있습니다.

  • 범용 - 이름에서 알 수 있듯이 대부분의 워크로드를 위해 설계된 서비스 계층입니다. 이 서비스 계층은 코어 및 메모리와 같은 리소스 제한이 있지만 Kubernetes 및 공유 스토리지를 통해 기본적으로 고가용성을 제공합니다. 범용 계층의 인스턴스는 SQL Server Standard Edition에서 지원하는 기능에 매핑됩니다.

  • 중요 비즈니스용 - 최상의 성능과 최고 수준의 가용성이 필요한 워크로드를 위해 설계된 이 서비스 계층입니다. 이 서비스 계층은 메모리 또는 코어 제한이 없으며, 가용성 그룹을 사용하여 읽기 스케일 아웃이 지원되는 고가용성을 제공합니다. 중요 비즈니스용 계층의 인스턴스는 SQL Server Enterprise Edition에서 지원하는 기능에 매핑됩니다.

두 서비스 계층은 코어 단위로 요금이 청구되지만 Azure 하이브리드 혜택 라이선스 및 개발자 옵션을 무료로 사용할 수 있습니다. 중요 비즈니스용 서비스 계층은 현재 미리 보기로 제공되므로 사용 요금이 발생하지 않습니다. Microsoft 설명서에서 서비스 계층에 대해 자세히 알아볼 수 있습니다.

Azure 통합

Azure SQL Managed Instance를 배포하는 경우 대금 청구, 사용량, 메트릭 및 로그를 Azure와 통합할 수 있습니다. 뿐만 아니라 포털과 같은 Azure 인터페이스를 사용하여 Azure SQL Managed Instance를 배포하고 구성할 수 있습니다.

Azure Arc 지원 SQL Managed Instance를 위한 Azure와의 통합은 사용하는 연결 모드에 따라 달라집니다.

Azure와의 통합은 직접 연결 모드를 사용하여 Azure Arc 에이전트 및 Azure Arc 데이터 컨트롤러를 통해 자동으로 처리됩니다. Azure Portal과 같은 Azure 인터페이스를 배포 및 구성에 사용할 수 있습니다.

간접 연결 모드를 사용하는 경우 대금 청구를 위해 필요한 최소한의 데이터를 Azure에 전송해야 합니다. 필요에 따라 메트릭 및 로그와 같은 데이터를 내보낼 수 있습니다. Azure Portal을 통한 배포 및 구성은 간접 연결 모드에서 지원되지 않습니다. 그러나 Azure CLI 및 kubectl과 같은 인터페이스를 배포 및 구성에 사용할 수 있습니다.

관리 기능 비교

Azure Arc지원 SQL Managed Instance가 관리되는 서비스이므로 Azure SQL Managed Instance와 관리 기능을 비교하는 것이 유용합니다. 다음 섹션에서는 버전 없는 엔진, 배포 및 구성, 모니터링, 고가용성, 재해 복구 및 마이그레이션 기능을 비교합니다.

버전리스

Azure SQL Managed Instance를 사용하면 좋은 점 중 하나는 SQL Server, 운영 체제 및 플랫폼 소프트웨어를 패치하고 업데이트할 필요가 없습니다. Azure SQL Managed Instance의 엔진은 SQL Server처럼 주 버전의 개념이 없으므로 종종 버전리스라고 부릅니다. 이 인스턴스는 소프트웨어 패치 또는 새 기능을 위해 필요할 때마다 지속적으로 업데이트됩니다.

또한 Azure Arc 지원 SQL Managed Instance는 버전리스 엔진을 사용하므로, 업데이트된 컨테이너 이미지를 통해 필요할 때 업데이트를 자동으로 적용할 수 있습니다. 새 컨테이너를 중지하고 시작하는 강력한 Kubernetes를 사용하여 가용성이 유지됩니다.

배포 및 구성

Azure Arc 지원 SQL Managed Instance 배포는 Azure SQL Managed Instance와 매우 비슷하게 편리한 선언적 프로세스입니다. Azure Arc 지원 SQL Managed Instance를 배포할 때 서비스 계층, 코어 및 메모리 제한, 스토리지 클래스 사양 그리고 SQL Server 에이전트, 데이터 정렬, 추적 플래그 등의 SQL 구성 옵션을 지정할 수 있습니다.

직접 연결 모드에서는 Azure Portal을 사용하여 Azure Arc 지원 SQL Managed Instance를 배포할 수 있습니다. 간접 연결 모드에서는 Azure CLI(arcdata 확장 사용), kubectl 또는 Azure Data Studio를 사용하여 Azure Arc 지원 SQL Managed Instance를 배포할 수 있습니다.

SQL 인스턴스 외부에서는 직접 연결 모드에서 Azure Portal을 사용하여 Azure Arc 지원 SQL Managed Instance를 구성할 수도 있습니다. 어떤 연결 모드를 사용하든, SQL 인스턴스 외부에서 Azure CLI 또는 kubectl을 사용하여 옵션을 구성할 수 있습니다.

SQL 인스턴스 내에서는 sp_configure, ALTER SERVER CONFIGURATION, ALTER DATABASE와 같은 표준 SQL Server 인터페이스를 사용하여 인스턴스 및 데이터베이스 옵션을 구성할 수 있습니다.

모니터링

Azure SQL Managed Instance와 마찬가지로 주요 메트릭에 대한 Azure 모니터를 사용하여 Azure Arc 지원 SQL Managed Instance를 모니터링할 수 있습니다. 클러스터 내에서 로컬로, 기본 제공 모니터링을 노드 또는 SQL 인스턴스에 대한 Grafana 대시보드와 함께 사용할 수도 있습니다.

Azure Arc 지원 SQL Managed Instance 로그는 Azure Portal에서 로그 분석을 통해 살펴볼 수 있습니다. 클러스터 내에서 로컬로, 기본 제공 로그를 Kibana와 함께 사용할 수도 있습니다.

Azure Arc 지원 SQL Managed Instance는 SQL Server를 기반으로 하기 때문에 표준 ERRORLOG 파일에서 SQL 오류 및 인스턴스 세부 정보를 볼 수 있습니다. 또한 Azure Arc 지원 SQL Managed Instance는 사용 가능한 모든 DMV(동적 관리 뷰) 및 확장 이벤트를 지원합니다.

고가용성

Azure Arc 지원 SQL Managed Instance와 같은 관리되는 서비스를 사용하면 좋은 점 중 하나는 기본적으로 고가용성을 제공한다는 것입니다. Azure SQL Managed Instance와 마찬가지로 고가용성을 달성하기 위해 사용되는 방법은 서비스 계층에 따라 달라집니다.

범용 서비스 계층의 경우 Kubernetes StatefulSets의 기본 제공 고가용성이 공유 스토리지와 함께 사용됩니다.

중요 비즈니스용 서비스 계층의 경우 Kubernetes StatefulSets와 SQL Server Always On 가용성 그룹 복제본을 함께 사용하여 고가용성이 기본 제공됩니다. 가용성 그룹 복제본은 자동으로 배포 및 구성됩니다. Azure SQL Managed Instance와 마찬가지로 읽기 전용 복제본은 읽기 워크로드를 오프로드하는 데 사용할 수 있습니다. 마스터 및 모델과 같은 시스템 데이터베이스는 가용성 그룹의 일부입니다. 장애 조치(failover) 이벤트가 발생한 후 SQL 에이전트 작업과 같은 시스템 수준 개체를 자동으로 사용할 수 있습니다.

Kubernetes LoadBalancer 및 NodePort는 인스턴스가 클러스터 내에서 이동하는 경우 애플리케이션의 연결 추상화를 제공합니다. 또한 중요 비즈니스용 서비스 계층을 위한 읽기 전용 연결 추상화 지점이 제공됩니다.

Azure SQL Managed Instance의 전체 플랫폼 및 인프라를 Microsoft에서 관리하므로, 사용자는 SLA(서비스 수준 계약)의 이점을 얻을 수 있습니다. Azure Arc 지원 SQL Managed Instance용 인프라는 고객이 관리해야 하므로 고객이 SLA를 소유하고 관리합니다.

재해 복구

Azure SQL Managed Instance와 마찬가지로 Azure Arc 지원 SQL Managed Instance는 특정 시점 복원을 비롯한 데이터베이스 자동 백업 시스템을 제공합니다. 사용자는 언제든지 COPY_ONLY 백업을 수동으로 실행하여 복원할 수 있습니다.

사용자는 원하는 RPO(복구 지점 목표) 및 보존 기간을 구성할 수 있습니다. 이러한 설정에 따라 트랜잭션 로그 백업의 빈도와 백업 보존 기간이 결정됩니다.

Azure SQL Managed Instance는 Azure 스토리지를 사용하여 백업의 기본 중복성을 제공합니다. Azure Arc 지원 SQL Managed Instance 사용자는 SQL 백업에 사용할 특정 Kubernetes 스토리지 클래스를 구성할 수 있지만 모든 중복성 요구 사항을 직접 해결해야 합니다.

마이그레이션

Azure Arc 지원 SQL Managed Instance는 SQL Server 엔진을 사용하므로, 데이터베이스 백업 및 복원을 사용하여 기존 SQL Server 버전을 마이그레이션할 수 있습니다. Azure Storage에서 직접 데이터베이스를 복원하거나 SQL Managed Instance용 컨테이너에 로컬 백업을 복사하여 데이터베이스를 복원할 수 있습니다.

Azure Arc 지원 SQL Managed Instance용 인터페이스

다음 인터페이스는 Azure Arc 지원 SQL Managed Instance와 함께 사용하여 인스턴스를 관리하고 애플리케이션을 빌드할 수 있습니다.

SSMS(SQL Server Management Studio)

SSMS(SQL Server Management Studio)는 완벽하게 호환되므로 Azure Arc 지원 SQL Managed Instance를 쿼리하고 관리할 수 있습니다.

ADS(Azure Data Studio)

ADS(Azure Data Studio)는 Azure Arc 지원 SQL Managed Instance를 쿼리하고 관리할 수 있는 다중 플랫폼 도구입니다. ADS는 T-SQL Notebook과 함께 T-SQL을 사용하는 쿼리를 지원합니다. 또한 ADS Azure Arc 확장을 사용하여 데이터 컨트롤러, SQL Managed Instance 및 PostgreSQL Hyperscale(미리 보기)과 같은 Azure Arc 지원 데이터 서비스 리소스를 만들고 관리할 수 있습니다.

SQL 명령줄 도구

sqlcmd 및 bcp와 같은 SQL 명령줄 도구는 Azure Arc 지원 SQL Managed Instance에서 지원됩니다.

Azure Portal

직접 연결 모드를 사용하는 경우 Azure Portal에서 Azure Arc 지원 데이터 서비스를 만들고, 보고, 관리할 수 있습니다. 또한 간접 연결 모드를 사용하여 데이터를 업로드하는 경우 Azure Portal에서 Azure Arc 지원 SQL Managed Instance 세부 정보를 볼 수 있습니다.

Azure CLI

다중 플랫폼 Aure CLI(명령줄 인터페이스)와 함께 arcdata 확장을 사용하여 SQL Managed Instance와 같은 Azure Arc 지원 데이터 서비스를 만들고, 보고, 관리할 수 있습니다. Azure CLI는 간접 연결 모드에서만 사용하여 Azure Arc 지원 SQL Managed Instance를 배포할 수 있습니다. Azure CLI는 간접 연결 모드를 사용하는 경우 대금 청구 정보, 메트릭 및 로그를 업로드하는 기본 인터페이스입니다.

kubectl

다중 플랫폼 kubectl CLI(명령줄 인터페이스)를 사용하여 SQL Managed Instance를 포함한 Azure Arc 지원 데이터 서비스를 만들고, 보고, 관리할 수 있습니다. Azure CLI는 Azure Arc 지원 SQL Managed Instance와 함께 사용할 수 있는 기본 명령줄 인터페이스이지만, kubectl에서 yaml 파일을 사용하여 리소스를 만들고 관리할 수도 있습니다. Kubectl은 간접 연결 모드에서만 사용하여 Azure Arc 지원 SQL Managed Instance를 배포할 수 있습니다. Kubectl을 사용해야 하는 기본적인 특정 시점 복원 구성 편집과 같은 몇 가지 시나리오가 있습니다.

SQL 드라이버

지원되는 아무 SQL Server 드라이버를 애플리케이션에 사용하여 Azure Arc 지원 SQL Managed Instance를 연결하고 쿼리를 실행할 수 있습니다. C#, Java, Node.js, PHP, Python, Ruby 등 널리 사용되는 프로그래밍 언어의 드라이버 지원이 포함되어 있습니다.

지식 점검

1.

Always On 가용성 그룹을 사용하여 복제본으로 고가용성을 제공하는 서비스 계층은 무엇인가요?

2.

간접 연결 모드를 사용하여 Azure Portal에서 Azure Arc 지원 SQL Managed Instance의 대금 청구 정보, 메트릭 및 로그를 볼 수 있습니다.

3.

사용자는 어떤 옵션을 사용하여 Azure Arc 지원 SQL Managed Instance 대한 자동화된 백업을 구성합니까?

4.

Azure Arc 지원 SQL Managed Instance를 관리하는 데 사용할 수 있는 도구는 무엇인가요?