Atlas Live Migration을 사용하여 MongoDB를 MongoDB Atlas로 마이그레이션

Last reviewed 2023-05-08 UTC

이 문서에서는 데이터베이스가 포함된 자체 관리형 MongoDB 복제본 세트에서 MongoDB Atlas의 완전 관리형 클러스터로 MongoDB의 Atlas Live Migration Service를 사용 마이그레이션할 수 있는 아키텍처를 설명합니다.

이 문서는 완전히 호스팅되는 MongoDB 서비스에 관심이 있거나 MongoDB 복제본 세트의 MongoDB 데이터베이스를 MongoDB Atlas 클러스터로의 마이그레이션을 처리하는 데이터베이스 설계자, 데이터베이스 관리자, 데이터베이스 엔지니어를 대상으로 작성되었습니다.

아키텍처

다음은 마이그레이션 아키텍처를 보여주는 다이어그램입니다.

Compute Engine의 MongoDB 서버 및 기본에서 MongoDB Atlas로의 마이그레이션 경로

다이어그램에서, 화살표는 Compute Engine에서 실행되는 소스 MongoDB 복제본 세트에서 Google Cloud의 MongoDB Atlas에서 실행되는 대상 클러스터로의 데이터 마이그레이션 경로를 나타냅니다.

배포 아키텍처에는 다음 구성요소가 포함됩니다.

  • 소스 데이터베이스: Compute Engine 인스턴스 3개에서 실행되는 자체 관리형 MongoDB 복제본 세트
  • 대상 데이터베이스: 완전 관리형 MongoDB Atlas 클러스터
  • 마이그레이션 서비스: 데이터를 소스에서 대상으로 마이그레이션하기 위한 Atlas Live Migration 구성

이 아키텍처에서는 Compute Engine 인스턴스의 자체 관리형 MongoDB 복제본 세트를 사용하지만 온프레미스 데이터 센터 또는 다른 클라우드 환경의 소스 MongoDB 복제본 세트를 배포할 수도 있습니다.

설계 대안

다음 섹션에서는 이 아키텍처에 대해 가능한 설계 대안을 설명합니다.

샤딩된 MongoDB 클러스터

이 문서의 아키텍처는 MongoDB 복제본 세트를 소스로 사용합니다. 샤딩된 MongoDB 클러스터를 MongoDB Atlas로 마이그레이션하는 작업은 이 아키텍처에 포함되지 않습니다. MongoDB 복제본 세트와 샤딩된 MongoDB 클러스터 간의 아키텍처 차이점은 Stack Exchange: 데이터베이스 관리자에서 설명합니다.

Atlas mongomirror 유틸리티

이 문서의 아키텍처에는 Atlas mongomirror 유틸리티가 아닌 Atlas Live Migration이 사용됩니다. mongomirror 유틸리티를 사용하려면 소스 MongoDB 환경에 에이전트를 설치해야 하며 이 유틸리티는 더 낮은 수준의 추상화에서 작동합니다.

통합 기술

이 아키텍처의 마이그레이션 설정은 복사 시맨틱스 기능이 있는 동종 마이그레이션입니다. 마이그레이션 중에는 데이터가 변환되지 않으며 데이터베이스 통합이나 데이터 재샤딩은 발생하지 않습니다. Striim과 같은 통합 기술을 사용하여 복사 시맨틱스 이외의 기능을 구현할 수 있습니다.

설계 고려사항

다음 가이드라인은 신뢰성, 비용, 성능에 대한 조직의 요구사항을 충족하는 아키텍처를 개발하는 데 도움이 될 수 있습니다.

신뢰성

이 아키텍처의 마이그레이션은 소스 MongoDB 복제본 세트에서 대상 MongoDB Atlas 클러스터로의 단방향 마이그레이션입니다. 소스 MongoDB 복제본 세트에서 대상 클러스터로 컷오버를 완료한 후에는 소스 데이터베이스가 대상 클러스터의 변경사항으로 업데이트되지 않습니다. 따라서 프로덕션 환경에서 이 아키텍처를 구현하면 대체를 통해 애플리케이션을 최신 소스 데이터베이스로 전환할 수 없습니다. 대체 프로세스에 대한 자세한 내용은 데이터베이스 마이그레이션: 개념 및 원칙(2부)을 참조하세요.

비용 최적화

이 아키텍처의 배포는 비용이 청구될 수 있는 다음과 같은 Google Cloud 구성요소를 사용합니다.

이 아키텍처를 배포하기 위해 MongoDB Atlas 무료 등급을 사용할 수 없습니다. 무료 등급에서 사용 가능한 머신 유형은 Atlas Live Migration을 지원하지 않습니다. MongoDB Atlas에서는 최소 필요 머신 유형(이 문서 작성 현재 M10)의 시간당 서비스 비용이 발생합니다. 예상 가격을 산출하려면 MongoDB Atlas 가격 책정으로 이동하여 Google Cloud 가격 책정 정보를 검토하세요. 프로덕션 환경에서 이 마이그레이션을 구현하려면 MongoDB Atlas의 일반 호스팅 버전을 사용하는 것이 좋습니다.

성능

Atlas Live Migration은 다운타임 없는 데이터베이스 마이그레이션 접근 방식을 지원합니다. 소스 MongoDB 복제본 세트에서 마이그레이션하는 동안 애플리케이션은 아무런 영향 없이 소스 데이터베이스에 계속 액세스할 수 있습니다. 초기 로드가 완료되면 Atlas Live Migration은 마이그레이션 시작 후에 변경사항을 마이그레이션합니다.

초기 데이터 세트가 마이그레이션된 후 소스 데이터베이스에서 대상 클러스터로 컷오버를 수행합니다. 컷오버 프로세스의 일부로 소스 데이터베이스에 대한 쓰기 액세스를 정지합니다. 그런 다음 Atlas Live Migration이 나머지 변경사항을 캡처하고 대상 데이터베이스에 적용할 때까지 기다립니다. 변경사항이 적용된 후 Atlas Live Migration에서 컷오버를 실행하고 소스 데이터베이스를 중지할 수 있습니다.

모든 데이터가 마이그레이션되면 Atlas Live Migration은 사용자 인터페이스의 진행 상태 표시줄에 알림을 표시합니다. 이 시점에서는 데이터 마이그레이션이 완료되고 애플리케이션 시스템이 대상 클러스터를 새 레코드 시스템으로 액세스할 수 있습니다.

배포

이 아키텍처를 배포하려면 Atlas Live Migration을 배포하여 MongoDB를 MongoDB Atlas로 마이그레이션을 참조하세요.

다음 단계