데이터 옵션 검토
클라우드 채택을 위해 랜딩 존 환경을 준비할 때 워크로드를 호스트하기 위한 데이터 요구 사항을 결정해야 합니다. Azure 데이터베이스 제품 및 서비스는 다양한 데이터 스토리지 시나리오 및 기능을 지원합니다. 데이터 요구 사항을 지원하도록 랜딩 존 환경을 구성하는 방법은 워크로드 거버넌스, 기술 및 비즈니스 요구 사항에 따라 달라집니다.
데이터 서비스 요구 사항 파악
랜딩 존 평가 및 준비의 일환으로 랜딩 존에서 지원해야 하는 데이터 저장소를 식별해야 합니다. 이 프로세스에는 워크로드를 구성하는 각 애플리케이션 및 서비스를 평가하여 데이터 스토리지 및 액세스 요구 사항을 결정하는 작업이 포함됩니다. 이러한 요구 사항을 식별하고 문서화한 후에는 워크로드 요구 사항에 따라 허용된 리소스 유형을 제어하는 랜딩 존에 대한 정책을 만들 수 있습니다.
랜딩 존 환경에 배포하는 각 애플리케이션 또는 서비스에 대해 다음 정보를 시작점으로 사용하여 사용할 적절한 데이터 저장소 서비스를 결정할 수 있습니다.
주요 질문
Azure 데이터베이스 서비스 의사 결정 트리를 기반으로 결정을 내리는 데 도움이 되는 워크로드에 대한 다음 질문에 답변합니다.
- 필요한 OS 및 데이터베이스 엔진의 제어 수준은 무엇인가요? 일부 시나리오에서는 데이터베이스 워크로드에 대한 소프트웨어 구성 및 호스트 서버의 높은 수준의 제어 또는 소유권이 있어야 합니다. 이러한 시나리오에서는 사용자 지정 IaaS(Infrastructure as a Service) 가상 머신을 배포하여 데이터 서비스의 배포 및 구성을 완전히 제어할 수 있습니다. 이 수준의 제어가 필요하지 않을 수도 있지만 전체 PaaS(Platform as a Service) 솔루션으로 이동할 준비가 되지 않았을 수도 있습니다. 이 경우 관리되는 인스턴스는 완전히 관리되는 플랫폼의 이점을 제공하면서 온-프레미스 데이터베이스 엔진과 더 높은 호환성을 제공할 수 있습니다.
- 워크로드에서 관계형 데이터베이스 기술을 사용합니까? 그렇다면 어떤 기술을 사용할 계획입니까? Azure는 Azure SQL Database, MySQL, PostgreSQL 및 MariaDB에 대한 관리되는 PaaS 데이터베이스 기능을 제공합니다.
- Azure Cosmos DB는 자동 고가용성 및 즉각적인 확장성을 포함하여 Azure Cosmos DB에서 제공하는 많은 이점을 활용하기 위해 MongoDB 및 PostgreSQL API를 지원합니다.
- 워크로드가 SQL Server를 사용하나요? Azure에서는 Azure Virtual Machines의 IaaS 기반 SQL Server 또는 PaaS 기반 Azure SQL Database 호스티드 서비스에서 워크로드를 실행할 수 있습니다. 데이터베이스를 관리하고, 패치를 적용하고, 백업을 수행할 것인지(또는 이러한 작업을 Azure에 위임할 것인지)에 대한 질문을 통해 주로 사용할 옵션을 선택하게 됩니다. 일부 시나리오에서는 호환성 문제로 IaaS 호스팅 SQL Server를 사용해야 할 수 있습니다. 워크로드에 대한 올바른 옵션을 선택하는 방법에 대한 자세한 내용은 Azure에서 올바른 SQL Server 옵션 선택을 참조하세요.
- 워크로드에서 키/값 데이터베이스 스토리지를 사용합니까? Azure Cache for Redis 는 빠르고 확장 가능한 애플리케이션을 구동할 수 있는 고성능 캐시된 키/값 데이터 스토리지 솔루션을 제공합니다. 또한 Azure Cosmos DB는 범용 키/값 스토리지 기능을 제공합니다.
- 워크로드에서 문서 또는 그래프 데이터를 사용합니까? Azure Cosmos DB 는 다양한 데이터 형식 및 API를 지원하는 다중 모델 데이터베이스 서비스입니다. Azure Cosmos DB는 문서 및 그래프 데이터베이스 기능도 제공합니다.
- MongoDB 및 Apache Gremlin 은 Azure Cosmos DB에서 지원하는 문서 및 그래프 API입니다.
- 워크로드에서 열 패밀리 데이터를 사용합니까? Apache Cassandra 용 Azure Managed Instance는 기존 데이터 센터를 Azure로 확장하거나 클라우드 전용 클러스터 및 데이터 센터 역할을 할 수 있는 완전 관리형 Apache Cassandra 클러스터를 제공합니다.
- Apache Cassandra API는 Azure Cosmos DB에서도 지원됩니다. 워크로드에 가장 적합한 결정을 내리는 데 도움이 되도록 제품 비교 설명서를 참조하세요.
- 워크로드에 대용량 데이터 분석 기능이 필요합니까? Azure Synapse Analytics를 사용하여 구조화된 페타바이트 규모 데이터를 효과적으로 저장하고 쿼리할 수 있습니다. 구조화되지 않은 빅 데이터 워크로드의 경우 Azure Data Lake를 사용하여 페타바이트 크기의 파일과 수조 개의 개체를 저장하고 분석할 수 있습니다.
- 워크로드에 검색 엔진 기능이 필요합니까? Azure Cognitive Search를 사용하여 애플리케이션에 통합할 수 있는 AI 고급 클라우드 기반 검색 인덱스를 빌드할 수 있습니다.
- 워크로드에서 시계열 데이터를 사용합니까? Azure Time Series Insights 는 IoT 디바이스에서 생성된 데이터와 같은 많은 양의 시계열 데이터를 저장, 시각화 및 쿼리하도록 빌드되었습니다.
참고 항목
Azure 애플리케이션 아키텍처 가이드에서 각 애플리케이션 또는 서비스에 대한 데이터베이스 옵션을 평가하는 방법에 대해 자세히 알아봅니다.
일반적인 데이터베이스 시나리오
다음 표에서는 일반적인 사용 시나리오 요구 사항 및 이를 처리하기 위한 권장 데이터베이스 서비스를 나열합니다.
원하는 기능 | 이 데이터베이스 서비스 사용 |
---|---|
클라우드에서 관리형 지능형 SQL 데이터베이스를 사용하여 확장되는 앱을 빌드합니다. | Azure SQL Database |
클라우드에서 관리되는 항상 최신 SQL 인스턴스를 사용하여 SQL Server 애플리케이션을 현대화합니다. | Azure SQL Managed Instance |
전체 SQL Server 호환성 및 운영 체제 수준 액세스를 유지하면서 SQL 워크로드를 Azure로 마이그레이션합니다. | Azure Virtual Machines의 SQL Server |
오픈 소스 PostgreSQL에서 확장 가능하고 안전하며 완전히 관리되는 엔터프라이즈 지원 앱을 빌드하거나, 고성능으로 단일 노드 PostgreSQL을 확장하거나, PostgreSQL 및 Oracle 워크로드를 클라우드로 마이그레이션합니다. | Azure Database for PostgreSQL |
관리형 커뮤니티 MySQL 데이터베이스 서비스를 통해 오픈 소스 모바일 앱 및 웹앱에 고가용성 및 탄력적 크기 조정을 제공하거나 MySQL 워크로드를 클라우드로 마이그레이션합니다. | Azure Database for MySQL |
관리형 커뮤니티 MariaDB 데이터베이스 서비스를 통해 오픈 소스 모바일 앱 및 웹앱에 고가용성 및 탄력적 크기 조정을 제공합니다. | Azure Database for MariaDB |
어디서나 대기 시간이 짧고 고가용성이 보장되는 애플리케이션을 빌드하거나 Cassandra, MongoDB, Gremlin 및 기타 NoSQL 워크로드를 클라우드로 마이그레이션합니다. | Azure Cosmos DB |
기존 Cassandra 데이터 클러스터 및 앱을 현대화하고 관리되는 인스턴스 서비스를 통해 유연성과 자유를 누릴 수 있습니다. | Apache Cassandra용 Azure Managed Instance |
추가 비용 없이 모든 수준의 보안을 갖춘 완전 관리형 탄력적 데이터 웨어하우스를 빌드합니다. | Azure Synapse Analytics |
오픈 소스와 호환되는 메모리 내 데이터 저장소로 빠르고 확장성 있는 애플리케이션을 강화합니다. | Azure Cache for Redis |
데이터베이스 기능 비교
다음 표에서는 Azure 데이터베이스 서비스에서 사용할 수 있는 기능을 나열합니다.
기능 | Azure SQL Database | Azure SQL Managed Instance | Azure Database for PostgreSQL | Azure Database for MySQL | Azure Database for MariaDB | Apache Cassandra용 Azure Managed Instance | Azure Cosmos DB | Azure Cache for Redis | Azure Cosmos DB for MongoDB | Azure Cosmos DB for Gremlin |
---|---|---|---|---|---|---|---|---|---|---|
데이터베이스 유형 | 관계 | 관계 | 관계 | 관계 | 관계 | NoSQL | NoSQL | 메모리 내 | NoSQL | 그래프 |
데이터 모델 | 관계 | 관계 | 관계 | 관계 | 관계 | 다중 모델: 문서, 와이드 열, 키-값, 그래프 | 와이드 열 | 키-값 | Document | 그래프 |
분산 멀티마스터 쓰기 | 아니요 | 아니요 | 아니요 | 아니요 | 아니요 | 예 | 예 | 예(엔터프라이즈 및 플래시 계층만 해당) | 예 | 예 |
가상 네트워크 연결 지원 | 가상 네트워크 서비스 엔드포인트 | 네이티브 가상 네트워크 구현 | 가상 네트워크 주입(유연한 서버만 해당) | 가상 네트워크 주입(유연한 서버만 해당) | 가상 네트워크 서비스 엔드포인트 | 네이티브 가상 네트워크 구현 | 가상 네트워크 서비스 엔드포인트 | 가상 네트워크 주입(프리미엄, 엔터프라이즈 및 플래시 계층에만 해당) | 가상 네트워크 서비스 엔드포인트 | 가상 네트워크 서비스 엔드포인트 |
참고 항목
프라이빗 링크 서비스는 Azure 서비스가 프라이빗 네트워킹을 통해 통신할 수 있도록 네트워킹 디자인을 간소화합니다. 모든 Azure 데이터베이스 서비스에 대해 지원됩니다. Managed Instance 데이터베이스 서비스의 경우 이러한 인스턴스는 가상 네트워크에 배포되어 프라이빗 엔드포인트를 배포할 필요가 없습니다.
국가별 가용성
Azure를 통해 고객과 파트너가 어디에 있든 필요한 규모로 서비스를 제공할 수 있습니다. 클라우드 배포를 계획하는 핵심 요소는 워크로드 리소스를 호스트할 Azure 지역을 결정하는 것입니다.
대부분의 데이터베이스 서비스는 대부분의 Azure 지역에서 일반적으로 사용할 수 있습니다. 일부 지역에서는 이러한 제품의 하위 집합만 지원하지만 대부분 정부 고객을 대상으로 합니다. 데이터베이스 리소스를 배포할 지역을 결정하기 전에 지역별 사용 가능한 제품을 참조하여 지역 가용성의 최신 상태를 확인합니다.
Azure 글로벌 인프라에 대해 자세히 알아보려면 Azure 지역을 참조하세요. 각 Azure 지역에서 사용할 수 있는 전체 서비스에 대한 자세한 내용은 지역별 사용 가능한 제품을 참조하세요.
데이터 보존 및 규정 준수 요구 사항
데이터 스토리지와 관련된 법적 요구 사항 및 계약상의 요구 사항이 워크로드에 적용되는 경우가 있습니다. 이러한 요구 사항은 조직의 위치, 데이터 저장소를 호스트하는 물리적 자산의 관할 및 해당 비즈니스 부문에 따라 달라질 수 있습니다. 고려해야 할 데이터 의무의 구성 요소는 다음과 같습니다.
- 데이터 분류
- 데이터 위치입니다.
- 공유 책임 모델에서 데이터 보호에 대한 책임입니다.
이러한 요구 사항을 이해하는 데 도움이 되는 내용은 Azure를 사용하여 규정 준수 데이터 보존 및 보안 달성을 참조하세요.
규정 준수 활동 중 부분적으로 데이터베이스 리소스의 실제 위치를 제어해야 할 수 있습니다. Azure 지역은 지리라는 그룹으로 구성됩니다. Azure 지리를 통해 데이터 상주, 주권, 규정 준수 및 복원력 요구 사항이 지리적 및 정치적 경계 내에서 적용됩니다. 워크로드에 데이터 권한 또는 기타 규정 준수 요구 사항이 적용되는 경우 호환되는 Azure 지리의 지역에 스토리지 리소스를 배포해야 합니다.
데이터베이스 서비스에 대한 제어 설정
랜딩 존 환경을 준비할 때 사용자가 배포할 수 있는 데이터 저장소를 제한하는 컨트롤을 설정할 수 있습니다. 컨트롤은 비용을 관리하고 보안 위험을 제한하는 데 도움이 될 수 있습니다. 개발자와 IT 팀은 워크로드를 지원하는 데 필요한 리소스를 배포하고 구성할 수 있습니다.
랜딩 존의 요구 사항을 식별하고 문서화한 후에는 Azure Policy를 사용하여 사용자가 만들 수 있도록 허용하는 데이터베이스 리소스를 제어할 수 있습니다. 컨트롤은 데이터베이스 리소스 유형의 생성을 허용하거나 거부하는 형식을 사용할 수 있습니다.
예를 들어 사용자가 Azure SQL Database 리소스만 만들도록 제한할 수 있습니다. 정책을 사용하여 리소스를 만들 때 허용 가능한 옵션을 제어할 수도 있습니다. 예를 들어 특정 버전의 SQL Server만 IaaS VM에 설치하도록 허용하여 프로비전할 수 있는 SQL Database SKU를 제한할 수 있습니다. 자세한 내용은 Azure Policy 기본 제공 정책 정의를 참조하세요.
정책은 리소스, 리소스 그룹, 구독 및 관리 그룹으로 범위를 지정할 수 있습니다. Azure Blueprints 정의에 정책을 포함하고 클라우드 자산 전체에 반복적으로 적용할 수 있습니다.