마이그레이션 플레이북: MongoDB에서 아마존 DocumentDB로 - Amazon DocumentDB

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

마이그레이션 플레이북: MongoDB에서 아마존 DocumentDB로

이 마이그레이션 플레이북은 MongoDB 데이터베이스에서 Amazon DocumentDB로 마이그레이션하는 데 도움이 되는 리소스와 단계를 제공합니다.

마이그레이션 프로세스

다음은 MongoDB 데이터베이스에서 Amazon DocumentDB로 데이터를 마이그레이션할 때 일반적으로 수반되는 상위 단계 목록입니다.

1단계: 호환성 및 기능적 차이

아마존 DocumentDB는 아파치 2.0 오픈 소스 MongoDB 3.6, 4.0, 5.0 API와 상호 작용합니다. 따라서 Amazon DocumentDB에서 거의 또는 전혀 변경하지 않고 동일한 MongoDB 드라이버, 애플리케이션 및 도구를 사용할 수 있습니다.

첫 번째 단계는 애플리케이션이 MongoDB 데이터베이스에서 사용하는 연산자와 인덱스 간의 호환성과 Amazon DocumentDB에서의 가용성을 확인하고 이들 간의 기능적 차이를 이해하는 것입니다.

운영자 호환성

Amazon DocumentDB 호환성 도구*를 사용하면 애플리케이션이 쿼리에 지원되지 않는 연산자를 사용하는지 쉽게 확인할 수 있습니다. 이 도구는 MongoDB 데이터베이스 서버 로그 파일 또는 애플리케이션 소스 코드를 스캔하여 지원되지 않는 운영자에 대한 보고서를 제공할 수 있습니다. 지원되지 않는 연산자를 사용하는 경우 지원되지 않는 연산자를 피하도록 애플리케이션을 수정해야 합니다.

설정에 사용된 MongoDB 연산자와 지원되는 Amazon DocumentDB 연산자 간의 호환성을 확인하려면 다음을 실행하십시오.

git clone https://github.com/awslabs/amazon-documentdb-tools.git cd amazon-documentdb-tools/compat-tool/ python3 compat.py --version <Amazon DocumentDB version> --directory <mongodb logfiles/source code>

자세한 설명은 지원되는 MongoDB API, 작업 및 데이터 형식 섹션을 참조하세요.

* 에서는 공식적으로 지원되지 않습니다. AWS

인덱스 호환성

Amazon DocumentDB 인덱스 도구*를 사용하여 Amazon DocumentDB에서 지원되지 않는 인덱스 유형을 사용하고 있는지 확인할 수 있습니다. 이 도구가 인덱스 정의를 읽으려면 원본 데이터베이스에 연결해야 합니다.

이를 위해서는 먼저 --dump-indexes 옵션을 사용하여 인덱스 정의를 디렉터리에 덤프해야 합니다. 그런 다음 --show-issues 옵션을 사용하여 도구를 실행하여 호환되지 않는 색인을 찾을 수 있는 디렉토리를 제공하십시오.

인덱스 내보내기:

git clone https://github.com/awslabs/amazon-documentdb-tools.git sudo pip install -r amazon-documentdb-tools/index-tool/requirements.txt mkdir <directory to dump index definitions> python3 migrationtools/documentdb_index_tool.py --dump-indexes --dir <directory> --uri <source-mongodb-uri>

호환되지 않는 인덱스 확인:

python3 migrationtools/documentdb_index_tool.py --show-issues --dir <dumped-index-definitions-directory>

지원되지 않는 인덱스 유형을 사용하는 경우 호환되지 않는 인덱스 없이 계속 사용할 수 있도록 응용 프로그램 또는 데이터 모델을 수정해야 합니다.

Amazon DocumentDB에서 지원되는 인덱스 유형 및 속성에 대한 자세한 내용은 Amazon DocumentDB에서 인덱싱하는 방법 및 Amazon DocumentDB에서 인덱싱하는 방법을 인덱스 및 인덱스 속성 참조하십시오.

* 에서는 공식적으로 지원되지 않습니다. AWS

기능적 차이

MongoDB와 기능적 차이검토하여 차이점을 숙지하세요.

2단계: 개념 증명

Amazon DocumentDB에서 애플리케이션 또는 일반 테스트 스위트를 실행하여 기능 및 성능을 테스트하여 개념 증명을 수행하십시오. 테스트를 수행하려면 Amazon DocumentDB 클러스터를 데이터로 채워야 할 수도 있습니다. 예를 들어, mongodumpmongorestore 도구를 사용하여 원본 MongoDB에서 데이터를 복사할 수 있습니다.

기능 테스트

Amazon DocumentDB 클러스터를 생성하고 (아마존 DocumentDB 클러스터 생성참조) 애플리케이션 또는 기능 테스트 스위트를 실행하여 모든 애플리케이션 워크플로가 Amazon DocumentDB에서 계속 원활하게 작동하는지 검증하십시오.

성능 테스트

프로덕션 워크로드와 유사한 워크로드로 Amazon DocumentDB에서 실행되는 애플리케이션 또는 성능 테스트 스위트에서 성능 테스트를 실행하여 설정이 지연 시간 요구 사항을 충족하는지 확인합니다. 성능을 위해 워크로드를 미세 조정하거나 필요에 따라 Amazon DocumentDB 클러스터를 확장하십시오. 자세한 내용은 성능 및 리소스 사용률아마존 DocumentDB 클러스터 스케일링 섹션을 참조하세요.

최적의 성능을 위해서는 적절한 인스턴스 유형으로 Amazon DocumentDB 클러스터의 크기를 조정하는 것이 중요합니다. 자세한 내용은 의 모범 사례를 참조하십시오. 인스턴스 크기 조정

Amazon DocumentDB 사이징 계산기*를 사용하면 Amazon DocumentDB 클러스터의 크기를 쉽게 추정할 수 있습니다.

* 에서는 공식적으로 지원되지 않습니다. AWS

페일오버 테스트

애플리케이션이 Amazon DocumentDB 기본 노드 재부팅, 기본 노드 장애 조치 또는 다중 노드 클러스터의 기본 노드 삭제에 어떻게 반응하는지와 복제본 노드가 재부팅 또는 제거되는 시기를 관찰해 보는 것이 좋습니다. 이를 통해 애플리케이션이 이러한 이벤트에 대한 복원력을 갖췄는지 확인할 수 있습니다. 자세한 설명은 장애 조치 테스트 섹션을 참조하세요.

애플리케이션이 허용해야 하는 예외와 이를 효율적으로 처리하는 방법을 이해하려면 Amazon DocumentDB를 사용한 복원력 있는 애플리케이션 구축을 참조하십시오.

참고

Amazon DocumentDB에서 워크로드를 테스트하는 것을 대체할 수 있는 방법은 없습니다.

3단계: 데이터 마이그레이션

개념 증명이 성공하면 데이터를 Amazon DocumentDB로 마이그레이션하십시오. 대부분의 고객은 온라인 또는 오프라인 마이그레이션 접근 방식을 사용하여 데이터를 마이그레이션합니다.

온라인 마이그레이션

온라인 마이그레이션 방법을 사용하면 다운타임이 거의 없이 몇 기가바이트에서 수 테라바이트에 이르는 원본 데이터베이스의 데이터를 Amazon DocumentDB로 마이그레이션할 수 있습니다. 자세한 정보는 AWS Database Migration Service(AWS DMS) 단원을 참조하십시오.

MongoDB 데이터베이스에서 마이그레이션하는 경우 전체 로드를 수행하고 지속적인 변경 사항을 복제하는 데 AWS DMS 사용할 수 있습니다.

step-by-step 프로세스에 대한 자세한 내용은 온라인 방법을 사용하여 Amazon DocumentDB로 마이그레이션하기를 참조하십시오.

추가 정보는 사용 설명서의 Amazon DocumentDB를 AWS Database Migration Service 대상으로 사용 섹션에서 AWS Database Migration Service 확인할 수 있습니다.

참고 사항: AWS DMS

  • 세그멘테이션: 를 사용하여 AWS DMS 테라바이트급 데이터베이스를 마이그레이션하는 경우 DMS의 전체 로드가 기본적으로 컬렉션당 단일 스레드로 수행되므로 마이그레이션 시간이 길어지기 때문에 기본 설정을 사용하면 속도가 느려질 수 있습니다. 대규모 데이터베이스 마이그레이션의 전체 로드 속도를 높이려면 에서 세그멘테이션 기능을 사용할 수 있습니다. AWS DMS

    에서 세그멘테이션을 사용하는 방법에 대한 자세한 내용은 자동 세그멘테이션 사용을 참조하십시오. AWS DMS AWS DMS

  • DMS 인스턴스 유형: 데이터 마이그레이션 속도를 높이려면 적합한 DMS 인스턴스를 선택해야 합니다.

오프라인 마이그레이션

오프라인 마이그레이션은 데이터베이스를 Amazon DocumentDB로 이동하는 가장 간단한 방법입니다. 이 접근 방식은 주로 POC 및 마이그레이션 중에 쓰기 중단이 발생할 수 있는 워크로드에 사용됩니다.

step-by-step 프로세스에 대한 자세한 내용은 오프라인 방법을 사용하여 MongoDB에서 Amazon DocumentDB로 마이그레이션을 참조하십시오.

4단계: 데이터 검증

데이터가 성공적으로 마이그레이션되면 데이터의 정확성을 검증하여 신뢰성을 확보하십시오. AWS DMS마이그레이션 작업 콘솔에서 마이그레이션된 데이터 지표를 찾을 수 있습니다. 자세한 내용은 마이그레이션된 데이터 확인을 참조하십시오.

또한 Amazon DataDiffer DocumentDB 도구*를 사용하여 원본 컬렉션과 대상 컬렉션 간의 데이터 일관성을 검증할 수 있습니다.

* 에서는 공식적으로 지원되지 않습니다. AWS

5단계: 애플리케이션 컷오버

여기에는 Amazon DocumentDB 클러스터를 사용하도록 애플리케이션의 데이터베이스 연결 문자열을 변경하는 작업이 포함됩니다.

Amazon DocumentDB에 연결하는 방법에 대한 자세한 내용은 을 참조하십시오. Amazon DocumentDB에 복제 세트로 연결

온라인 마이그레이션

전체 데이터 로드가 완료된 후 소스에서 Amazon DocumentDB로 진행 중인 변경 사항을 AWS DMS 계속 복제합니다. 변경 사항을 파악하고 데이터 검증을 완료한 후 Amazon DocumentDB로 전환할 수 있습니다.

오프라인 마이그레이션

전체 데이터 로드 및 데이터 검증 검사를 완료한 후에는 Amazon DocumentDB로 전환을 수행할 수 있습니다.

추가 리소스

마이그레이션에 도움이 될 수 있는 몇 가지 추가 리소스는 다음과 같습니다.

* 에서는 공식적으로 지원되지 않습니다AWS.