Azure로 데이터베이스 마이그레이션
Azure Database Migration Service를 사용해 데이터베이스 마이그레이션을 계획하고 실행하며, 클라우드로 이전하는 동안 가동 중지 시간을 최소화하는 일반적인 전략을 살펴봅니다.
Azure로 데이터베이스 마이그레이션은(는) CoddyKit의 무료 Cloud & IT Cert Prep 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cloud & IT Cert Prep 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
데이터베이스를 애저로 마이그레이션하는 이유
온-프레미스에서 애저로 데이터베이스를 마이그레이션하면 운영 오버헤드 감소(하드웨어 관리 불필요), 기본 제공 고가용성 및 백업, 그리고 필요에 따라 컴퓨팅과 스토리지를 탄력적으로 확장할 수 있는 기능과 같은 이점이 있습니다. 또한 조직은 클라우드 우선 정책을 충족하거나, 오래된 데이터 센터 하드웨어를 폐기하거나, 지역 간 복제 및 지능형 쿼리 튜닝과 같은 고급 기능을 활용하기 위해 마이그레이션합니다.
마이그레이션 전략 개요
데이터베이스 마이그레이션은 일반적으로 두 가지 광범위한 전략 중 하나를 따릅니다. 오프라인 마이그레이션은 원본 데이터베이스를 오프라인으로 전환하고, 데이터를 대상에 복사한 다음, 애플리케이션을 새 엔드포인트로 전환합니다. 간단하지만 유지 관리 기간이 필요합니다. 온라인 마이그레이션은 지속적인 데이터 복제를 사용하여 원본이 실행 중인 동안 대상과 동기화하고, 수 초 또는 수 분의 최소 가동 중단 시간으로 전환합니다.
애저 Database Migration Service
애저 Database Migration Service(DMS)는 SQL Server, MySQL, PostgreSQL, MongoDB, Oracle 등 다양한 원본에서 해당 애저 관리형 대상으로 데이터베이스 마이그레이션을 조정하는 완전 관리형 도구입니다. DMS는 스키마 변환, 데이터 이동 및 복제를 처리하고, 하나의 대시보드에서 마이그레이션 상태와 오류를 보고합니다.
# Create a DMS instance
az dms create \
--location eastus \
--name myDMSinstance \
--resource-group myRG \
--sku-name Standard_1vCores \
--subnet /subscriptions/<sub-id>/resourceGroups/myRG/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet마이그레이션 전 평가
마이그레이션하기 전에 마이그레이션 전 평가를 실행하여 원본 데이터베이스와 대상 애저 서비스 간의 호환성 문제를 식별합니다. Azure Data Studio의 SQL Server용 Database Migration Assessment 확장은 저장 프로시저, 트리거 및 쿼리에서 Azure SQL Database 또는 SQL Managed Instance가 지원하지 않는 기능을 검색하고, 전환 전에 수정해야 할 항목을 우선순위별로 제공합니다.
SQL Server에서 Azure SQL Database로
SQL Server를 Azure SQL Database(단일 데이터베이스)로 마이그레이션하는 방식은 단일 데이터베이스를 사용하고 인스턴스 수준 기능(SQL Agent 또는 데이터베이스 간 쿼리 등)이 없는 애플리케이션에 적합합니다. 평가 결과 인스턴스 수준 종속성이 확인되면 Azure SQL Managed Instance를 사용할 수 있습니다. 이는 SQL Server 엔진을 PaaS 컨테이너로 거의 100% 호환되게 이전하는 방식으로, SQL Agent 작업, 연결된 서버 및 CLR 개체를 유지합니다.
로그 재생을 사용한 온라인 마이그레이션
애저 DMS는 SQL Server에서 Azure SQL Managed Instance로 온라인 마이그레이션할 때 Log Replay Service(LRS)를 사용합니다. LRS는 애저 Blob Storage 컨테이너에서 트랜잭션 로그 백업을 지속적으로 읽고 대상 Managed Instance에서 재생하여 원본과 동기화된 상태를 유지합니다. 최종 전환은 수동으로 트리거되며 수 초 내에 완료되므로 유지 관리 기간을 거의 0으로 줄일 수 있습니다.
PostgreSQL에서 애저 Database for PostgreSQL로
PostgreSQL 데이터베이스를 애저로 이동할 때 DMS는 오프라인(pg_dump/pg_restore) 및 논리적 복제를 통한 온라인 마이그레이션을 모두 지원합니다. 원본 PostgreSQL 서버에서는 논리적 복제를 사용하도록 설정해야 하며(wal_level = logical), 마이그레이션 사용자에게는 복제 권한이 있어야 합니다. DMS는 최종 전환까지 스키마 마이그레이션, 초기 전체 로드 및 변경 데이터 캡처를 처리합니다.
# Enable logical replication on source PostgreSQL
# In postgresql.conf:
wal_level = logical
max_replication_slots = 5
max_wal_senders = 5MySQL에서 애저 Database for MySQL로
DMS는 MySQL 이진 로그를 사용한 지속적인 복제를 통해 MySQL 데이터베이스를 애저 Database for MySQL Flexible Server로 마이그레이션합니다. 원본 MySQL 인스턴스에서는 binlog_format = ROW을 사용하고 이진 로깅을 활성화해야 합니다. 애저 포털의 마이그레이션 마법사는 원본과 대상을 연결하고, 데이터베이스를 선택하고, 전환 전에 마이그레이션 진행률과 지연 시간을 모니터링하는 과정을 안내합니다.
# Verify binary logging on source MySQL server
SHOW VARIABLES LIKE 'log_bin';
SHOW VARIABLES LIKE 'binlog_format';전환 중 가동 중단 시간 최소화
가동 중단 시간이 짧은 마이그레이션의 핵심은 초기 대량 로드를 충분히 미리 완료한 다음, 복제 지연 시간이 거의 0으로 줄어들 때까지 변경 데이터 캡처를 실행하는 것입니다. 그런 다음 원본에 대한 쓰기를 중지하고, 마지막 변경 내용이 대상에 반영될 때까지 기다린 후, 애플리케이션 연결 문자열을 업데이트하고 새 대상에 대한 쓰기를 시작합니다. DNS TTL을 신중하게 관리하고 블루-그린 전환을 사용하면 영향을 더욱 줄일 수 있습니다.
마이그레이션 후 검증
전환 후 원본 테이블과 대상 테이블의 행 수를 비교하고, 주요 애플리케이션 쿼리를 실행하여 데이터가 올바른지 확인하며, 모든 저장 프로시저, 뷰 및 함수가 예상 결과를 반환하는지 확인하여 마이그레이션을 검증합니다. 실행 계획을 비교하여 대상에서 쿼리 성능 저하가 발생하는지 모니터링하고, 첫날부터 최적의 성능을 보장하도록 대상의 통계를 업데이트하고 인덱스를 다시 작성합니다.
-- Compare row counts across all tables
SELECT TABLE_NAME, TABLE_ROWS
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'myDatabase'
ORDER BY TABLE_NAME;DB 검색에 Azure Migrate 사용
Azure Migrate는 서버 평가 기능과 함께 데이터베이스 검색 및 평가 기능을 제공합니다. Azure Migrate 어플라이언스는 온-프레미스 환경을 검색하여 SQL Server 인스턴스를 목록화하고, 애저에 상응하는 크기와 비용을 추정하며, 호환성 문제를 표시합니다. 따라서 실제 마이그레이션을 실행하기 위해 DMS를 사용하기 전에 시작점으로 활용하는 것이 적절합니다.
빠른 확인
이 단원에서 배운 Microsoft Azure Fundamentals(AZ-900) 개념을 이해했는지 확인해 보세요.
단원 요약
이 단원에서는 다음 내용을 배웠습니다. 애저 Database Migration Service는 여러 원본 엔진에서의 마이그레이션을 조정합니다. 온라인 마이그레이션은 변경 데이터 캡처를 사용하여 전환 중 가동 중단 시간을 최소화합니다. 또한 마이그레이션 전 평가를 통해 시작하기 전에 호환성 문제를 식별할 수 있습니다. 다음으로 애저 Identity 및 Microsoft Entra ID를 살펴보겠습니다.
자주 묻는 질문
“Azure로 데이터베이스 마이그레이션” 강의는 무료인가요?
네 — “Azure로 데이터베이스 마이그레이션” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cloud & IT Cert Prep 강의 전체를 잠금 해제할 수 있습니다. Cloud & IT Cert Prep 강의에는 총 4개의 강의가 포함되어 있습니다.
“Azure로 데이터베이스 마이그레이션”에서 뭘 배우나요?
Azure Database Migration Service를 사용해 데이터베이스 마이그레이션을 계획하고 실행하며, 클라우드로 이전하는 동안 가동 중지 시간을 최소화하는 일반적인 전략을 살펴봅니다. 브라우저에서 직접 실행하는 실습 코드로 Cloud & IT Cert Prep을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cloud & IT Cert Prep을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cloud & IT Cert Prep은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“Azure로 데이터베이스 마이그레이션” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cloud & IT Cert Prep 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cloud & IT Cert Prep 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- Azure SQL Database
- Azure Cosmos DB: 글로벌 NoSQL
- Azure의 오픈 소스 엔진용 데이터베이스
- Azure로 데이터베이스 마이그레이션