다음을 통해 공유


Microsoft Purview 재해 복구 및 마이그레이션 모범 사례

이 문서에서는 organization 프로덕션 배포에 Microsoft Purview 통합 거버넌스 솔루션이 있는 경우 백업 및 복구 전략에 대한 지침을 제공합니다. 이 일반 지침을 사용하여 계정 마이그레이션을 구현할 수도 있습니다. 이 문서의 scope API를 사용하여 자동화할 수 있는 수동 BCDR 메서드를 다루는 것입니다.

Azure 데이터 센터 중단은 드물지만 몇 분에서 몇 시간까지 지속될 수 있습니다. 데이터 센터 중단으로 인해 데이터 거버넌스에 의존하는 환경이 중단될 수 있습니다. 이 문서에 자세히 설명된 단계에 따라 Microsoft Purview 계정의 주 지역에 대한 데이터 센터 중단이 발생할 경우 데이터를 계속 제어할 수 있습니다.

Microsoft Purview의 안정성에 대한 자세한 내용은 안정성 설명서를 참조하세요.

Microsoft Purview의 비즈니스 연속성 달성

Microsoft Purview instance BCDR(비즈니스 연속성 및 재해 복구)은 비즈니스가 데이터 손실을 보호하고 특히 검사, 카탈로그 및 인사이트 계층과 관련하여 중단된 상황에서 계속 작동할 수 있도록 하는 메커니즘, 정책 및 절차를 나타냅니다. 이 페이지에서는 Microsoft Purview에 대한 재해 복구 환경을 구성하는 방법을 설명합니다.

현재 Microsoft Purview는 자동화된 BCDR을 지원하지 않습니다. 해당 지원이 추가될 때까지 백업 및 복원 활동을 처리해야 합니다. 다른 지역에서는 보조 Microsoft Purview 계정을 웜 대기 instance 수동으로 만들 수 있습니다.

다음 단계에서는 재해 복구를 수동으로 수행할 수 있는 방법을 요약합니다.

  1. 기본 Microsoft Purview 계정이 만들어지면 별도의 지역에 하나 이상의 보조 Microsoft Purview 계정을 만듭니다.

    중요

    Microsoft Purview는 현재 테넌트당 단일 Microsoft Purview instance 지원합니다. 백업 및 재해 복구를 위한 두 번째 계정을 만들려면 지원에 문의하세요.

  2. 기본 Microsoft Purview 계정에서 수행되는 모든 활동은 보조 Microsoft Purview 계정에서도 수행해야 합니다. 여기에는 다음이 포함됩니다.

    • 계정 정보 유지 관리
    • 사용자 지정 검사 규칙 집합, 분류 및 분류 규칙 만들기 및 유지 관리
    • 원본 등록 및 검사
    • 원본과 컬렉션의 연결과 함께 컬렉션 만들기 및 유지 관리
    • 검사하는 동안 사용되는 자격 증명 만들기 및 유지 관리
    • 데이터 자산 큐레이팅
    • 용어집 용어 만들기 및 유지 관리

재해 복구 계정을 만들고 유지 관리하는 특정 단계는 문서의 뒷부분에 나와 있습니다. 이를 따르기 전에 제한 사항 및 고려 사항을 읽어보세요.

제한 사항 및 고려 사항

수동 BCDR 계획을 만들 때 다음 사항에 유의하세요.

  • 기본 및 보조 Microsoft Purview 인스턴스에 대한 요금이 청구됩니다.

  • 기본 및 보조 Microsoft Purview 계정은 해당하는 경우 동일한 Azure Data Factory, Azure Data Share 및 Synapse Analytics 계정으로 구성할 수 없습니다. 따라서 보조 Microsoft Purview 계정에서는 Azure Data Factory 및 Azure Data Share 계보를 볼 수 없습니다. 이 제한 사항은 자동화된 BCDR이 지원될 때 해결됩니다.

  • 통합 런타임은 Microsoft Purview 계정과 관련이 있습니다. 따라서 검사를 주 및 보조 Microsoft Purview 계정에서 병렬로 실행해야 하며, 여러 자체 호스팅 통합 런타임을 유지 관리해야 합니다. 이 제한 사항은 자동화된 BCDR이 지원되는 경우에도 해결됩니다.

  • 동일한 원본에서 기본 및 보조 Microsoft Purview 계정 모두에서 검사를 병렬로 실행하면 원본의 성능에 영향을 줄 수 있습니다. 이렇게 하면 검사 기간이 Microsoft Purview 계정에 따라 달라질 수 있습니다.

  • "검사된" 자산의 세부 정보를 백업하는 것은 바람직하지 않습니다. 자산에 대한 분류 및 용어집 매핑과 같은 큐레이팅된 데이터만 백업해야 합니다. 자산의 세부 정보를 백업해야 하는 유일한 경우는 사용자 지정 typeDef을 통해 사용자 지정 자산이 있는 경우입니다.

  • 백업된 자산 수는 100,000개 미만이어야 합니다. 기본 드라이버는 반환된 100,000개의 자산에 대한 제한이 있는 자산을 가져오기 위해 검색 쿼리 API를 사용해야 한다는 것입니다. 그러나 검색 쿼리를 분할하여 API 호출당 더 적은 수의 자산을 가져올 수 있는 경우 100,000개 이상의 자산을 백업할 수 있습니다.

  • 두 계정 간에 자산을 지속적으로 "동기화"하려면 이 문서에서 자세히 다루지 않는 다른 단계가 있습니다. Microsoft Purview의 Event Hubs를 사용하여 다른 계정에 엔터티를 구독하고 만들어야 합니다. 그러나 Event Hubs에는 Atlas 정보만 있습니다. Microsoft Purview는 Event Hubs를 통해 사용할 수 없는 용어집 및 연락처와 같은 다른 기능을 추가했습니다.

비즈니스 연속성을 달성하기 위한 단계

새 계정 만들기

나중에 변경할 수 없는 구성 항목을 계획합니다.

  • 계정 이름
  • 지역
  • 구독
  • 리소스 그룹 이름 관리

구성 항목 마이그레이션

아래 단계에서는 프로그래밍 방식으로 백업 계정을 빠르게 설정할 수 있도록 Microsoft Purview API 설명서를 참조합니다.

작업 설명
계정 정보 루트 수준에서 계정에 대한 관리자 및/또는 서비스 주체에 대한 액세스 권한을 부여하여 계정 정보를 유지 관리합니다.
컬렉션 컬렉션과 원본의 연결과 함께 컬렉션을 만들고 유지 관리합니다. 목록 컬렉션 API를 호출한 다음 컬렉션 API 가져오기를 통해 각 컬렉션의 특정 세부 정보를 가져올 수 있습니다.
검사 규칙 집합 사용자 지정 검사 규칙 집합을 만들고 유지 관리합니다. 목록 사용자 지정 검사 규칙 집합 API를 호출하고 검사 규칙 집합 가져오기 API를 호출하여 세부 정보를 가져와야 합니다.
수동 분류 분류 가져오기 API를 호출하여 모든 수동 분류 목록을 얻고 각 분류에 대한 세부 정보를 가져옵니다.
리소스 집합 규칙 리소스 집합 규칙을 만들고 유지 관리합니다. 리소스 집합 규칙 가져오기 API를 호출하여 규칙 세부 정보를 가져올 수 있습니다.
데이터 원본 모든 데이터 원본 가져오기 API를 호출하여 데이터 원본을 세부 정보로 나열합니다. 또한 트리거 가져오기 API를 호출하여 트리거를 가져와야 합니다. 새 계정에서 원본을 대량으로 다시 만들어야 하는 경우 데이터 원본 만들기 API 도 있습니다.
자격 증명 검사하는 동안 사용되는 자격 증명을 만들고 유지 관리합니다. 자격 증명을 추출할 API가 없으므로 새 계정에서 다시 실행해야 합니다.
SHIR(자체 호스팅 통합 런타임) SHIR 목록을 가져와 새 계정에서 업데이트된 키를 다운로드한 다음, SHIR을 업데이트합니다. 이 작업은 SHIR의 호스트 내에서 수동으로 수행해야 합니다. 검사를 만들기 전에 실행해야 합니다.
ADF 연결 현재 ADF는 한 번에 하나의 Microsoft Purview에 연결할 수 있습니다. 실패한 Microsoft Purview 계정에서 ADF의 연결을 끊고 나중에 새 계정에 다시 연결해야 합니다.

검사 실행

중요

자체 호스팅 통합 런타임이 구성되었고 검사를 만들기 전에 실행 중이고 사용할 수 있는지 확인합니다.

그러면 모든 자산이 기본 typedef으로 채워집니다. 검사를 다시 실행해야 하는 이유와 기존 자산을 내보내고 새 계정으로 가져오는 데는 몇 가지 이유가 있습니다.

  • 자산을 내보내기 위해 검색 쿼리에서 반환되는 자산은 100,000개로 제한됩니다.

  • 관계가 있는 자산을 내보내는 것은 번거롭습니다.

  • 검사를 다시 실행하면 모든 관계 및 자산 세부 정보를 최신 상태로 얻을 수 있습니다.

  • Microsoft Purview는 새 검사를 실행할 때 다른 기능을 활용할 수 있도록 정기적으로 새로운 기능을 제공합니다.

검사를 실행하는 것은 Microsoft Purview가 이미 지원하는 데이터 원본의 모든 자산을 가져오는 가장 효과적인 방법입니다.

사용자 지정 typedefs 및 사용자 지정 자산 마이그레이션

organization Microsoft Purview에서 사용자 지정 형식을 만든 경우 수동으로 마이그레이션해야 합니다.

사용자 지정 typedefs

모든 사용자 지정 typedef를 식별하려면 모든 형식 정의 가져오기 API를 사용할 수 있습니다. 그러면 각 형식이 반환됩니다. 다음과 같은 형식으로 사용자 지정 형식을 식별해야 합니다. "serviceType": "<custom_typedef>"

사용자 지정 자산

사용자 지정 자산을 내보내려면 해당 사용자 지정 자산을 검색하고 검색 API를 통해 적절한 사용자 지정 typedef 을 전달할 수 있습니다.

참고

검색 결과당 반환 제한은 100,000입니다. 100,000개 이상의 레코드를 반환하지 않도록 검색 쿼리를 중단해야 할 수 있습니다.

검색 쿼리를 scope 자산의 하위 집합을 가져오는 방법에는 여러 가지가 있습니다.

  • 사용 Keyword: 과 같은 부모 FQN 전달 Keyword: "<Parent String>/*"
  • 사용Filter: 와 같은 검색에 특정 사용자 지정 typedef 에 포함 assetType"assetType": "<custom_typedef>"

다음은 특정 스토리지 계정(exampleaccount)의 자산만 반환되도록 을 사용자 지정하여 keywords 검색 페이로드의 예입니다.

{
  "keywords": "adl://exampleaccount.azuredatalakestore.net/*",
  "filter": {
    "and": [
      {
        "not": {
          "or": [
            {
              "attributeName": "size",
              "operator": "eq",
              "attributeValue": 0
            },
            {
              "attributeName": "fileSize",
              "operator": "eq",
              "attributeValue": 0
            }
          ]
        }
      },
      {
        "not": {
          "classification": "MICROSOFT.SYSTEM.TEMP_FILE"
        }
      },
      {
        "not": {
          "or": [
            {
              "entityType": "AtlasGlossaryTerm"
            },
            {
              "entityType": "AtlasGlossary"
            }
          ]
        }
      }
    ]
  },
  "limit": 10,
  "offset": 0,
  "facets": [
    {
      "facet": "assetType",
      "count": 0,
      "sort": {
        "count": "desc"
      }
    },
    {
      "facet": "classification",
      "count": 10,
      "sort": {
        "count": "desc"
      }
    },
    {
      "facet": "contactId",
      "count": 10,
      "sort": {
        "count": "desc"
      }
    },
    {
      "facet": "label",
      "count": 10,
      "sort": {
        "count": "desc"
      }
    },
    {
      "facet": "term",
      "count": 10,
      "sort": {
        "count": "desc"
      }
    }
  ]
}

반환된 자산에는 세부 정보를 추출할 수 있는 몇 가지 키/쌍 값이 있습니다.

{
    "referredEntities": {},
    "entity": {
    "typeName": "column",
    "attributes": {
        "owner": null,
        "qualifiedName": "adl://exampleaccount.azuredatalakestore.net/123/1/DP_TFS/CBT/Extensions/DTTP.targets#:xml/Project/Target/XmlPeek/@XmlInputPath",
        "name": "~XmlInputPath",
        "description": null,
        "type": "string"
    },
    "guid": "5cf8a9e5-c9fd-abe0-2e8c-d40024263dcb",
    "status": "ACTIVE",
    "createdBy": "ExampleCreator",
    "updatedBy": "ExampleUpdator",
    "createTime": 1553072455110,
    "updateTime": 1553072455110,
    "version": 0,
    "relationshipAttributes": {
        "schema": [],
        "inputToProcesses": [],
        "composeSchema": {
        "guid": "cc6652ae-dc6d-90c9-1899-252eabc0e929",
        "typeName": "tabular_schema",
        "displayText": "tabular_schema",
        "relationshipGuid": "5a4510d4-57d0-467c-888f-4b61df42702b",
        "relationshipStatus": "ACTIVE",
        "relationshipAttributes": {
            "typeName": "tabular_schema_columns"
        }
        },
        "meanings": [],
        "outputFromProcesses": [],
        "tabular_schema": null
    },
    "classifications": [
        {
        "typeName": "MICROSOFT.PERSONAL.EMAIL",
        "lastModifiedTS": "1",
        "entityGuid": "f6095442-f289-44cf-ae56-47f6f6f6000c",
        "entityStatus": "ACTIVE"
        }
    ],
    "contacts": {
        "Expert": [
        {
            "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df",
            "info": "Example Expert Info"
        }
        ],
        "Owner": [
        {
            "id": "30435ff9-9b96-44af-a5a9-e05c8b1ae2df",
            "info": "Example Owner Info"
        }
        ]
    }
    }
}

참고

출력에서도 typedef 템플릿이라는 용어를 마이그레이션해야 합니다.

사용자 지정 엔터티를 다시 만들 때 API로 보내기 전에 페이로드를 준비해야 할 수 있습니다.

참고

초기 목표는 관계 또는 매핑 없이 모든 엔터티를 마이그레이션하는 것입니다. 이렇게 하면 잠재적인 오류가 방지됩니다.

  • 모든 timestamp 값은 , 및 updateTimelastModifiedTS와 같은 updateTimenull이어야 합니다.

  • guid 이전과 정확하게 다시 생성될 수 없으므로 오류를 방지하려면 "-5000"과 같은 음수 정수로 전달해야 합니다.

  • relationshipAttributes 콘텐츠는 가 동일하지 않거나 아직 만들어지지 않았을 수 guids 있으므로 오류를 방지하기 위해 페이로드의 일부가 되어서는 안 됩니다. 페이로드를 제출하기 전에 빈 배열로 전환 relationshipAttributes 해야 합니다.

    • meanings 에는 엔터티를 만든 후 대량으로 업데이트되는 모든 용어집 매핑이 포함됩니다.
  • 마찬가지로 나중에 classifications 다른 API를 사용하여 대량 엔터티에 대한 분류 매핑을 만들어야 하므로 엔터티를 만들기 위해 페이로드를 제출할 때도 빈 배열이어야 합니다.

관계 마이그레이션

자산 마이그레이션을 완료하려면 관계를 다시 매핑해야 합니다. 다음 세 가지 작업이 있습니다.

  1. 관계 API를 호출하여 엔터티 간 관계 정보를 가져옵니다.guid

  2. 이전 Microsoft Purview 계정에서 이전 guids 항목에 대한 하드 참조가 없도록 관계 페이로드를 준비합니다. 새 guids 계정의 guids로 업데이트해야 합니다.

  3. 마지막으로 엔터티 간에 새 관계를 만듭니다.

용어집 용어 마이그레이션

참고

용어를 마이그레이션하기 전에 템플릿이라는 용어를 마이그레이션해야 합니다. 이 단계는 사용자 지정 typedef 마이그레이션에서 이미 다루어야 합니다.

Microsoft Purview 거버넌스 포털 사용

용어집 용어를 마이그레이션하는 가장 빠른 방법은 용어를 .csv 파일로 내보내는 것입니다. Microsoft Purview 거버넌스 포털을 사용하여 이 작업을 수행할 수 있습니다.

Microsoft Purview API 사용

용어집 마이그레이션을 자동화하려면 먼저 용어집 나열 API를 통해 용어 guid 집(glossaryGuid)을 가져와야 합니다. 은 glossaryGuid 최상위/루트 수준 용어집 입니다 guid.

아래 샘플 응답은 후속 API 호출에 사용할 를 제공합니다 guid .

"guid": "c018ddaf-7c21-4b37-a838-dae5f110c3d8"

glossaryGuid있으면 다음 두 단계를 통해 용어를 마이그레이션할 수 있습니다.

  1. 용어집 용어를 .csv내보내기

  2. .csv통해 용어집 용어 가져오기

자산에 분류 할당

참고

이 단계의 필수 구성 요소는 구성 항목 마이그레이션 단계에서 새 계정에서 모든 분류를 사용할 수 있도록 하는 것입니다.

자산에 대한 분류 할당을 얻으려면 검색 API 를 호출해야 합니다. 이는 모든 자산에 적용됩니다. 사용자 지정 자산을 마이그레이션한 경우 분류 할당에 대한 정보는 속성에서 classifications 이미 사용할 수 있습니다. 분류를 가져오는 또 다른 방법은 이전 계정의 분류를 guid나열하는 것입니다.

자산에 분류를 할당하려면 API 를 통해 여러 엔터티에 분류를 대량으로 연결 해야 합니다.

자산에 연락처 할당

이전 단계에서 자산 정보를 추출한 경우 검색 API에서 연락처 세부 정보를 사용할 수 있습니다.

자산에 연락처를 할당하려면 모든 objectid 연락처의 guids 목록과 식별이 필요합니다. 엔 터티 만들기 또는 업데이트 API를 사용하여 모든 자산을 반복하고 모든 자산에 연락처를 다시 할당하여 이 프로세스를 자동화할 수 있습니다.