다음을 통해 공유


정기적 백업 모드에서 지속적인 백업 모드로 Azure Cosmos DB 계정 마이그레이션

적용 대상: NoSQL MongoDB Gremlin 테이블

정기적 모드 백업 정책을 사용하는 Azure Cosmos DB 계정은 Azure Portal, CLI, PowerShell 또는 Resource Manager 템플릿을 사용하여 지속적인 모드로 마이그레이션할 수 있습니다. 정기적 모드에서 지속적인 모드로의 마이그레이션은 단방향 마이그레이션이며 되돌릴 수 없습니다. 정기적 백업 모드에서 지속적인 백업 모드로 마이그레이션한 후에는 지속적인 모드의 이점을 적용할 수 있습니다.

지속적인 모드로 마이그레이션하는 주요 이유는 다음과 같습니다.

  • Azure Portal, CLI 또는 PowerShell을 사용하여 셀프 서비스 복원을 수행할 수 있습니다.
  • 지난 30일 도는 7일 기간 내에 초 단위로 복원할 수 있습니다.
  • 백업이 일정 기간 내에 분할된 데이터베이스 또는 파티션 키 범위에서 일관되는지 확인할 수 있습니다.
  • 컨테이너, 데이터베이스 또는 전체 계정이 삭제되거나 수정된 경우 복원할 수 있습니다.
  • 컨테이너, 데이터베이스 또는 계정에 대한 이벤트를 선택하고 복원의 시작 시기를 결정할 수 있습니다.

참고 항목

마이그레이션 기능은 단방향이며 되돌릴 수 없는 동작입니다. 즉, 정기적 모드에서 지속적인 모드로 마이그레이션한 후에는 정기적 모드로 다시 전환할 수 없습니다.

다음 조건에 해당되는 경우에만 계정을 지속적인 백업 모드로 마이그레이션할 수 있습니다. 또한 계정을 마이그레이션하기 전에 특정 시점 복원 제한을 확인합니다.

  • 계정이 API for NoSQL, API for Table, Gremlin 또는 API for MongoDB 형식인 경우
  • 계정에 단일 쓰기 지역이 있는 경우
  • 계정에 컨테이너에 대해 Synapse Link를 사용하지 않도록 설정한 적이 없는 경우

계정이 고객 관리형 키를 사용하는 경우 관리 ID(시스템 할당 또는 사용자 할당)는 Key Vault 액세스 정책에서 선언되어야 하며 계정의 기본 ID로 설정되어야 합니다.

사용 권한

마이그레이션을 수행하려면 마이그레이션되는 계정에 대한 Microsoft.DocumentDB/databaseAccounts/write 권한이 필요합니다.

마이그레이션 후 가격 책정

계정을 지속적인 백업 모드로 마이그레이션한 후에는 정기적 백업 모드와 비교했을 때 비용이 변경될 수 있습니다. 30일과 7일의 계층 선택도 백업 비용에 영향을 줍니다. 자세히 알아보려면 지속적인 백업 모드 가격 책정을 참조하세요.

포털을 사용하여 마이그레이션

다음 단계를 사용하여 정기적 백업에서 지속적인 백업 모드로 계정을 마이그레이션합니다.

  1. Azure Portal에 로그인합니다.

  2. Azure Cosmos DB 계정으로 이동하여 백업 및 복원 창을 엽니다. 백업 정책 탭을 선택하고 변경 시 선택합니다. 대상 연속 모드를 선택했으면 저장을 선택합니다.

    Azure Portal을 사용하여 지속적인 모드로 마이그레이션

  3. 마이그레이션이 진행 중이면 팝업에 백업 정책 설정 업데이트가 표시됩니다. 해당 알림을 선택하면 계정 수준에서 업데이트되고 계정 개요에서 백업 정책을 위한 마이그레이션이 표시될 수 있습니다. 완료되면 백업 정책이 선택한 연속 모드 계층으로 전환됩니다. 마이그레이션 시간은 계정에 있는 데이터의 크기에 따라 달라집니다.

    Azure Portal에서 마이그레이션 상태 확인

Powershell을 사용하여 마이그레이션

  1. 최신 버전의 Azure PowerShell 또는 6.2.0 이상 버전을 설치합니다.

  2. 프로비저닝 또는 마이그레이션에 Continous7Days 모드를 사용하려면 cosmosdb 확장의 미리 보기를 사용해야 합니다. Install-Module -Name Az.CosmosDB -AllowPrerelease 사용

  3. 그런 후 다음 단계를 실행합니다.

    1. Azure 계정에 연결합니다.

      Connect-AzAccount
      
    2. continuous30days 계층 또는 continuous7days일의 정기적 백업 모드에서 지속적인 백업 모드로 계정을 마이그레이션합니다. 계층 값이 제공되지 않으면 continuous30days로 간주됩니다.

      Update-AzCosmosDBAccount ` 
         -ResourceGroupName "myrg" ` 
         -Name "myAccount" `
         -BackupPolicyType "Continuous"
      
         Update-AzCosmosDBAccount ` 
         -ResourceGroupName "myrg" ` 
         -Name "myAccount" `
         -BackupPolicyType "Continuous" `
         -ContinuousTier "Continuous7Days"
      

CLI를 사용하여 마이그레이션

  1. 최신 버전의 Azure CLI를 설치합니다.
  • Azure CLI를 아직 설치하지 않은 경우 Azure CLI 설치를 참조하세요. 또는 Azure Portal에서 Azure Cloud Shell을 사용할 수도 있습니다.
  1. Azure 계정에 로그인하고 다음 명령을 실행하여 계정을 지속적인 모드로 마이그레이션합니다.

    az login
    
  2. 계정을 continuous30days 또는 continuous7days 계층으로 마이그레이션합니다. 계층 값이 제공되지 않으면 continuous30days로 간주됩니다.

    az cosmosdb update -n <myaccount> -g <myresourcegroup> --backup-policy-type continuous
    
    az cosmosdb update -g "my-rg" -n "my-continuous-backup-account" --backup-policy-type "Continuous" --continuous-tier "Continuous7Days"
    
  3. 마이그레이션이 성공적으로 완료되면 출력에 Continuous 값이 있는 type 속성이 포함된 backupPolicy 개체가 표시됩니다.

     {
       "apiProperties": null,
       "backupPolicy": {
            "continuousModeProperties": {
                    "tier": "Continuous7Days"
            },
            "migrationState": null,
            "type": "Continuous"
       },
          …
     }
    

마이그레이션 상태 확인

다음 명령을 실행하고 backupPolicy 개체의 statustargetType 속성을 확인합니다. 마이그레이션이 시작된 후 상태가 진행 중으로 표시됩니다.

az cosmosdb show -n "myAccount" -g "myrg"

PowerShell 명령을 사용하여 마이그레이션 상태 확인

마이그레이션이 완료되면 백업 유형이 연속으로 변경되고 선택한 계층이 표시됩니다. 계층이 제공되지 않은 경우 계층은 Continuous30Days로 설정됩니다. 동일한 명령을 다시 실행하여 상태를 확인합니다.

az cosmosdb show -n "myAccount" -g "myrg"

마이그레이션이 완료된 후 백업 유형이 연속으로 변경됨

Resource Manager 템플릿을 사용하여 주기적 모드에서 연속 모드로 마이그레이션

ARM 템플릿을 사용하여 지속적인 백업 모드로 마이그레이션하려면 템플릿의 backupPolicy 섹션을 찾아 type 속성을 업데이트합니다. 예를 들어 기존 템플릿에 다음 JSON 개체와 같은 백업 정책이 있는 경우

"backupPolicy": {
   "type": "Periodic",
   "periodicModeProperties": {
   "backupIntervalInMinutes": 240,
   "backupRetentionIntervalInHours": 8
   }
}

다음 JSON 개체로 바꿉니다.

"backupPolicy": { 
   "type": "Continuous", 
   "continuousModeProperties": { 
      "tier": "Continuous7Days" 
    } 
} 

다음으로 Azure PowerShell 또는 CLI를 사용하여 템플릿을 배포합니다. 다음 예제에서는 CLI 명령을 사용하여 템플릿을 배포하는 방법을 보여줍니다.

az deployment group create -g <ResourceGroup> --template-file <ProvisionTemplateFilePath>

연속 모드 계층 변경

Azure PowerShell, Azure CLI 또는 Azure Portal에서 Continuous30DaysContinous7Days 간에 전환할 수 있습니다.

지정된 Azure Cosmos DB 계정에 대한 포털에서 특정 시점 복원 창을 선택하고 백업 정책 모드 옆에 있는 변경 링크를 선택하여 연속(30일) 또는 연속(7일) 옵션을 표시합니다. 필요한 대상을 선택하고 저장을 선택합니다.

연속 모드의 계층을 선택하는 대화 상자의 스크린샷.

다음 Azure CLI 명령은 기존 계정을 Continous7Days로 전환하는 방법을 보여 줍니다.

az cosmosdb update \ 
    --resource-group "my-rg" \ 
    --name "my-continuous-backup-account" \ 
    --backup-policy-type "Continuous" \ 
    --continuous-tier "Continuous7Days" 

다음 Azure PowerShell 명령은 기존 계정을 Continous7Days로 전환하는 방법을 보여 줍니다.

Update-AzCosmosDBAccount ` 
    -ResourceGroupName "myrg" ` 
    -Name "myAccount" `
    -BackupPolicyType Continuous `
    -ContinuousTier Continuous7Days

Azure CLI 및 Azure PowerShell을 사용하는 것과 유사한 방법으로 ARM 템플릿을 사용할 수도 있습니다.

참고 항목

30일에서 7일 계층으로 변경하는 경우 기록에서 7일을 초과하여 복원하는 기능은 즉시 사용할 수 없습니다. 7일에서 30일 계층으로 변경하는 경우 즉시 7일을 초과하여 복원할 수 없습니다. 가장 빠른 복원 시간은 Azure Powershell 또는 Azure CLI를 통해 사용할 수 있는 계정 메타데이터에서 추출할 수 있습니다. 7~30일 계층 간의 전환에 따른 가격 영향도 즉시 표시됩니다.

마이그레이션 도중 및 후에는 어떻게 되나요?

정기적 모드에서 지속적인 모드로 마이그레이션하는 경우 계정 수준 업데이트 또는 삭제를 수행하는 컨트롤 플레인 작업을 실행할 수 없습니다. 예를 들어, 마이그레이션을 진행하는 동안에는 지역 추가 또는 제거, 계정 장애 조치(failover), 백업 정책 업데이트 등의 작업을 실행할 수 없습니다. 마이그레이션 시간은 계정에 있는 데이터의 크기 및 지역 수에 따라 달라집니다. 마이그레이션된 계정에 대한 복원 작업은 마이그레이션이 성공적으로 완료된 이후부터만 성공합니다.

마이그레이션이 완료된 후 계정을 복원할 수 있습니다. 마이그레이션이 오후 1시(PST)에 완료되는 경우 오후 1시(PST)부터 지정 시간 복원을 수행할 수 있습니다.

자주 묻는 질문

마이그레이션은 계정 수준에서만 발생하나요?

예.

어떤 계정이 백업 마이그레이션의 대상이 될 수 있나요?

현재는 공유, 프로비전 또는 자동 스케일링 프로비전된 처리량이 있는 단일 쓰기 지역의 API for NoSQL, API for Table, Gremlin API 및 API for MongoDB 계정이 마이그레이션을 지원합니다.

다중 쓰기 영역이 사용하도록 설정된 계정은 마이그레이션이 지원되지 않습니다.

현재 하나 이상의 컬렉션에 대해 Synapse Link를 사용하지 않도록 설정된 Synapse Link가 설정된 계정은 지속적인 백업으로 마이그레이션할 수 없습니다.

마이그레이션에 시간이 걸리나요? 일반적인 시간은 언제인가요?

마이그레이션에는 데이터 크기와 계정의 지역 수에 따라 크게 달라지는 다양한 시간이 소요됩니다. Azure CLI 또는 PowerShell 명령을 사용하여 마이그레이션 상태를 가져올 수 있습니다. 수십 테라바이트 데이터가 있는 대규모 계정의 경우 마이그레이션을 완료하는 데 며칠까지 걸릴 수 있습니다.

마이그레이션이 가용성 영향/가동 중지 시간을 유발하나요?

아니요, 마이그레이션 작업은 백그라운드에서 수행됩니다. 따라서 클라이언트 요청은 영향을 받지 않습니다. 그러나 마이그레이션하는 동안 몇 가지 백 엔드 작업을 수행해야 하며 계정에 부하가 많은 경우에는 추가 시간이 소요될 수 있습니다.

마이그레이션이 실패하면 어떻게 되나요? 정기적 백업 또는 지속적인 백업 중에서 어떤 백업이 진행되나요?

마이그레이션 프로세스가 시작되면 계정이 연속 모드에서 활성화됩니다. 마이그레이션이 실패하면 성공할 때까지 마이그레이션을 다시 시작해야 합니다.

마이그레이션 전/도중/이후의 타임스탬프로 복원하려면 어떻게 하나요?

t1에서 마이그레이션을 시작하고 t5에서 완료했다고 가정하면 t1t5 사이의 복원 타임스탬프를 사용할 수 없습니다.

또한 계정이 현재 연속 모드에 있다고 가정합니다. t5 이후의 시간으로 복원하려면 일반적으로 연속 계정으로 Azure Portal, CLI 또는 PowerShell을 사용하여 복원을 수행합니다. 이 셀프 서비스 복원 요청은 마이그레이션이 완료된 후에만 수행할 수 있습니다.

t1 이전 시간으로 복원하려면 일반적으로 정기적 백업 계정으로 지원 티켓을 열 수 있습니다. 마이그레이션 후 주기적 복원을 수행하는 데 최대 30일의 여유 기간이 있습니다. 이러한 30일 동안에는 마이그레이션 전에 계정의 백업 보존/간격에 따라 복원할 수 있습니다. 예를 들어 백업이 1시간 간격으로 24개의 복사본을 유지하도록 구성된 경우 (t1 – 24 hours)t1 사이에 언제든지 복원할 수 있습니다.

마이그레이션하는 동안 차단되는 계정 수준 컨트롤 플레인 작업은 무엇인가요?

지역 추가/제거, 장애 조치(failover), 백업 정책 변경 및 처리량 변경으로 인한 데이터 이동 등의 작업은 마이그레이션하는 동안 차단됩니다.

기본적인 일부 문제로 인해 마이그레이션이 실패하는 경우 다시 시도한 후 성공적으로 완료될 때까지 컨트롤 플레인 작업이 계속 차단되나요?

실패한 마이그레이션은 컨트롤 플레인 작업을 차단하지 않습니다. 마이그레이션이 실패하면 다른 컨트롤 플레인 작업을 수행하기 전에 성공할 때까지 다시 시도하는 것이 좋습니다.

마이그레이션을 취소할 수 있나요?

마이그레이션은 되돌릴 수 있는 작업이 아니므로 마이그레이션을 취소할 수 없습니다.

데이터 사용량 및 지역 수를 기준으로 마이그레이션 시간을 예측하는 데 도움이 되는 도구가 있나요?

시간을 예측하는 도구는 없습니다. 테스트 및 스케일링 실행은 데이터가 1TB인 단일 지역 계정에는 약 90분이 소요됨을 나타냅니다.

다중 지역 계정의 경우 총 데이터 크기를 Number_of_regions * Data_in_single_region으로 계산합니다.

이제 지속적인 백업 모드가 GA됩니다. 그래도 계정 복사본을 복원하는 것이 권장되나요? 프로덕션 계정을 마이그레이션하기로 결정하기 전에 복사본에서 마이그레이션을 시도하는 것이 권장되나요?

프로덕션 계정을 마이그레이션하기 전에 지속적인 백업 모드 기능을 테스트하여 예상대로 작동하는지 확인하는 것이 좋습니다. 마이그레이션은 단방향 작업이며 되돌릴 수 없습니다.

다음 단계

지속적인 백업 모드에 대해 자세히 알아보려면 다음 문서를 참조하세요.