Azure Cosmos DB의 컨테이너 복사 작업(미리 보기)

적용 대상: NoSQL MongoDB Cassandra

컨테이너 복사 작업을 사용하여 Azure Cosmos DB 계정 내에서 오프라인 컨테이너 복사를 수행할 수 있습니다.

다음 시나리오를 수행하려면 Azure Cosmos DB 계정 내에서 데이터를 복사해야 할 수 있습니다.

컨테이너 복사 작업은 Azure CLI 명령을 사용하여 만들고 관리할 수 있습니다.

시작하기

시작하려면 Azure Portal에서 관련 미리 보기 기능을 등록합니다.

Azure Cosmos DB 계정 간 컨테이너 복사

NoSQL API

Azure Cosmos DB for NoSQL API 계정에 대한 계정 간 오프라인 컨테이너 복사를 시작하려면 Azure Portal의 미리 보기 기능에서 계정 간 오프라인 컨테이너 복사(NoSQL) 미리 보기 기능 플래그에 등록합니다. 등록이 완료되면 구독의 모든 NoSQL 및 API 계정에 미리 보기가 적용됩니다.

Azure Cosmos DB 계정 내의 컨테이너 복사

NoSQL 및 Cassandra API

NoSQL 및 Cassandra API 계정에 대한 계정 내 오프라인 컨테이너 복사본을 시작하려면 Azure Portal의 미리 보기 기능에서 계정 내 오프라인 컨테이너 복사본(Cassandra NoSQL) 미리 보기 기능 플래그에 등록합니다. 등록이 완료되면 구독의 모든 Cassandra 및 API for NoSQL 계정에 미리 보기가 적용됩니다.

MongoDB용 API

Azure Cosmos DB for MongoDB 계정에 대한 계정 내 오프라인 컨테이너 복사본을 시작하려면 Azure Portal의 미리 보기 기능에서 계정 내 오프라인 컬렉션 복사본(MongoDB) 미리 보기 기능 플래그에 등록합니다. 등록이 완료되면 구독의 모든 API for MongoDB 계정에 미리 보기가 적용됩니다.

컨테이너의 데이터 복사

  1. 사용하려는 설정(파티션 키, 처리량 세분성, 요청 단위, 고유 키 등)을 사용하여 대상 Azure Cosmos DB 컨테이너를 만듭니다.
  2. 애플리케이션 인스턴스 또는 여기에 연결된 모든 클라이언트를 일시 중지하여 원본 컨테이너에 대한 작업을 중지합니다.
  3. 컨테이너 복사 작업을 만듭니다.
  4. 컨테이너 복사 작업의 진행률을 모니터링하고 완료될 때까지 기다립니다.
  5. 애플리케이션 또는 클라이언트가 의도한 대로 원본 또는 대상 컨테이너 복사본을 적절하게 가리키도록 하여 작업을 다시 시작합니다.

컨테이너 복사는 어떻게 작동하나요?

컨테이너 복사 작업은 원본 컨테이너의 증분 변경 피드 로그를 사용하여 오프라인 데이터 복사를 수행합니다.

  1. 플랫폼은 대상 Azure Cosmos DB 계정에 대한 서버 쪽 컴퓨팅 인스턴스를 할당합니다.
  2. 이러한 인스턴스는 계정 내에서 하나 이상의 컨테이너 복사 작업을 만들 때 할당됩니다.
  3. 컨테이너 복사 작업은 이러한 인스턴스에서 실행됩니다.
  4. 단일 작업은 언제든지 모든 인스턴스에서 실행됩니다.
  5. 인스턴스는 동일한 계정 내에서 실행되는 모든 컨테이너 복사 작업에서 공유됩니다.
  6. 인스턴스가 15분 이상 유휴 상태인 경우 플랫폼에서 인스턴스 할당을 취소할 수 있습니다.

참고 항목

현재 오프라인 컨테이너 복사 작업만 지원합니다. 컨테이너 복사를 시작하기 전에 원본 컨테이너에 대한 작업 수행을 중지하는 것이 좋습니다. 복사 작업을 시작한 후 원본 컨테이너에서 수행된 항목 삭제 및 업데이트는 캡처되지 않을 수 있습니다. 컨테이너 작업이 진행되는 동안 원본 컨테이너에서 작업을 계속 수행하면 대상 컨테이너에서 데이터가 중복되거나 누락될 수 있습니다.

컨테이너 복사 작업 속도에 영향을 주는 요소

컨테이너 복사 작업 진행률은 다음 요인에 따라 결정됩니다.

  • 원본 컨테이너 또는 데이터베이스 처리량 설정.

  • 대상 컨테이너 또는 데이터베이스 처리량 설정.

    대상 컨테이너 처리량을 원본 컨테이너 처리량의 2배 이상으로 설정합니다.

  • 데이터 전송을 수행하기 위해 Azure Cosmos DB 계정에 할당되는 서버 쪽 컴퓨팅 인스턴스입니다.

    Important

    기본 SKU는 계정당 두 개의 4-vCPU 16GB 서버 쪽 인스턴스를 제공합니다.

제한 사항

미리 보기 자격 조건

컨테이너 복사 작업은 다음 기능을 사용하도록 설정된 계정에서는 작동하지 않습니다. 컨테이너 복사 작업을 실행하기 전에 다음 기능을 사용하지 않도록 설정합니다.

계정 구성

TTL(Time to Live) 설정은 대상 컨테이너에서 조정되지 않습니다. 따라서 원본 컨테이너에서 문서가 만료되지 않은 경우 대상 컨테이너에서 카운트다운을 새로 시작합니다.

FAQ

컨테이너 복사 작업에 대한 서비스 수준 계약이 있나요?

컨테이너 복사 작업은 현재 최선을 다해 지원됩니다. 작업이 완료되는 데 걸리는 시간에 대해서는 SLA(서비스 수준 계약)를 보장하지 않습니다.

계정 내에서 여러 컨테이너 복사 작업을 만들 수 있나요?

예, 동일한 계정 내에서 여러 작업을 만들 수 있습니다. 작업은 연속적으로 실행됩니다. 계정 내에서 만든 모든 작업을 나열하고 진행 상황을 모니터링할 수 있습니다.

Azure Cosmos DB 계정 내에서 전체 데이터베이스를 복사할 수 있나요?

데이터베이스의 각 컨테이너에 대한 작업을 만들어야 합니다.

여러 지역이 있는 Azure Cosmos DB 계정이 있습니다. 컨테이너 복사 작업은 어느 지역에서 실행되나요?

컨테이너 복사 작업은 쓰기 지역에서 실행됩니다. 다중 지역 쓰기로 구성된 계정에서 작업은 쓰기 지역 목록에 있는 지역 중 하나에서 실행됩니다.

계정의 쓰기 지역이 변경되면 컨테이너 복사 작업은 어떻게 되나요?

계정의 쓰기 지역은 드문 시나리오인 지역 중단 또는 수동 장애 조치(failover)로 인해 변경될 수 있습니다. 이 시나리오에서는 계정 내에서 만든 불완전한 컨테이너 복사 작업이 실패합니다. 이러한 실패한 작업은 다시 만들어야 합니다. 그러면 다시 만든 작업이 새(현재) 쓰기 지역에서 실행됩니다.

지원되는 지역

현재 컨테이너 복사는 다음 지역에서 지원됩니다.

아메리카 유럽 및 아프리카 아시아 태평양
브라질 남부 프랑스 중부 오스트레일리아 중부
캐나다 중부 프랑스 남부 오스트레일리아 중부 2
캐나다 동부 독일 북부 오스트레일리아 동부
미국 중부 독일 중서부 인도 중부
미국 중부 EUAP 북유럽 일본 동부
미국 동부 노르웨이 동부 한국 중부
미국 동부 2 노르웨이 서부 동남 아시아
미국 동부 2 EUAP 스위스 북부 아랍에미리트 중부
미국 중북부 스위스 서부 인도 서부
미국 중남부 영국 남부 동아시아
미국 중서부 영국 서부 말레이시아 남부
미국 서부 서유럽 일본 서부
미국 서부 2 이스라엘 중부 오스트레일리아 남동부
지원되지 않음 남아프리카 공화국 북부 지원되지 않음

알려진 일반적인 문제

  • 오류 - 소유자 리소스가 없습니다.

    작업 만들기가 실패하고 소유자 리소스가 존재하지 않음(오류 코드 404) 오류가 표시되는 경우 대상 컨테이너가 아직 만들어지지 않았거나 작업을 만드는 데 사용된 컨테이너 이름이 실제 컨테이너 이름과 일치하지 않는 것입니다.

    개요에 지정된 대로 작업을 실행하기 전에 대상 컨테이너가 만들어졌는지 확인하고 작업의 컨테이너 이름이 실제 컨테이너 이름과 일치하는지 확인합니다.

    "code": "404",
    "message": "Response status code does not indicate success: NotFound (404); Substatus: 1003; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: (Message: {\"Errors\":[\"Owner resource does not exist\"]
    
  • 오류 - 요청이 승인되지 않았습니다.

    요청이 실패하고 승인되지 않음(오류 코드 401) 오류가 표시되면 로컬 권한 부여가 비활성화될 수 있습니다. 로컬 권한 부여를 사용하도록 설정하는 방법을 알아봅니다.

    컨테이너 복사 작업은 기본 키를 사용하여 인증합니다. 로컬 권한 부여를 사용하지 않도록 설정하면 작업 만들기가 실패합니다. 컨테이너 복사 작업이 작동하려면 로컬 권한 부여를 사용하도록 설정해야 합니다.

    "code": "401",
    "message": " Response status code does not indicate success: Unauthorized (401); Substatus: 5202; ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx; Reason: Local Authorization is disabled. Use an AAD token to authorize all requests."
    
  • 오류 - 작업에 대한 리소스를 가져오는 동안 오류가 발생했습니다.

    이 오류는 내부 서버 문제로 인해 발생할 수 있습니다. 이 문제를 해결하려면 Azure Portal에서 새 지원 요청을 열어 Microsoft 지원에 문의하세요. 문제 유형에서 데이터 마이그레이션을 선택합니다. 문제 하위 유형에서 계정 내 컨테이너 복사를 선택합니다.

    "code": "500"
    "message": "Error while getting resources for job, StatusCode: 500, SubStatusCode: 0, OperationId:  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, ActivityId: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    

다음 단계