Azure DocumentDB에 대한 질문과 대답을 가져옵니다(MongoDB 호환성 사용).
General
Azure DocumentDB란?
Azure DocumentDB는 MongoDB 클라이언트 및 도구에 대한 높은 호환성을 갖춘 최신 애플리케이션 개발을 지원하도록 설계된 완전 관리형 NoSQL 데이터베이스 서비스입니다. 유연한 스키마, 자동 인덱싱, 기본 제공 벡터 검색 기능, 전역 배포 및 스토리지와 컴퓨팅을 분리하는 여러 성능 계층을 제공합니다. 소개는 Azure DocumentDB 개요를 참조하세요.
Azure DocumentDB가 가장 적합한 워크로드는 무엇인가요?
Azure DocumentDB는 트랜잭션 및 운영 NoSQL 워크로드, 실시간 분석, 대규모 웹 및 모바일 백 엔드 및 벡터 검색의 이점을 활용하는 생성 AI 시나리오에 최적화되어 있습니다. 낮은 대기 시간 액세스를 위해 높은 처리량, 수평 크기 조정 및 전역 배포를 지원합니다.
Azure DocumentDB에 대한 가격 책정은 어떻게 작동하나요?
가격은 성능 계층(사용 가능한 경우 프로비전, 자동 크기 조정 또는 서버리스 옵션), 스토리지, 백업 보존 및 가상 네트워크 또는 프라이빗 엔드포인트와 같은 추가 기능에 따라 달라집니다. 자세한 내용 및 예제는 Azure 가격 계산기 및 가격 책정 설명서를 참조하세요.
Azure DocumentDB를 시작하려면 어떻게 해야 하나요?
Azure Portal, CLI, Bicep 또는 Terraform에서 클러스터를 만들 수 있습니다. 빠른 시작 및 자습서는 문서에서 사용할 수 있습니다(예: quickstart-portal.md 및 quickstart-bicep.md).
Azure DocumentDB는 SLA(서비스 수준 계약)를 제공하나요?
예. Azure DocumentDB는 데이터베이스, 컴퓨팅, 스토리지 및 네트워킹 구성 요소의 가용성을 다루는 서비스 수준 계약을 제공합니다. SLA 세부 정보는 구성 및 지역에 따라 다릅니다.
Azure DocumentDB는 Azure Cosmos DB와 어떻게 관련됩니까?
Azure DocumentDB는 이전에 Azure Cosmos DB for MongoDB(vCore)라고 했습니다. 그것이 구동되는 오픈 소스 DocumentDB 프로젝트에 맞추어 독자적인 고유 제품이 되었다.
Security
Azure DocumentDB에서 미사용 데이터를 보호하려면 어떻게 할까요?
Azure DocumentDB의 모든 데이터는 기본적으로 미사용 시 암호화됩니다. 추가 제어 및 규정 준수를 위해 SMK(서비스 관리형 키)를 사용하거나 Azure Key Vault에서 CMK(고객 관리형 키)를 구성할 수 있습니다. 구성 및 고려 사항은 미사용 암호화 를 참조하세요.
Azure DocumentDB는 어떤 전송 수준 암호화를 사용하나요?
Azure DocumentDB는 모든 클라이언트 및 서비스 연결에 TLS(전송 계층 보안)를 적용합니다. TLS는 클라이언트와 서비스 간의 전송 중인 데이터를 보호합니다. 클라이언트가 현재 TLS 버전 및 신뢰할 수 있는 루트 인증서를 사용하는지 확인합니다.
인증 및 액세스 제어를 관리하려면 어떻게 해야 하나요?
Azure DocumentDB는 중앙 집중식 ID 및 액세스 관리를 위한 네이티브(기본 제공) 인증 및 Microsoft Entra ID 통합을 지원합니다. 세분화된 데이터베이스 사용자, 역할을 만들고 관리 ID를 사용하여 보안 서비스 대 서비스 인증을 수행할 수 있습니다. Microsoft Entra ID 인증 및 보안 모범 사례를 참조하세요.
방화벽 및 Private Link 뒤에서 Azure DocumentDB를 실행할 수 있나요?
예. 방화벽 규칙을 사용하여 공용 액세스를 제한하고 Azure Private Link가 가상 네트워크 내의 프라이빗 엔드포인트를 통해 클러스터를 노출하도록 설정할 수 있습니다. 이 설정을 사용하면 가상 네트워크 리소스 및 온-프레미스 네트워크에서 안전한 프라이빗 연결을 사용할 수 있습니다. Azure Private Link 사용 및 공용 액세스 관리를 참조하세요.
CMK를 사용할 때 암호화 키를 관리하려면 어떻게 해야 하나요?
CMK를 사용하는 경우 Azure Key Vault에서 키 수명 주기 관리를 담당합니다.
다음과 같은 모범 사례를 따릅니다.
Key Vault에서 로깅 및 경고 사용
Key Vault 리소스 잠금
키 회전 및 백업 계획
Azure DocumentDB에서 키를 검색할 수 있도록 Key Vault에 대한 네트워크 액세스가 구성되었는지 확인합니다.
자세한 내용은 CMK 구성을 참조하세요.
권장되는 보안 모니터링 및 로깅 방법은 무엇인가요?
진단 로깅을 사용하도록 설정하고 Azure Monitor, Log Analytics 또는 SIEM(보안 정보 및 이벤트 관리) 솔루션으로 로그를 보냅니다. 관리 작업을 감사하고, 네트워크 흐름을 모니터링하고, 의심스러운 동작에 대한 경고를 구성합니다. 중앙 집중식 인시던트 검색을 위해 Microsoft Sentinel 또는 기타 SIEM과 통합합니다.
Connectivity
클라이언트는 Azure DocumentDB 클러스터에 어떻게 연결합니까?
클라이언트는 클러스터 연결 엔드포인트 및 포트를 가리키는 표준 MongoDB 유선 프로토콜 드라이버를 사용하여 연결합니다. 프라이빗 액세스를 위해 퍼블릭 엔드포인트 또는 Private Link를 통해 연결할 수 있습니다. 드라이버 예제(예: quickstart-nodejs.md)에 대한 빠른 시작을 참조하세요.
네트워크 액세스를 제한하기 위한 옵션은 무엇인가요?
클러스터 수준 방화벽 규칙을 사용하여 원본 IP를 제한하고, Private Link를 사용하여 VNet에 프라이빗 엔드포인트를 만들고, 세분화된 액세스 제어를 위해 네트워크 보안 그룹 및 가상 네트워크 피어링을 구성합니다. 공용 액세스 관리 및 Azure Private Link 사용을 참조하세요.
온-프레미스 네트워크에서 연결할 수 있나요?
예. VPN 또는 ExpressRoute를 통해 피어된 가상 네트워크에 연결된 온-프레미스 리소스는 Azure DocumentDB Private Link 엔드포인트에 연결할 수 있습니다. 또는 방화벽 규칙과 함께 퍼블릭 엔드포인트를 사용할 수 있지만 프로덕션 워크로드에는 프라이빗 연결이 권장됩니다.
연결 문자열 및 드라이버 설정을 구성하려면 어떻게 해야 하나요?
드라이버에서 지원하는 표준 MongoDB 연결 문자열 형식을 사용합니다. TLS, 복제본 집합(해당하는 경우) 및 인증 메커니즘(사용자 이름/암호 또는 Microsoft Entra ID)에 대한 옵션을 포함합니다. 예제는 언어별 빠른 시작을 참조하세요.
연결에 영향을 주는 대기 시간 및 처리량 고려 사항은 무엇인가요?
클라이언트와 클러스터 간의 네트워크 대기 시간은 읽기/쓰기 대기 시간에 영향을 줍니다. 전역 배포의 경우 지역적으로 배포된 클러스터와 읽기 복제본을 사용하여 대기 시간을 최소화합니다. 지침은 고가용성 및 복제 모범 사례를 참조하세요.
MongoDB 호환성
Azure DocumentDB에서 지원하는 MongoDB 버전 및 기능은 무엇입니까?
Azure DocumentDB는 MongoDB 유선 프로토콜 및 많은 서버 기능과 광범위한 호환성을 제공합니다. 지원되는 MongoDB MQL(쿼리 언어) 기능에 대한 자세한 내용은 MQL(MongoDB Query Languge) 기능 호환성을 참조하세요. MongoDB 기능 집합 및 특정 버전에 대한 자세한 내용은 MongoDB 기능 호환성을 참조하세요.
기존 MongoDB 데이터베이스를 Azure DocumentDB로 마이그레이션할 수 있나요?
예. mongodump/mongorestore, mongoexport/mongoimport 또는 복제 기반 접근 방식과 같은 표준 도구를 사용하여 마이그레이션할 수 있습니다. 권장 전략 및 고려 사항에 대한 migration-options.md 검토합니다.
MongoDB 드라이버 및 도구가 Azure DocumentDB와 호환되는지 여부
대부분의 커뮤니티 MongoDB 드라이버 및 일반 도구는 MongoDB 유선 프로토콜을 통해 Azure DocumentDB에서 작동합니다. 드라이버별 구성 또는 기능 차이는 호환성 문서를 참조하세요. 일부 서버 쪽 MongoDB 확장 및 호환되지 않는 스토리지 엔진은 지원되지 않습니다.
마이그레이션 후에 예상되는 동작에 차이가 있나요?
특정 관리 명령, 서버 측 확장, 그리고 극단적인 케이스 동작에서 작은 차이가 발생할 수 있습니다. 스테이징 환경에서 Azure DocumentDB에 대한 애플리케이션 워크로드를 테스트하고 호환성 지침을 참조하여 지원되지 않는 명령 또는 동작을 식별합니다.
마이그레이션하기 전에 애플리케이션이 호환되는지 확인하려면 어떻게 해야 하나요?
먼저 Azure DocumentDB 테스트 클러스터에 대해 동일한 드라이버 및 워크로드를 사용하여 통합 테스트를 실행합니다. 마이그레이션 도구를 사용하여 데이터를 스테이징하고 기능 테스트를 수행하고, 로그에서 호환성 오류를 모니터링하고, 문서의 기능 지원 매트릭스를 참조하세요.
성능 및 크기 조정
Azure DocumentDB에서 성능을 조정하려면 어떻게 해야 하나요?
더 높은 성능 계층을 선택하고, 프로비전된 처리량을 늘리거나, 자동 크기 조정을 사용하도록 설정하고, 데이터를 분할하여 균일한 배포를 보장하여 크기를 조정합니다. 스토리지에서 컴퓨팅을 분리하면 리소스를 독립적으로 스케일링할 수 있습니다.
분할은 어떻게 작동하고 언제 데이터를 분할해야 하나요?
Azure DocumentDB는 파티션 키를 사용하여 실제 파티션에 데이터를 분산합니다. 카디널리티가 높고 데이터 분포가 고르게 하여 확장 가능한 처리량을 위한 파티션 키를 선택하십시오. 지침은 partitioning.md 및 how-to-index.md 참조하세요.
인덱싱 및 쿼리 성능에 대한 모범 사례는 무엇인가요?
대상 인덱스를 사용하고, 바인딩되지 않은 검사를 피하고, 적절한 경우 와일드카드/텍스트 인덱스를 적용하고, 쿼리 계획을 검토하여 병목 상태를 식별합니다. 모범 사례 및 백그라운드 인덱싱 지침에 인덱싱 문서를 사용합니다.
성능 문제를 모니터링하고 해결하려면 어떻게 해야 하나요?
진단 및 메트릭을 사용하도록 설정하고, Azure Monitor 및 쿼리 저장소(사용 가능한 경우)를 사용하여 느린 쿼리를 캡처하고, 처리량, RU 사용량(해당하는 경우) 및 스토리지 메트릭을 검토합니다. monitor-metrics.md 및 troubleshoot-common-issues.md 참조하세요.
Azure DocumentDB에서 높은 쓰기 또는 읽기 처리량 워크로드를 처리할 수 있나요?
예- Azure DocumentDB는 올바르게 구성된 경우 높은 처리량 워크로드를 위해 엔지니어링됩니다. 적절한 분할을 사용하고, 필요에 따라 컴퓨팅 크기를 조정하고, 대기 시간 및 처리량 SLA를 충족하도록 복제본 배치 및 지역별 배포를 고려합니다.