Azure Cosmos DB NoSQL 계정을 다른 지역으로 재배치
기존 Azure 리소스를 한 지역에서 다른 지역으로 이동하려는 이유는 다양합니다. 다음을 수행하려고 할 수 있습니다.
- 새 Azure 지역 활용.
- 특정 지역에서만 사용할 수 있는 기능 또는 서비스 배포.
- 내부 정책 및 거버넌스 요구 사항 충족.
- 회사 인수 합병에 부합.
- 용량 계획 요구 사항 충족.
이 문서에서는 다음 중 하나를 수행하는 방법을 설명합니다.
- Azure Cosmos DB에서 데이터가 복제되는 지역을 재배치합니다.
- 한 영역에서 다른 영역으로 계정(Azure Resource Manager) 메타데이터 및 데이터를 마이그레이션합니다.
필수 조건
원본 및 대상 리소스 그룹 인스턴스에 대한 위임된 권한과 "User.ReadBasic.All"에 대한 "API 권한"을 사용하여 앱 등록을 만들어야 합니다.
선택한 Cosmos DB API는 원본에서 대상까지 동일하게 유지되어야 합니다. 이 문서에서는 SQL DB API를 사용합니다.
계정 이름은 44자(모두 소문자)로 제한되어야 합니다.
Azure Cosmos 계정에 위치를 추가하거나 제거하면 다른 속성을 동시에 수정할 수 없습니다.
모든 Cosmos DB 종속 리소스를 식별합니다.
가동 중지 시간
서비스 엔드포인트에 대한 고려 사항
Azure Cosmos DB의 가상 네트워크 서비스 엔드포인트는 지정된 가상 네트워크에 대한 액세스를 제한합니다. 엔드포인트는 IPv4(인터넷 프로토콜 버전 4) 주소 범위 목록에 대한 액세스를 제한할 수도 있습니다. 해당 소스 외부에서 Event Hubs에 연결하는 모든 사용자는 액세스가 거부됩니다. Event Hubs 리소스의 원본 지역에서 서비스 엔드포인트가 구성된 경우 대상에서 동일한 작업을 수행해야 합니다.
Azure Cosmos DB를 대상 지역에 성공적으로 다시 만들려면 VNet 및 서브넷을 미리 만들어야 합니다. 이러한 두 리소스를 Azure Resource Mover 도구를 사용하여 이동하는 경우 서비스 엔드포인트가 자동으로 구성되지 않습니다. 따라서 Azure Portal, Azure CLI 또는 Azure PowerShell를 통해 수동으로 구성해야 합니다.
데이터 없이 다시 배포
구성 및 고객 데이터 없이 Cosmos DB 인스턴스를 단독으로 재배치해야 하는 경우 Microsoft.DocumentDB databaseAccounts를 사용하여 인스턴스 자체를 만들 수 있습니다.
데이터로 다시 배포
Azure Cosmos DB은 데이터 복제를 기본적으로 지원하므로 한 영역에서 다른 영역으로 데이터를 이동하는 것이 간단합니다. Azure Portal, Azure PowerShell 또는 Azure CLI를 사용하여 이 작업을 수행할 수 있습니다. 다음 단계를 포함합니다.
계정에 새 영역을 추가합니다.
Azure Cosmos DB 계정에 새 영역을 추가하려면 Azure Cosmos DB 계정에 지역 추가/제거를 참조하세요.
새 지역으로 수동 장애 조치(failover)를 수행합니다.
제거할 영역이 현재 계정의 쓰기 영역인 경우 이전 단계에서 추가된 새 영역으로 장애 조치(failover)를 시작해야 합니다. 가동 중지 시간이 없는 작업입니다. 여러 영역 계정에서 읽기 영역을 이동하는 경우 이 단계를 건너뛸 수 있습니다.
장애 조치(failover)를 시작하려면 Azure Cosmos DB 계정에서 수동 장애 조치(failover) 수행을 참조하세요.
원래 영역을 제거합니다.
Azure Cosmos DB 계정에서 영역을 제거하려면 Azure Cosmos DB 계정에서 영역 추가/제거를 참조하세요.
참고 항목
비동기식 처리량 크기 조정 작업이 진행되는 동안 장애 조치(failover) 또는 새 지역 추가/제거 작업을 수행하면 처리량 스케일 업 작업이 일시 중지됩니다. 장애 조치(failover) 또는 지역 추가/제거 작업이 완료되면 자동으로 다시 시작됩니다.
Azure Cosmos DB 계정 메타데이터 다시 배포
Azure Cosmos DB은 기본적으로 한 영역에서 다른 영역으로 계정 메타데이터 마이그레이션을 지원하지 않습니다. 계정 메타데이터와 고객 데이터를 모두 한 영역에서 다른 영역으로 마이그레이션하려면 원하는 영역에서 새 계정을 만든 다음 데이터를 수동으로 복사해야 합니다.
Important
데이터가 저장되거나 다른 지역으로 이동되는 경우 계정 메타데이터를 마이그레이션할 필요가 없습니다. 계정 메타데이터가 상주하는 지역은 Azure Cosmos DB 계정의 성능, 보안 또는 기타 운영 측면에 영향을 주지 않습니다.
API for NoSQL에 대한 가동 중지 시간이 0에 가까운 마이그레이션에는 변경 피드 또는 이를 사용하는 도구를 사용해야 합니다.
다음 단계에서는 API for NoSQL 및 해당 데이터에 대해 Azure Cosmos DB 계정을 한 영역에서 다른 영역으로 마이그레이션하는 방법을 보여 줍니다.
원하는 영역에 새 Azure Cosmos DB 계정을 만듭니다.
Azure Portal, PowerShell 또는 Azure CLI를 통해 새 계정을 만들려면 Azure Cosmos DB 계정 만들기를 참조하세요.
데이터베이스 및 컨테이너를 만듭니다.
새 데이터베이스 및 컨테이너를 만들려면 Azure Cosmos DB 컨테이너 만들기를 참조하세요.
Azure Cosmos DB Spark Connector 라이브 마이그레이션 샘플을 사용하여 데이터를 마이그레이션합니다.
가동 중지 시간이 거의 없는 데이터를 마이그레이션하려면 Spark Connector를 사용하여 Azure Cosmos DB SQL API 컨테이너 데이터 라이브 마이그레이션을 참조하세요.
애플리케이션 연결 문자열을 업데이트합니다.
Live Data Migration 샘플이 계속 실행하여 애플리케이션의 새 배포에서 연결 정보를 업데이트합니다. Azure Portal에서 애플리케이션에 대한 엔드포인트 및 키를 검색할 수 있습니다.
요청을 새 애플리케이션으로 리디렉션합니다.
새 애플리케이션이 Azure Cosmos DB에 연결된 후 클라이언트 요청을 새 배포로 리디렉션할 수 있습니다.
더 이상 필요하지 않은 리소스를 삭제합니다.
이제 요청이 새 인스턴스로 완전히 리디렉션되면 이전 Azure Cosmos DB 계정을 삭제하고 Live Data Migrator 샘플을 중지할 수 있습니다.
다음 단계
데이터베이스 및 컨테이너와 함께 Azure Cosmos DB 계정을 관리하는 방법에 대한 자세한 내용 및 예는 다음 문서를 읽어보세요.