0Pricing
Azure Fundamentals · 강의

Azure SQL Database

완전 관리형 Azure SQL Database를 만들고 서비스 계층(DTU와 vCore)을 구성하며, 기본 제공 고가용성과 자동 백업을 활용합니다.

Azure SQL Database은(는) CoddyKit의 무료 Azure Fundamentals 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Azure Fundamentals 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Azure Fundamentals 강의에는 총 4개의 강의가 포함되어 있습니다.

Azure SQL Database란 무엇입니까

Azure SQL Database는 Microsoft SQL Server 엔진을 기반으로 구축된 완전 관리형 관계형 데이터베이스 서비스입니다. 가상 머신에서 SQL Server를 실행하는 것과 달리 Azure SQL Database는 패치 적용, 하드웨어 관리, 백업 일정 예약에 따르는 부담을 제거합니다. Microsoft가 모든 인프라 작업을 처리하므로 학습자는 애플리케이션과 데이터에만 전념할 수 있습니다.

서비스 계층: DTU와 vCore

Azure SQL Database는 두 가지 구매 모델을 제공합니다. DTU 모델은 컴퓨팅, 메모리, I/O를 Database Transaction Unit이라는 하나의 단위로 묶어 제공하므로 간단하지만 유연성이 떨어집니다. vCore 모델에서는 CPU 코어와 메모리를 독립적으로 선택할 수 있으며, 라이선스 비용을 절감할 수 있는 Azure Hybrid Benefit을 지원합니다. 대부분의 새 작업에는 vCore가 권장됩니다.

# vCore model example using Azure CLI
az sql db create \
  --resource-group myRG \
  --server mysqlserver \
  --name mydb \
  --service-objective GP_Gen5_2 \
  --edition GeneralPurpose

서비스 계층 옵션

vCore 모델에는 서로 다른 작업을 대상으로 하는 세 가지 서비스 계층이 있습니다. General Purpose는 컴퓨팅과 저장소의 균형이 필요한 대부분의 OLTP 애플리케이션에 적합합니다. Business Critical은 메모리 내 기술을 사용하여 매우 짧은 지연 시간과 기본 제공 읽기 복제본을 제공합니다. Hyperscale은 최대 100TB의 데이터베이스를 지원하며 빠른 수평 확장이 가능합니다.

SQL Server 및 데이터베이스 만들기

Azure SQL Database는 여러 데이터베이스를 호스팅하고 방화벽 규칙, Entra ID 인증, 감사 설정을 적용하는 관리 엔드포인트인 논리적 SQL 서버 안에 존재합니다. 먼저 논리적 서버를 만든 다음 그 안에 하나 이상의 데이터베이스를 만듭니다. 각 데이터베이스는 독립적으로 요금이 부과되고 확장됩니다.

# Create logical server
az sql server create \
  --name mysqlserver \
  --resource-group myRG \
  --location eastus \
  --admin-user sqladmin \
  --admin-password 'P@ssw0rd123!'

# Create database inside that server
az sql db create \
  --resource-group myRG \
  --server mysqlserver \
  --name mydb \
  --tier GeneralPurpose

방화벽 규칙 및 연결

기본적으로 Azure SQL Database는 모든 인바운드 연결을 차단합니다. 특정 IP 범위를 허용하려면 서버 수준 방화벽 규칙을 추가하거나, 다른 Azure 리소스의 연결을 허용하도록 'Allow Azure services' 전환 옵션을 활성화해야 합니다. 프로덕션 환경에서는 VNet 내부에 프라이빗 엔드포인트를 사용하여 데이터베이스를 공용 인터넷에 전혀 노출하지 않는 것이 좋습니다.

# Allow your local IP to connect
az sql server firewall-rule create \
  --resource-group myRG \
  --server mysqlserver \
  --name AllowMyIP \
  --start-ip-address 203.0.113.10 \
  --end-ip-address 203.0.113.10

기본 제공 고가용성

Azure SQL Database는 별도의 구성 없이 기본 제공 고가용성을 제공합니다. General Purpose 계층에서는 데이터 파일이 Azure Premium Storage에 저장되고 자동으로 복제됩니다. Business Critical 계층에서는 Always On 가용성 그룹이 가용성 영역 전체에서 3~4개의 복제본을 실행하여 RPO를 거의 0으로 유지합니다. SLA 가동 시간은 99.99%에 달합니다.

자동 백업 및 PITR

Azure SQL Database는 매주 전체 백업, 12시간마다 차등 백업, 5~12분마다 트랜잭션 로그 백업을 자동으로 수행합니다. 이러한 백업을 통해 Point-In-Time Restore(PITR)를 사용할 수 있으며, 보존 기간 내의 어느 시점으로든 데이터베이스를 복구할 수 있습니다. 보존 기간은 계층에 따라 7일에서 최대 35일까지입니다.

# Restore a database to a specific point in time
az sql db restore \
  --dest-name mydb-restored \
  --edition GeneralPurpose \
  --name mydb \
  --resource-group myRG \
  --server mysqlserver \
  --time '2026-06-15T10:00:00'

다중 테넌트 앱을 위한 탄력적 풀

탄력적 풀은 여러 Azure SQL Database를 하나로 묶어 고정된 DTU 또는 vCore 풀을 공유하게 합니다. 이는 작업량이 예측하기 어렵거나 서로 다른 시점에 정점을 이루는 여러 테넌트 데이터베이스를 사용하는 SaaS 애플리케이션에 적합합니다. 풀에 속한 데이터베이스는 필요에 따라 공유 리소스 예산을 사용하므로 리소스를 개별적으로 프로비저닝하는 것보다 데이터베이스당 비용을 줄일 수 있습니다.

# Create an elastic pool
az sql elastic-pool create \
  --resource-group myRG \
  --server mysqlserver \
  --name mypool \
  --edition GeneralPurpose \
  --family Gen5 \
  --capacity 8

보안: 암호화 및 감사

Azure SQL Database는 기본적으로 모든 저장된 데이터를 TDE(투명한 데이터 암호화)를 사용하여 미사용 상태에서 암호화하며, 전송 중인 데이터는 항상 TLS로 보호됩니다. 고급 위협 방지는 SQL 삽입 시도와 같은 비정상적인 데이터베이스 활동을 감지하고 이를 보안 경고로 표시합니다. 감사를 활성화하면 규정 준수 증거를 위해 쿼리 로그가 저장소 계정 또는 Log Analytics 작업 영역에 기록됩니다.

확장 및 축소

Azure SQL Database는 가동 중지 시간을 최소화하면서 동적 확장을 지원합니다. Azure 포털, CLI 또는 API를 통해 서비스 계층이나 vCore 수를 변경할 수 있으며, 변경 사항은 수초에서 수분 내에 적용됩니다. 이러한 탄력성을 활용하면 마케팅 행사 전에 확장하고 이후에 다시 축소할 수 있습니다. Serverless 계층에서는 사용한 만큼만 비용을 지불합니다.

# Scale up to 4 vCores
az sql db update \
  --resource-group myRG \
  --server mysqlserver \
  --name mydb \
  --service-objective GP_Gen5_4

개발 작업을 위한 Serverless 계층

General Purpose 안의 Serverless 컴퓨팅 계층은 구성 가능한 비활성 기간이 지나면 데이터베이스를 자동으로 일시 중지하고 다음 연결이 이루어지면 다시 시작합니다. 데이터베이스가 활성 상태인 초 단위 시간에 대해서만 요금이 부과되므로, 항상 실행할 필요가 없는 개발, 테스트 및 간헐적으로 사용되는 애플리케이션에 매우 비용 효율적입니다.

# Create a serverless database
az sql db create \
  --resource-group myRG \
  --server mysqlserver \
  --name mydb-dev \
  --edition GeneralPurpose \
  --family Gen5 \
  --capacity 1 \
  --compute-model Serverless \
  --auto-pause-delay 60

빠른 확인

이 단원에서 다룬 Microsoft Azure 기본 사항(AZ-900) 개념을 제대로 이해했는지 확인해 보십시오.

단원 요약

이 단원에서는 다음을 배웠습니다. Azure SQL Database는 완전 관리형 PaaS 관계형 엔진입니다. vCore 모델은 세분화된 크기 조정과 Hybrid Benefit을 지원합니다. 또한 기본 제공 고가용성, 자동 백업, TDE가 모든 계층에 포함됩니다. 다음에는 Microsoft의 전 세계 분산 NoSQL 서비스인 Azure Cosmos DB를 살펴봅니다.

자주 묻는 질문

“Azure SQL Database” 강의는 무료인가요?

네 — “Azure SQL Database” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Azure Fundamentals 강의 전체를 잠금 해제할 수 있습니다. Azure Fundamentals 강의에는 총 4개의 강의가 포함되어 있습니다.

“Azure SQL Database”에서 뭘 배우나요?

완전 관리형 Azure SQL Database를 만들고 서비스 계층(DTU와 vCore)을 구성하며, 기본 제공 고가용성과 자동 백업을 활용합니다. 브라우저에서 직접 실행하는 실습 코드로 Azure Fundamentals을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Azure Fundamentals을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Azure Fundamentals은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.

“Azure SQL Database” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Azure Fundamentals 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Azure Fundamentals 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. Azure SQL Database
  2. Azure Cosmos DB: 글로벌 NoSQL
  3. Azure의 오픈 소스 엔진용 데이터베이스
  4. Azure로 데이터베이스 마이그레이션
← Azure Fundamentals(으)로 돌아가기