Azure SQL 서비스 및 기능 설명하기

완료됨

Azure SQL은 Azure의 Microsoft SQL Server 기반 데이터베이스 서비스 제품군을 통칭하는 용어입니다. 구체적인 Azure SQL 서비스의 예는 다음과 같습니다.

  • Azure VMs(Virtual Machines)의 SQL Server - SQL Server가 설치된 Azure에서 실행되는 가상 머신입니다. VM이 사용되었기 때문에 이 옵션은 Azure에서 컴퓨팅, 스토리지, 네트워킹의 하드웨어 인프라를 가상화하는 IaaS(Infrastructure-as-a-Service) 솔루션이 됩니다. “리프트 앤 시프트” 방식으로 기존 온-프레미스 SQL Server 설치를 클라우드로 마이그레이션하는 데 적합한 옵션입니다.
  • Azure SQL Managed Instance - 온-프레미스 SQL Server 인스턴스와 100%에 가까운 호환성을 지원하고 기반 하드웨어 및 운영 체제를 추상화하는 PaaS(Platform-as-a-Service) 옵션입니다. 이 서비스는 자동 소프트웨어 업데이트 관리, 백업 및 기타 유지 관리 작업을 포함하므로 데이터베이스 서버 인스턴스를 지원하기 위한 관리 부담을 줄여 줍니다.
  • Azure SQL Database - 클라우드를 위해 설계되고 스케일링 성능이 뛰어난 완전 관리형 PaaS 데이터베이스 서비스입니다. 이 서비스는 온-프레미스 SQL Server의 핵심적인 데이터베이스 수준 기능을 포함하여, 클라우드에서 새 애플리케이션을 만들어야 하는 경우에 좋은 옵션이 됩니다.
  • Azure SQL Edge - 스트리밍 시계열 데이터를 처리해야 하는 IoT(사물 인터넷) 시나리오에 최적화된 SQL 엔진입니다.

참고 항목

이 목록에는 Azure SQL Edge가 완전하게 포함되어 있지만 이 모듈에서는 보다 일반적인 관계형 데이터베이스 시나리오에 대한 다른 옵션에 중점을 둘 것입니다.

Azure SQL 서비스 비교하기

-- Azure VM의 SQL Server Azure SQL Managed Instance Azure SQL Database
SQL Server Azure VM 로고 Azure SQL Managed Instance 로고 Azure SQL Database 로고
클라우드 서비스의 유형 IaaS PaaS PaaS
SQL Server 호환성 온-프레미스의 물리적 설치 및 가상화된 설치와 완전 호환됩니다. 애플리케이션 및 데이터베이스는 변경 없이 “리프트 앤 시프트” 방식으로 손쉽게 마이그레이션할 수 있습니다. SQL Server와 100%에 가깝게 호환됩니다. 대부분의 온-프레미스 데이터베이스는 Azure Database Migration 서비스를 사용하여 최소한의 코드 변경만으로 마이그레이션할 수 있습니다. SQL Server의 핵심적인 데이터베이스 수준 기능을 대부분 지원합니다. 온-프레미스 애플리케이션에 종속되는 일부 기능은 사용하지 못할 수 있습니다.
아키텍처 SQL Server 인스턴스는 가상 머신에 설치됩니다. 하나의 인스턴스가 여러 데이터베이스를 지원할 수 있습니다. 하나의 관리형 인스턴스가 여러 데이터베이스를 지원할 수 있습니다. 추가로 인스턴스 풀을 사용하여 여러 소규모 인스턴스에서 리소스를 효율적으로 공유할 수 있습니다. 전용 관리형(논리) 서버에서 단일 데이터베이스를 프로비저닝하거나 탄력적 풀을 사용하여 여러 데이터베이스에서 리소스를 공유하고 주문형 스케일링 성능을 활용할 수 있습니다.
가용성 99.99% 99.99% 99.995%
관리 운영 체제 업데이트와 SQL Server 업데이트, 구성, 백업, 기타 유지 관리 작업을 비롯한 서버의 모든 측면을 사용자가 관리해야 합니다. 업데이트, 백업 및 복구가 완전 자동화됩니다. 업데이트, 백업 및 복구가 완전 자동화됩니다.
사용 사례 온-프레미스 SQL Server 솔루션을 마이그레이션 또는 확장하고 서버 및 데이터베이스 구성의 모든 측면을 완전히 관리해야 하는 경우 이 옵션을 사용하세요. 대부분의 클라우드 마이그레이션 시나리오에서, 그중에서도 특히 기존 애플리케이션을 최소한으로만 변경해야 하는 경우에 이 옵션을 사용하세요. 새로운 클라우드 솔루션을 만들 때나 최소한의 인스턴스 수준 종속성을 갖는 애플리케이션을 마이그레이션할 때 이 옵션을 사용하세요.

Azure Virtual Machines의 SQL Server

Virtual Machines의 SQL Server를 사용하면 온-프레미스 하드웨어를 관리할 필요 없이 전체 버전의 SQL Server를 클라우드에서 사용할 수 있습니다. 다음은 IaaS 방법의 예입니다.

Azure 가상 머신에서 실행되는 SQL Server는 실제 온-프레미스 하드웨어에서 실행되는 데이터베이스를 효과적으로 복제합니다. 온-프레미스를 실행하는 시스템에서 Azure 가상 머신으로 마이그레이션하는 것은 한 온-프레미스 서버에서 다른 서버로 데이터베이스를 이동하는 것과는 다릅니다.

이 방법은 PaaS 수준에서 지원되지 않을 수 있는 운영 체제 기능에 액세스해야 하는 마이그레이션 및 애플리케이션에 적합합니다. SQL 가상 머신은 최소한의 변경으로 빠르게 클라우드로 마이그레이션해야 하는 기존 애플리케이션을 위한 리프트 앤 시프트입니다. 하이브리드 배포에서 기존 온-프레미스 애플리케이션을 클라우드로 확장하는 데 Azure VM의 SQL Server를 사용할 수도 있습니다.

참고

하이브리드 배포는 작업의 일부가 온-프레미스에서 실행되고 일부는 클라우드에서 실행되는 시스템입니다. 데이터베이스 요소는 클라우드에서 호스팅될 수 있지만 데이터베이스는 온-프레미스로 실행되는 더 큰 시스템의 일부일 수 있습니다.

가상 머신에서 SQL Server를 사용하여 기존 SQL Server 애플리케이션을 개발하고 테스트할 수 있습니다. 가상 머신을 사용하는 경우에는 DBMS 및 운영 체제에 대한 전체 관리 권한이 있습니다. 가상 머신을 유지 관리하는 데 사용할 수 있는 IT 리소스가 조직에 이미 있는 경우에는 완벽한 선택이 될 수 있습니다.

이러한 기능으로 다음을 수행할 수 있습니다.

  • 온-프레미스 비프로덕션 SQL Server 하드웨어를 구매하지 않으려는 경우 신속한 개발 및 테스트 시나리오를 만듭니다.
  • 최소한의 변경 또는 변경 없이 빠르게 클라우드로 마이그레이션해야 하는 기존 애플리케이션에 적합한 리프트 앤 시프트가 됩니다.
  • 가상 머신에 더 많은 메모리, CPU 전원과 디스크 공간을 할당하여 SQL Server가 실행되는 플랫폼을 스케일 업합니다. Azure 가상 머신에서 실행되는 소프트웨어를 다시 설치하지 않아도 Azure 가상 머신의 크기를 신속하게 조정할 수 있습니다.

비즈니스 이점

가상 머신에서 SQL Server를 실행하면 온-프레미스 및 클라우드에서 호스팅된 배포를 조합하여 고유하고 다양한 비즈니스 요구를 충족할 수 있으며, 이러한 환경에서 서버 제품, 개발 도구 및 전문 지식을 동일하게 사용할 수 있습니다.

비즈니스에서 DBMS를 완전 관리형 서비스로 전환하기가 항상 쉬운 것은 아닙니다. 데이터베이스 및 데이터베이스를 사용하는 애플리케이션을 변경해야 하는 관리형 서비스로 마이그레이션하기 위해 충족해야 할 특정 요구 사항이 있을 수 있습니다. 이러한 이유로, 가상 머신을 사용하는 것이 하나의 솔루션이 될 수 있지만, 가상 머신을 사용한다고 해서 온-프레미스를 관리하는 것과 같이 주의 깊게 DBMS를 관리해야 할 필요가 사라지는 것은 아닙니다.

Azure SQL Database Managed Instance

Azure SQL Managed Instance는 완전히 제어 가능한 SQL Server 인스턴스를 클라우드에서 효과적으로 실행합니다. 동일한 인스턴스에 여러 데이터베이스를 설치할 수 있습니다. 온-프레미스 서버와 마찬가지로 이 인스턴스를 완전히 제어할 수 있습니다. SQL Managed Instance는 백업, 소프트웨어 패치, 데이터베이스 모니터링 및 그 밖의 일반적인 작업을 자동화하며, 이와 동시에 사용자가 데이터베이스의 보안 및 리소스 할당을 완전히 제어할 수 있습니다. Azure SQL Managed Instance란?에서 자세한 정보를 확인할 수 있습니다.

관리되는 인스턴스는 백업용 Azure Storage, 원격 분석용 Azure Event Hubs, 인증용 Microsoft Entra ID, TDE(투명한 데이터 암호화)용 Azure Key Vault 등의 Azure 서비스와 보안 및 지원 가능성 기능을 제공하는 몇 가지 Azure 플랫폼 서비스에 따라 달라집니다. 관리되는 인스턴스는 이러한 서비스에 연결을 수행합니다.

모든 통신은 인증서를 사용하여 암호화되고 서명됩니다. 통신 당사자를 신뢰성을 검사하기 위해, 관리되는 인스턴스는 인증서 해지 목록을 통해 이러한 인증서를 지속적으로 확인합니다. 인증서가 해지되면 관리되는 인스턴스는 데이터를 보호하기 위해 연결을 종료합니다.

사용 사례

가상 머신에서 SQL Server 서버를 실행할 때 발생하는 관리 오버헤드 없이 온-프레미스 SQL Server 인스턴스와 모든 데이터베이스를 클라우드로 리프트 앤 시프트하려는 경우 Azure SQL Managed Instance를 사용하세요.

Azure SQL Managed Instance는 Azure SQL Database(자세한 내용은 아래 참조)에 없는 기능을 제공합니다. 시스템에서 연결된 서버, Service Broker(서버 간에 작업을 배포하는 데 사용할 수 있는 메시지 처리 시스템) 또는 데이터베이스 메일(데이터베이스에서 사용자에게 메일 메시지를 보낼 수 있도록 하는) 등의 기능을 사용하는 경우 관리되는 인스턴스를 사용해야 합니다. 기존 온-프레미스 시스템과의 호환성을 확인하려면 Azure Data Studio용 Azure SQL Migration 확장으로 제공되거나 Azure Portal 또는 Azure PowerShell 및 Azure CLI을 통해 제공되는 Azure Database Migration Service를 사용하는 것이 좋습니다. 이 도구는 SQL Server에서 데이터베이스를 분석하고 관리되는 인스턴스로의 마이그레이션을 차단할 수 있는 문제를 보고합니다.

비즈니스 이점

Azure SQL Managed Instance의 경우 서비스가 자동으로 관리 작업을 수행하거나 관리 작업을 크게 간소화해 주기 때문에 시스템 관리자가 관리 작업을 처리하는 데 소요되는 시간이 줄어듭니다. 자동화된 작업에는 운영 체제, 데이터베이스 관리 시스템 소프트웨어 설치 및 패치, 동적 인스턴스 크기 조정 및 구성, 백업, 데이터베이스 복제(시스템 데이터베이스 포함), 고가용성 구성, 상태 및 성능 모니터링 데이터 스트림의 구성이 포함됩니다.

Azure SQL Managed Instance는 온-프레미스에서 실행되는 SQL Server Enterprise Edition과 100%에 가깝게 호환됩니다.

Azure SQL Managed Instance는 SQL Server 데이터베이스 엔진 로그인 및 Microsoft Entra ID와 통합된 로그인을 지원합니다. 사용자 이름과 암호는 SQL Server 데이터베이스 엔진 로그인에 해당됩니다. 서버에 연결할 때마다 자격 증명을 입력해야 합니다. Microsoft Entra 로그인은 현재 컴퓨터 로그인과 연결된 자격 증명을 사용하며 서버에 연결할 때마다 제공하지 않아도 됩니다.

Azure SQL Database

Azure SQL Database는 Microsoft의 PaaS 제품입니다. 클라우드에서 관리되는 데이터베이스 서버를 만든 다음 이 서버에 데이터베이스를 배포합니다.

참고

SQL Database 서버는 여러 단일 데이터베이스 또는 풀링된 데이터베이스, 로그인, 방화벽 규칙, 감사 규칙, 위협 탐지 정책 및 장애 조치(failover) 그룹에 대한 중앙 관리 지점 역할을 하는 논리 구성입니다.

Azure SQL Database는 단일 데이터베이스 또는 탄력적 풀로 사용할 수 있습니다.

Single Database

이 옵션을 사용하면 단일 SQL Server 데이터베이스를 신속하게 설정 및 실행할 수 있습니다. 클라우드에서 데이터베이스 서버를 만들고 실행하며, 이 서버를 통해 데이터베이스에 액세스합니다. Microsoft에서 서버를 관리하므로 사용자가 할 일은 데이터베이스를 구성하고 테이블을 만들고 데이터를 채우는 것입니다. 스토리지 공간, 메모리 또는 처리 성능이 추가로 필요한 경우 데이터베이스를 스케일링할 수 있습니다. 기본적으로 리소스는 미리 할당되며, 사용자가 요청한 리소스에 대해서는 시간당 요금이 청구됩니다. 서버리스 구성을 지정할 수도 있습니다. 이 구성에서는 Microsoft가 자체 서버를 생성하며, 이렇게 생성된 서버는 다른 Azure 구독자에게 속한 데이터베이스와 공유될 수 있습니다. Microsoft에서는 데이터베이스의 프라이버시를 보호합니다. 데이터베이스 크기는 자동으로 스케일링되며, 리소스는 필요에 따라 할당 또는 할당 취소됩니다.

Elastic Pool

이 옵션은 기본적으로 여러 데이터베이스가 다중 테넌시를 통해 동일한 리소스(예: 메모리, 데이터 스토리지 공간 및 처리 성능)를 공유할 수 있다는 점을 제외하고 단일 데이터베이스와 비슷합니다. 리소스는 이라고 합니다. 사용자가 풀을 만들면 해당 사용자의 데이터베이스만 그 풀을 사용할 수 있습니다. 이 모델은 시간이 가면서 달라지는 리소스 요구 사항이 포함된 데이터베이스가 있는 경우에 유용하며, 비용을 절감하는 데 도움이 될 수 있습니다. 예를 들어 급여 처리가 이루어지는 월말에 많은 CPU 용량이 필요할 수 있습니다. 하지만 다른 시점에는 데이터베이스 사용량이 훨씬 적어질 수 있습니다. 보고서 실행에 사용되는 다른 데이터베이스가 있을 수 있습니다. 이 데이터베이스는 관리 보고서가 생성되는 월 중간의 며칠 동안은 사용량이 많아질 수 있지만 다른 시점에는 부하가 더 적을 것입니다. 탄력적 풀을 사용하면 풀에서 사용 가능한 리소스를 사용하고 처리가 완료되면 리소스를 해제할 수 있습니다.

사용 사례

Azure SQL Database는 최소한의 관리로 저렴한 비용에 최상의 옵션을 제공합니다. Azure SQL Database는 온-프레미스에 설치된 SQL Server와 완전히 호환되지 않습니다. Azure SQL Database는 애플리케이션 디자인이 애플리케이션에 필요한 모든 변경 내용을 수용할 수 있는 새로운 클라우드 프로젝트에서 사용되는 경우가 많습니다.

참고 항목

Azure Data Studio용 Azure SQL 마이그레이션 확장을 사용하여 Azure SQL Database의 데이터베이스 기능에 영향을 줄 수 있는 데이터베이스와의 호환성 문제를 검색할 수 있습니다. 자세한 내용은 Azure Data Studio용 Azure SQL 마이그레이션 확장을 참조하세요.

Azure SQL Database는 대개 다음 애플리케이션과 시스템에 사용됩니다.

  • 안정적인 최신 SQL Server 기능을 사용해야 하는 최신 클라우드 애플리케이션.
  • 고가용성이 필요한 애플리케이션.
  • 데이터베이스 서버가 빠르게 스케일 업 및 다운되어야 하는 가변 부하를 갖는 시스템.

비즈니스 이점

Azure SQL Database는 사용자가 항상 가장 안전한 최신 버전의 서비스를 실행할 수 있도록 자동으로 SQL Server 소프트웨어를 업데이트하고 패치합니다.

Azure SQL Database의 스케일링 성능 기능을 사용하면 비용이 많이 드는 수동 업그레이드를 수행할 필요 없이 데이터를 저장하고 처리하는 데 사용할 수 있는 리소스를 늘릴 수 있습니다.

이 서비스는 99.995% 이상의 시간 동안 데이터베이스가 실행되는 고가용성을 보장합니다. Azure SQL Database는 특정 시점 복원을 지원하므로 과거의 특정 시점에 있었던 상태로 데이터베이스를 복구할 수 있도록 합니다. 데이터베이스를 여러 지역에 복제하여 복원력과 재해 복구 역량을 높일 수 있습니다.

Advanced Threat Protection은 데이터베이스의 잠재적인 보안 문제를 탐지하고 수정하는 데 도움이 되는 취약성 평가와 같은 고급 보안 기능을 제공합니다. 또한 이 서비스는 비정상적이며 잠재적으로 유해할 수 있는 데이터베이스 액세스 또는 악용 시도를 나타내는 비정상적인 활동을 탐지합니다. 지속적으로 의심스러운 활동에 대한 데이터베이스를 모니터링하고, 잠재적인 취약점, SQL 삽입 공격 및 비정상 데이터베이스 액세스 패턴에 대한 보안 경고를 즉시 제공합니다. 위협 감지 경고는 의심스러운 활동에 대한 세부 정보를 제공하고 위협을 조사하고 완화하는 방법에 대한 조치를 권장합니다.

감사는 데이터베이스 이벤트를 추적하여 Azure 스토리지 계정의 감사 로그에 기록합니다. 감사는 규정 준수를 유지 관리하고, 데이터베이스 작업을 이해하고, 비즈니스 문제나 의심스러운 보안 위반을 나타낼 수 있는 불일치 및 이상 활동을 파악하는 데 도움이 될 수 있습니다.

SQL Database는 데이터베이스에 저장되어 있는 데이터(미사용 데이터)와 네트워크를 통해 전송되고 있는 데이터(이동 중 데이터)를 보호하는 암호화를 제공함으로써 데이터를 안전하게 보호해 줍니다.