개요
2025.07.08-[Azure] 데이터베이스 서비스 종류와 구분에서 Azure 데이터베이스에 대해 대략적으로 살펴보았는데, 이번 글에서는 Azure가 MySQL 데이터베이스 엔진을 제공하는 서비스인 Azure Database for MySQL에 대해서 알아보려고 한다.
하나의 제품에서 다양한 데이터베이스 엔진을 지원하는 AWS RDS와 다르게, Azure의 경우에는 데이터베이스 엔진마다 별개의 제품을 제공하고 있다.
DBaaS
DBaaS (Database as a Service)란 가상 머신이나 인프라를 관리할 필요 없이 데이터베이스를 설정하고 접근할 수 있도록 하는 서비스이다. PaaS(Platfrom as a Service)에 한 범주에 속하며, Azure Database for MySQL는 DBaaS 형식으로 제공되는 제품이다.
호스팅 옵션
Azure에서 MySQL을 사용할 수 있는 방법에 Azure Database for MySQL만 존재하는 것은 아니다. 사용자는 Azure VM에 MySQL을 설치해 사용할 수도 있다. 두 방법의 특징은 다음과 같다.
Azure Database for MySQL
- Azure에서 제공하는 완전 관리형 서비스
- 영역 중복 구성, 지역 간 복제 등 고가용성과 재해 복구 옵션을 제공한다.
- 자동 백업 등을 사용하여 데이터를 보호할 수 있다.
- 안전하고 최신 상태인 기본 하드웨어, 운영 체제, 데이터베이스 엔진을 유지할 수 있도록 한다.
- 자동 크기 조정, 가속 로그 등의 기능을 사용하여 워크로드 요구 사용을 충족하는데 도움을 준다.
Azure VM에 MySQL 설치
- IaaS에 해당하기 때문에 IaaS 배포에서 가능한 높은 수준의 제어가 필요할 때 사용한다.
- 원하는 버전의 MySQL을 설치할 수 있기 때문에 레거시 지원이 가능하다.
- 확장 가능한 리소스를 제공한다.
- 운영 체제나 데이터베이스 엔진의 버전은 사용자가 직접 관리한다.
- 수동으로 Azure VM 백업 관리가 필요하다.
전반적으로 최신 버전의 데이터베이스를 큰 관리 포인트 없이 사용할 때는 Azure Database for MySQL를, 사용자가 직접 제어해야 하는 부분이 많은 경우에는 Azure VM에 MySQL 설치를 사용하는 것이 좋겠다.
Azure Database for MySQL 구조 및 동작 방식
아래 그림은 Azure Database for MySQL의 아키텍처를 나타낸 것이다.
MySQL 인스턴스는 Azure VM에서 실행되며, 데이터와 로그는 Azure Preminu Storage에 저장된다.
데이터는 백업과 복원을 위해 로컬 중복 스토리지에서 세 번에 걸쳐 복제되는데, 이를 통해 영역 중복 및 지역 중복 스토리지 백업을 구성하는 옵션을 제공한다.
단일 가용성 영역 내에서 고가용성이 동작하는 경우에는 새 VM을 프로비저닝한 뒤, 스토리지와 데이터 파일을 매핑하고 데이터베이스 엔진이 온라인 되는 형식으로 동작한다. 반면 여러 가용성 영역에 걸쳐 고가용성을 활성화하는 경우 다른 가용성 영역 내에서 상시 대기 서버가 유지되는 방식으로 동작한다.
참고 문서