다음을 통해 공유


Azure DocumentDB 마이그레이션 확장을 사용하여 MongoDB를 Azure DocumentDB로 온라인 마이그레이션(공개 미리 보기)

이 자습서에서는 Visual Studio Code의 Azure DocumentDB 마이그레이션 확장을 사용하여 MongoDB의 온-프레미스 또는 클라우드 인스턴스에서 Azure DocumentDB로 마이그레이션 작업을 만들고 관리합니다. 이 확장은 서비스 중단 없이 마이그레이션을 수행하기 위한 개발자 친화적인 인터페이스를 제공합니다. 이 확장은 추가 인프라의 필요성을 없애고 안전한 연결, 제로 비용 사용량 및 마이그레이션할 데이터베이스 및 컬렉션에 대한 세분화된 제어를 제공합니다.

이 문서의 초점은 확장의 통합 워크플로를 사용하여 Visual Studio Code 내에서 직접 마이그레이션 단계를 간소화하는 것입니다. 이 접근 방식은 복잡성과 최대 안정성을 최소화하면서 간소화되고 관리되는 환경을 원하는 시나리오에 적합합니다.

필수 조건

  • Azure 구독

  • 기존 Azure DocumentDB 클러스터

마이그레이션을 시작하기 전에 마이그레이션을 위해 Azure DocumentDB 계정 및 기존 MongoDB 인스턴스를 준비합니다.

MongoDB 인스턴스(원본)

  • 미리 배포 평가를 완료하여 원본 인스턴스와 대상 계정 간에 비호환성 및 경고가 있는지 확인합니다.
  • readAnyDatabaseclusterMonitor 권한을 가진 사용자를 추가하십시오. 단, 이미 사용자가 존재하지 않는 경우에 한합니다. 확장에서 마이그레이션 작업을 만드는 동안 이 자격 증명을 사용합니다.

Azure DocumentDB(대상)

  • Azure DocumentDB 계정의 자격 증명을 수집합니다.
  • 사용자에게 createCollection, , dropCollectioncreateIndexinsertlistCollections 권한이 있는지 확인합니다.

중요합니다

Microsoft Entra ID 인증은 현재 마이그레이션 작업에서 지원되지 않습니다. 네이티브 DocumentDB 인증을 사용하세요.

마이그레이션 수행

원본에 연결

  1. VS Code용 DocumentDB 확장을 엽니다.
  2. 문서 DB 연결 목록으로 마이그레이션하려는 MongoDB 서버를 추가합니다.
  3. 새 연결 추가를 선택합니다.
  4. 탐색 모음에서 연결 문자열을 선택합니다.
  5. 연결 문자열을 붙여넣습니다. mongodb://<YOUR_USERNAME>:<YOUR_PASSWORD>@localhost:10260/?tls=true&tlsAllowInvalidCertificates=true&authMechanism=SCRAM-SHA-256
  6. DocumentDB 연결에서 연결을 선택하고 확장하여 연결합니다.

마이그레이션 확장 호출

DocumentDB 연결에서 마이그레이션 확장을 호출할 수 있습니다.

  1. 확장된(연결된) 연결을 마우스 오른쪽 단추로 클릭합니다.

  2. 상황에 맞는 메뉴에서 데이터 마이그레이션 을 선택합니다.

    Visual Studio Code의 상황에 맞는 메뉴 스크린샷

  3. 명령 팔레트에서 Azure DocumentDB로 마이그레이션 을 선택합니다.

    Visual Studio Code의 명령 팔레트 스크린샷.

  4. 마이그레이션 마법사는 프로세스를 안내합니다.

마이그레이션 작업 만들기

마이그레이션 작업은 원본에서 대상 Azure DocumentDB로 컬렉션 그룹을 마이그레이션하는 데 사용됩니다. 마이그레이션 작업 만들기 마법사에는 6단계가 있습니다.

1단계: 작업 만들기

이 단계에서는 작업에 대한 기본 세부 정보를 제공합니다.

  • 작업 이름: 마이그레이션 작업을 식별하기 위해 사용자에게 친숙한 이름을 제공합니다.

  • 마이그레이션 모드: 사용 사례에 가장 적합한 마이그레이션 모드를 선택합니다.

    • 온라인 마이그레이션은 컬렉션 데이터를 복사하여 프로세스 중에 업데이트도 복제되도록 합니다. 이 방법은 가동 중지 시간을 최소화하면서 비즈니스 연속성을 위한 지속적인 운영을 가능하게 하는 장점이 있습니다. 진행 중인 작업이 중요하고 가동 중지 시간을 줄이는 것이 우선 순위인 경우 이 옵션을 사용합니다.
    • 오프라인 마이그레이션은 처음에 데이터베이스의 스냅샷을 캡처하여 더 간단하고 예측 가능한 접근 방식을 제공합니다. 데이터베이스의 정적 복사본을 사용할 수 있고 실시간 업데이트가 필수가 아닌 경우 잘 작동합니다.

    중요합니다

    MongoDB에서 온라인 마이그레이션을 성공적으로 수행하려면 원본 MongoDB 서버에서 ChangeStream을 사용하도록 설정해야 합니다. ChangeStream이 없으면 초기 마이그레이션 후 데이터를 수정한 내용은 캡처되지 않습니다. 따라서 원본 MongoDB 서버에서 ChangeStream을 사용하도록 설정한 경우에만 온라인 마이그레이션 모드를 사용합니다.

  • 연결: 조직의 보안 의무 및 네트워크 설정에 따라 퍼블릭프라이빗에서 선택합니다.

    • 공용 IP를 통해 인터넷을 통해 원본 및 대상 서버에 액세스할 수 있는 경우 공용 을 사용합니다. 외부 접근성이 필요한 서비스를 지원할 수 있습니다.
    • 원본 또는 대상 서버가 가상 네트워크 내의 개인 IP를 통해서만 액세스할 수 있는 경우 Private 을 사용합니다. 공용 인터넷에 대한 노출을 제거하여 보안을 강화합니다.

다음을 선택하여 작업을 계속할 수 있습니다.

마법사에서 작업 만들기 단계의 스크린샷.

2단계: 대상 선택

이 단계에서는 기존 Azure DocumentDB 계정을 선택하고 해당 연결 문자열을 제공합니다.

  1. 드롭다운에서 구독, 리소스 그룹 및 Azure DocumentDB 계정을 선택합니다.

  2. Azure DocumentDB 계정에 연결 문자열을 제공합니다.

  3. 화면에 나열된 IP가 Azure DocumentDB 방화벽에서 허용되는지 확인합니다.

  4. 다음을 선택하여 작업을 계속할 수 있습니다.

마법사의 대상 선택 단계 스크린샷

3단계: DMS(Database Migration Service) 선택

Azure Database Migration Service는 로컬 리소스를 사용하는 대신 데이터 전송을 위해 클라우드 인프라를 사용하여 Azure 데이터 플랫폼 간에 데이터를 마이그레이션하는 서비스입니다. 드롭다운에서 기존 Azure Database Migration Service 인스턴스를 선택하거나 DMS 만들기 를 선택하여 새 마이그레이션 서비스를 만듭니다.

중요합니다

Microsoft.DataMigration 리소스 공급자가 구독에 등록되어 있는지 확인합니다. 구독당 한 번만 수행하면 됩니다.

다음을 선택하여 작업을 계속할 수 있습니다.

마법사의 '데이터베이스 마이그레이션 서비스 선택' 단계의 스크린샷입니다.

4단계: 연결 구성

이 화면은 1단계에서 선택한 연결 모드에 따라 달라집니다.

공용 연결

공용 연결에서 마이그레이션 작업은 공용 인터넷을 사용하여 원본 및 대상에 연결합니다. 통신을 사용하려면 원본 및 대상 방화벽을 업데이트해야 합니다. DMS 서버에서 통신을 사용하도록 설정하려면 화면에 나열된 IP 주소를 원본 및 대상 방화벽에 추가합니다. 자세한 내용은 Azure DocumentDB 클러스터 방화벽 구성을 참조하세요.

마법사의 공용 연결 구성 단계 스크린샷.

프라이빗 연결

프라이빗 연결에서 마이그레이션 작업은 가상 네트워크 내에서 실행됩니다. 가상 네트워크와 안전하게 통신하기 위해 가상 네트워크 피어링을 사용합니다.

  1. 드롭다운에서 구독, 리소스 그룹 및 가상 네트워크를 선택합니다.

  2. 화면에 제공된 PowerShell 스크립트를 실행하여 가상 네트워크 통합을 사용하도록 설정합니다.

  3. 다음을 선택하여 작업을 계속할 수 있습니다.

마법사의 프라이빗 연결 구성 단계 스크린샷.

5단계: 컬렉션 선택

이 단계에서는 마이그레이션 작업에 포함할 컬렉션을 선택합니다. 제공된 검색 옵션을 사용하여 컬렉션 목록에서 선택합니다. 대상에 이미 있는 컬렉션은 대상 열의 Exists에서 자동으로 Yes로 표시됩니다.

팁 (조언)

마이그레이션 작업이 만들어지면 컬렉션 목록을 추가할 수 없으므로 포함하려는 모든 컬렉션을 선택해야 합니다.

다음을 선택하여 작업을 계속할 수 있습니다.

마법사의 컬렉션 선택 단계 스크린샷.

6단계: 확인 및 시작

마이그레이션 시작을 선택하기 전에 마이그레이션 작업 세부 정보를 검토 합니다. 세부 정보를 업데이트해야 하는 경우 [세부 정보 편집] 단추를 사용합니다.

마이그레이션 작업이 성공적으로 만들어지면 기존 작업 보기 페이지로 자동으로 리디렉션됩니다.

팁 (조언)

데이터 마이그레이션 작업은 Azure Database Migration Service에서 실행됩니다. 따라서 데이터 마이그레이션 중에 원본 및 대상 환경에 연결할 필요가 없습니다. 상태는 대시보드에서 자주 업데이트됩니다.

기존 마이그레이션 작업 모니터링

기존 작업 보기 탭을 사용하여 초기화된 작업의 마이그레이션 상태를 모니터링합니다. 작업은 선택한 DMS에 따라 나열됩니다. DMS 변경 단추를 사용하여 선택을 변경합니다.

상태는 자주 업데이트됩니다. 선택한 컬렉션 스냅샷이 대상에 복사되면 오프라인 작업이 자동으로 완료됩니다. 그러나 온라인 마이그레이션은 수동으로 중단해야 합니다.

기존 작업 보기 화면의 스크린샷

컬렉션별 상태를 보려면 테이블에서 행을 선택합니다.

오프라인 마이그레이션에 대한 컬렉션별 상태를 보여 주는 스크린샷

온라인 마이그레이션 모니터링

온라인 마이그레이션은 오프라인 마이그레이션과 달리 자동으로 완료되지 않습니다. 대신 컷오버를 선택하여 수동으로 완료될 때까지 계속 실행됩니다.

온라인 마이그레이션을 완료하려면 지정된 순서대로 다음 단계를 수행합니다.

  1. 모든 컬렉션에 대해 초기 데이터 로드가 완료되면 잘라내기 단추가 활성화됩니다. 이 단계에서 작업은 복제 단계에 있으며, 원본 인스턴스에서 대상 인스턴스로 업데이트를 지속적으로 복사하여 최신 변경 사항으로 최신 상태를 유지합니다.

  2. 마이그레이션 중단을 수행할 준비가 되면 마이그레이션 중인 원본 컬렉션에 들어오는 모든 트랜잭션을 중지합니다.

  3. 복제 간격은 마지막 업데이트와 현재 시간 사이의 시간 간격을 보여 줍니다.

  4. 테이블의 복제 변경 내용을 모니터링하고 복제 변경 내용 재생 메트릭이 안정화될 때까지 기다립니다. 안정적인 복제 변경 내용 재생 메트릭은 원본의 모든 업데이트가 대상에 성공적으로 복사되었음을 나타냅니다.

  5. 모든 컬렉션에 대한 복제 격차가 최소화되고 복제된 변경 사항 재생 메트릭이 안정적일 때 컷오버를 선택합니다.

  6. 행 수가 원본 컬렉션과 대상 컬렉션 간에 동일한지 수동으로 확인합니다.

비고

원본과 대상이 동기화되었는지 검증하지 않고 전환 작업을 수행하면 데이터가 손실될 수 있습니다.

온라인 마이그레이션에 대한 컬렉션별 상태를 보여 주는 스크린샷

구독에 Microsoft.DataMigration 리소스 공급자 등록

Microsoft.DataMigration 리소스 공급자가 구독에 등록되었는지 확인하려면 다음 단계를 수행합니다.

Azure 포털

  1. Azure Portal로 이동하여 구독으로 이동합니다.

  2. 왼쪽 메뉴에서 설정에서 리소스 공급자를 선택합니다.

  3. 위쪽의 검색 상자에서 Microsoft.DataMigration 을 검색합니다.

  4. 등록되지 않은 경우 해당 단추를 선택하고 등록 단추를 선택합니다.

Azure 커맨드 라인 인터페이스 (CLI)

  1. Azure Cloud Shell 또는 로컬 터미널을 엽니다.

  2. 리소스 공급자를 등록하는 다음 명령을 실행합니다.

    az provider register --namespace Microsoft.DataMigration
    

PowerShell

  1. Azure Cloud Shell 또는 로컬 PowerShell을 엽니다.

  2. 리소스 공급자를 등록하는 다음 명령을 실행합니다.

    Register-AzResourceProvider -ProviderNamespace "Microsoft.DataMigration"
    

자주 묻는 질문(FAQ)

Azure DocumentDB에서 보기를 지원할 때 컬렉션 선택 화면 단계에서 보기가 누락되는 이유는 무엇인가요?

Azure DocumentDB는 새 뷰 만들기를 지원합니다. 그러나 마이그레이션 확장은 기존 뷰 마이그레이션을 지원하지 않습니다.

마이그레이션이 완료된 후에는 언제든지 보기를 다시 생성할 수 있습니다.

MongoDB에서 Azure DocumentDB로 마이그레이션할 때 건너뛰는 컬렉션 및 데이터베이스는 무엇입니까?

MongoDB의 내부 데이터베이스 및 컬렉션은 다음과 같습니다.

카테고리 Description
데이터베이스 관리자, 로컬, 시스템 설정
컬렉션 접두사를 가진 모든 컬렉션 system.

마이그레이션 작업이 내 컴퓨터에서 로컬로 실행됩니까?

데이터베이스 및 컬렉션은 로컬 VS Code 클라이언트에서 실행된 명령을 사용하여 마법사 UI에 직접 나열됩니다. 이 기능을 사용하려면 VS Code를 실행하는 컴퓨터와 원본 및 대상 환경 간에 네트워크 연결이 필요합니다.

데이터 마이그레이션 작업은 Azure DMS(Database Migration Service)에서 실행됩니다. DMS는 데이터 이동 활동을 오케스트레이션하고 관리하는 Azure 호스팅 서비스입니다. 마이그레이션 작업이 만들어지면 더 이상 원본 및 대상 환경에 대한 연결을 유지할 필요가 없습니다.

마이그레이션하는 동안 데이터베이스 및 컬렉션의 이름을 바꿀 수 있나요?

확장은 마이그레이션 중에 데이터베이스 및 컬렉션 이름 바꾸기를 지원하지 않습니다.

연결 문제를 방지하려면 원본 서버 방화벽을 어떻게 구성해야 하나요?

필요한 네트워크 구성은 선택한 연결 모드에 따라 달라집니다.

  • 공용 모드: 통신을 사용하려면 원본 방화벽과 대상 방화벽 모두에서 마법사에 표시되는 IP 주소를 허용해야 합니다.
  • 프라이빗 모드: DMS 서버가 가상 네트워크 내의 원본 및 대상 엔드포인트와 안전하게 통신할 수 있도록 가상 네트워크 통합을 사용하도록 설정해야 합니다.

VS Code 연결도 참조하세요.

단일 마이그레이션에서 마이그레이션할 수 있는 데이터베이스 및 컬렉션은 몇 개입니까?

단일 마이그레이션에 최대 25개의 컬렉션을 포함할 수 있습니다. 그러나 여러 마이그레이션 작업을 만들고 실행하여 다른 컬렉션을 마이그레이션할 수 있습니다.

동시에 실행할 수 있는 마이그레이션 작업은 몇 개입니까?

공용 액세스를 사용할 때 여러 마이그레이션 작업을 실행할 수 있습니다. 그러나 프라이빗 액세스를 사용하는 경우 단일 가상 네트워크는 한 번에 하나의 활성 작업만 지원할 수 있습니다. 프라이빗 액세스 권한으로 여러 작업을 실행하려면 각 작업에 서로 다른 가상 네트워크를 사용해야 합니다.

확장에서 생성하는 로그 유형은 무엇인가요?

확장은 기본 로그 디렉터리에 오류, 경고 및 기타 진단 로그를 기록합니다.

  • Windows - C:\Users\<username>\.dmamongo\logs\
  • Linux - ~/.dmamongo/logs
  • macOS - /Users/<username>/.dmamongo/logs

다음 단계