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

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

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

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

마이그레이션 프로세스

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

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

Amazon DocumentDB는 Apache 2.0 오픈 소스 MongoDB 3.6, 4.0 및 5.0 API와 상호작용합니다. 따라서 변경 사항이 거의 없거나 전혀 없는 동일한 MongoDB 드라이버, 애플리케이션 및 도구를 Amazon DocumentDB와 함께 사용할 수 있습니다.

첫 번째 단계는 애플리케이션이 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>

자세한 내용은 Amazon DocumentDB에서 지원되는 MongoDB APIs, 작업 및 데이터 유형 섹션을 참조하세요.

* 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 에서 인덱싱하는 방법을 참조하세요.

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

기능적 차이

차이점에 익숙해지려면 MongoDB와 기능적 차이 항목을 검토합니다.

2단계: 개념 증명

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

기능 테스트

Amazon DocumentDB 클러스터를 생성하고(Amazon DocumentDB 클러스터 생성 참조) 애플리케이션 또는 기능 테스트 제품군을 실행하여 모든 애플리케이션 워크플로가 Amazon DocumentDB에서 원활하게 계속 작동하는지 확인합니다.

성능 테스트

프로덕션 워크로드와 유사한 워크로드로 Amazon DocumentDB에서 실행되는 애플리케이션 또는 성능 테스트 제품군에서 성능 테스트를 실행하여 설정이 지연 시간 요구 사항을 충족하는지 확인합니다. 성능을 위해 워크로드를 미세 조정하거나 Amazon DocumentDB 클러스터를 필요에 따라 규모를 조정합니다. 자세한 내용은 성능 및 리소스 사용률Amazon 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 항목을 사용하여 전체 로드를 수행하고 진행 중인 변경 사항을 복제할 수 있습니다.

단계별 프로세스는 온라인 메서드를 이용하여 Amazon DocumentDB로 마이그레이션을 참조하세요.

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

AWS DMS에 유의해야 할 사항:

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

    AWS DMS에서 분할을 사용하는 방법에 대한 자세한 내용은 AWS DMS 항목으로 자동 세분화 사용을 참조하세요.

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

오프라인 마이그레이션

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

단계별 프로세스는 오프라인 메서드를 사용하여 MongoDB에서 Amazon DocumentDB로 마이그레이션을 참조하세요.

4단계: 데이터 검증

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

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

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

5단계: 애플리케이션 전환

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

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

온라인 마이그레이션

전체 데이터 로드가 완료되면 AWS DMS에서는 원본에서 Amazon DocumentDB로 지속적인 변경 사항을 계속 복제합니다. 변경 사항이 포착되고 데이터 검증 확인이 완료되면 Amazon DocumentDB 로 전환 작업을 수행할 수 있습니다.

오프라인 마이그레이션

전체 데이터 로드 및 데이터 검증 검사를 완료하면 Amazon DocumentDB로 전환 작업을 수행할 수 있습니다.

추가 리소스

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

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