데이터를 Azure Cosmos DB for MongoDB vCore로 마이그레이션하기 전에 선행 계획 작업을 수행하고 중요한 결정을 내립니다. 이러한 결정으로 마이그레이션 프로세스가 원활하게 실행될 수 있습니다.
필수 구성 요소
- 기존 Azure Cosmos DB for MongoDB vCore 클러스터.
- Azure 구독이 없는 경우 무료로 계정을 만듭니다.
- 기존 Azure 구독이 있는 경우 새 Azure Cosmos DB for MongoDB vCore 클러스터를 만듭니다.
- 기존 MongoDB 설치
마이그레이션을 위한 리소스의 호환성 및 준비 상태 평가
마이그레이션을 계획하기 전에 기존 MongoDB 리소스의 상태를 평가하여 마이그레이션 계획을 수립합니다. VS Code에서 Azure Cosmos DB 마이그레이션 확장을 사용하여 MongoDB에서 Azure Cosmos DB for MongoDB vCore로 마이그레이션을 계획하는 동안 워크로드의 호환성 및 준비 상태를 평가합니다. 엔드 투 엔드 평가 및 Azure Cosmos DB에서 워크로드를 원활하게 실행하기 위해 수행해야 하는 작업을 알아봅니다. 평가 보고서는 계정, 데이터베이스 및 컬렉션 수준에서 결과를 제시하며, 각각 우선 순위를 지원하기 위한 심각도에 따라 위험, 경고 또는 정보로 표시되어 있습니다. 보고서에는 다음이 포함됩니다.
지원되지 않는 기능 및 구문: 지원되지 않는 MongoDB 기능, 명령, 쿼리 구문 및 인덱스 형식에 플래그를 지정하고 사용 빈도를 사용하여 수정의 우선 순위를 지정합니다.
Resource-Specific 권장 사항: 각 결과에는 영향을 받는 리소스 이름, 실행 가능한 권장 사항 및 수정을 위한 관련 기술 세부 정보가 포함됩니다.
환경 개요: 원본 MongoDB 환경의 주요 측면(예: 버전, 라이선스, 인스턴스 유형 및 데이터베이스 및 컬렉션에 대한 통계)을 요약합니다.
호환성 및 플랫폼 제약 조건: 분할된 워크로드에 대한 Cosmos DB별 할당량, 제한 및 잠재적 분할 키 비호환성에 대해 자세히 설명합니다.
평가 실행
시작하려면 VS Code에서 Azure Cosmos DB 마이그레이션 확장을 설치합니다. 이렇게 하면 필수 구성 요소인 VS Code용 DocumentDB 확장이 자동으로 설치됩니다.
VS Code용 DocumentDB 확장을 엽니다.
마이그레이션을 평가하려는 MongoDB 서버를 문서 DB 연결 목록에 추가합니다.
선택한 연결을 확장한 다음 마우스 오른쪽 단추를 클릭하고 데이터 마이그레이션을 선택합니다.
명령 팔레트에서 Azure Cosmos DB for MongoDB에 대한 마이그레이션 전 평가를 선택합니다.
평가 마법사는 세 단계를 안내합니다. 유효성 검사 시작 단계에서 유효성 검사 실행을 선택하여 계속하기 전에 자격 증명, 필수 구성 요소 및 연결을 확인합니다.
중요합니다
평가를 수행하려면 연결된 MongoDB 사용자에게 원본 인스턴스에 할당된 readAnyDatabase 및 clusterMonitor 역할이 있어야 합니다.
평가 세부 정보 채우기 단계에서 필요한 입력을 제공합니다.
- 평가 이름 필드에 제목을 입력합니다.
- 제품 드롭다운에서 vCore를 선택합니다.
- MongoDB 로그에 대한 경로를 제공합니다.
팁
선택 사항이지만 로그 경로를 지정하면 컬렉션 수준에서 더 자세한 결과를 찾을 수 있습니다. 생략하면 도구는 명령의
serverStatus데이터를 사용합니다. 이 데이터는 마지막 다시 시작 이후의 기능 사용량만 반영합니다. 정확한 워크로드 평가를 위해 마지막 서버를 다시 시작한 후 충분한 시간을 허용합니다.- 데이터 평가 로그에 대한 경로를 제공합니다.
팁
선택 사항이지만 데이터 평가 로그를 제공하면 워크로드 인사이트가 향상됩니다. 이러한 로그는 데이터를 스캔하고 자세한 로그를 읽어 생성됩니다. 데이터 평가는 마이그레이션 평가를 시작하기 전에 CLI로 독립적으로 실행되며 결과 JSON은 여기에서 사용됩니다. 여기에서 데이터 평가 CLI를 다운로드합니다.
평가 시작을 선택하여 평가 프로세스를 시작합니다.
보고서 가져오기 단계에서 평가가 완료되기를 기다립니다. 기간은 원본 서버의 크기에 따라 달라집니다.
평가가 완료되면 보고서 다운로드 를 선택하여 HTML 보고서를 검색합니다.
과거 평가 보기
이전 평가를 검토하는 것이 중요할 수 있습니다. 과거 평가 보기 탭을 사용하여 자세한 기록 보고서에 액세스합니다. 평가 목록에는 선택한 연결에 대해 현재 컴퓨터에서 시작된 모든 평가가 포함됩니다.
자주 묻는 질문(FAQ)
"유효성 검사 실행" 단계가 실패하는 경우 어떻게 진행합니까?
확장에 표시되는 오류 메시지를 확인하여 유효성 검사 실패의 원인을 확인합니다. 일반적인 문제로는 MongoDB 엔드포인트에 연결할 수 없거나 연결된 서버에서 사용자 권한이 부족한 문제가 있습니다.
평가를 실행하려면 연결된 MongoDB 사용자에게 readAnyDatabase 원본 인스턴스에 할당된 역할과 clusterMonitor 역할이 있는지 확인합니다.
현재 사용자에게 필요한 역할을 할당하는 데 사용합니다 grantRolesToUser .
"기능 호환성" 평가에서 컬렉션 및 데이터베이스 이름을 보려면 어떻게 해야 하나요?
이 serverStatus 명령은 기능 호환성 평가에 사용됩니다. 그러나 이 명령은 데이터베이스 또는 컬렉션 이름을 제공하지 않으므로 확장에서 보고할 수 없습니다.
자세한 평가 결과를 보려면 평가를 다시 실행하고 로그 폴더 경로 필드에 MongoDB 로그가 포함된 폴더를 지정합니다.
연결 문제를 방지하도록 원본 서버 방화벽을 구성하려면 어떻게 해야 하나요?
원본 MongoDB 인스턴스가 컴퓨터에서 들어오는 연결을 허용하는지 확인합니다.
동시에 실행할 수 있는 평가 수는 몇 개입니까?
동시에 실행할 수 있는 평가 수에는 제한이 없습니다. 그러나 여러 평가를 병렬로 실행하면 컴퓨터와 원본 서버 모두에서 컴퓨팅 리소스가 변형되어 성능에 영향을 줄 수 있습니다.
평가 보고서에 포함되는 정보는 무엇인가요?
보고서는 원본 MongoDB 환경의 요약을 포함하여 평가에 대한 주요 세부 정보로 시작합니다. 이 섹션에서는 원본 MongoDB 버전, 라이선스 유형 및 인스턴스 유형에 대해 설명합니다. 또한 평가 요약 및 마이그레이션 준비 상태와 함께 평가된 데이터베이스 및 컬렉션을 나열합니다.
결과는 중요도, 경고 및 정보로 분류되어 중요도에 따라 우선 순위를 지정하는 데 도움이 됩니다.
평가에는 다음에 대한 검사가 포함됩니다.
| 카테고리 | 설명 |
|---|---|
| 컬렉션 옵션 | 시계열 구성 및 데이터 정렬과 같이 지원되지 않는 컬렉션 설정을 식별합니다. |
| 기능 | 집계 파이프라인 쿼리를 포함하여 지원되지 않는 데이터베이스 명령, 쿼리 구문 및 연산자를 검색합니다. 추가 세부 정보 열은 원본 인스턴스에서 각 기능이 사용된 빈도를 보여 줍니다. |
| 제한 및 할당량 | vCore 기반 Azure Cosmos DB for MongoDB 할당량 및 제한 사항을 강조 표시합니다. |
| 인덱스 | 지원되지 않는 MongoDB 인덱스 형식 및 속성에 플래그를 지정합니다. |
| 분할 키 | 지원되지 않는 분할 키 구성을 식별합니다. |
확장에서 생성하는 로그 유형은 무엇인가요?
확장은 기본 로그 디렉터리에 오류, 경고 및 기타 진단 로그를 기록합니다.
- Windows -
C:\Users\<username>\.dmamongo\logs\ - Linux -
~/.dmamongo/logs - macOS -
/Users/<username>/.dmamongo/logs
비고
매일 별도의 로그 파일이 만들어집니다. 기본적으로 확장은 마지막 7개의 로그 파일을 저장합니다.
용량 계획
클러스터 계층
원본 데이터베이스 구성에 맞는 클러스터 계층으로 시작합니다. 부하 및 성능 테스트를 수행하여 비용과 성능 간의 최적 균형을 결정합니다.
스토리지 계층
마이그레이션 중 및 마이그레이션 후에 데이터 요구 사항을 충족하도록 대상 계정이 적절한 스토리지로 프로비전되었는지 확인합니다. 먼저 작은 데이터 세트를 마이그레이션하여 스토리지 사용량을 평가한 다음 총 데이터 크기에 따라 예상 크기를 조정하여 필요한 스토리지 할당을 결정합니다. 들어오는 데이터와 향후 성장을 수용할 수 있도록 추가 공간을 예약합니다.