개체 복제는 원본 스토리지 계정과 대상 계정 간에 블록 Blob을 비동기적으로 복사합니다. 개체 복제를 구성하는 경우 원본 스토리지 계정 및 대상 계정을 지정하는 복제 정책을 만듭니다. 복제 정책에는 원본 컨테이너와 대상 컨테이너를 지정하고 원본 컨테이너에서 복제할 블록 Blob을 나타내는 하나 이상의 규칙이 포함되어 있습니다. 개체 복제에 대한 자세한 내용은 블록 Blob에 대한 개체 복제를 참조하세요.
이 문서에서는 Azure Portal, PowerShell 또는 Azure CLI를 사용하여 개체 복제 정책을 구성하는 방법을 설명합니다. Azure Storage 리소스 공급자 클라이언트 라이브러리 중 하나를 사용하여 개체 복제를 구성할 수도 있습니다.
필수 조건
개체 복제를 구성하기 전에 원본 및 대상 스토리지 계정이 아직 없는 경우 만듭니다. 원본 및 대상 계정은 일반용 v2 스토리지 계정 또는 프리미엄 블록 Blob 계정일 수 있습니다. 자세한 내용은 Azure Storage 계정 만들기를 참조하세요.
개체를 복제하려면 Blob 버전 관리를 원본 및 대상 계정 모두에 사용하도록 설정하고, Blob 변경 피드를 원본 계정에 사용하도록 설정해야 합니다. Blob 버전 관리에 대한 자세한 정보는 Blob 버전 관리를 참조하세요. 변경 피드에 대한 자세한 내용은 Azure Blob Storage의 변경 피드 지원을 참조하세요. 이러한 기능을 사용하도록 설정하면 추가 비용이 발생할 수 있습니다.
스토리지 계정에 대한 개체 복제 정책을 구성하려면 스토리지 계정 수준 이상으로 범위가 지정된 Azure Resource Manager 기여자 역할을 할당받아야 합니다. 자세한 내용은 Azure RBAC(역할 기반 액세스 제어) 설명서의 Azure 기본 제공 역할을 참조하세요.
개체 복제는 계층 구조 네임스페이스가 사용하도록 설정된 계정에서 아직 지원되지 않습니다.
두 스토리지 계정에 모두 액세스할 수 있는 경우의 개체 복제 구성
원본 및 대상 스토리지 계정 모두에 액세스할 수 있는 경우 두 계정 모두에서 개체 복제 정책을 구성할 수 있습니다. 다음 예제에서는 Azure Portal, PowerShell 또는 Azure CLI를 사용하여 개체 복제를 구성하는 방법을 보여 줍니다.
Azure Portal에서 개체 복제를 구성하는 경우 원본 계정에서 정책을 구성해야 합니다. 원본 계정에 대한 정책이 구성되면 Azure Portal에서 대상 계정에 대한 정책을 자동으로 만듭니다.
Azure Portal에서 복제 정책을 만들려면 다음 단계를 수행합니다.
Azure Portal의 원본 스토리지 계정으로 이동합니다.
데이터 관리에서 개체 복제를 선택합니다.
복제 규칙 만들기를 선택합니다.
대상 구독 및 스토리지 계정을 선택합니다.
컨테이너 쌍 세부 정보 섹션에서 원본 계정에서 원본 컨테이너를 선택하고 대상 계정에서 대상 컨테이너를 선택합니다. Azure Portal에서 복제 정책당 최대 10개의 컨테이너 쌍을 만들 수 있습니다. 10개 이상의 컨테이너 쌍(최대 1000개)을 구성하려면 JSON 파일을 사용하여 개체 복제 구성을 참조하세요.
다음 이미지는 일련의 복제 규칙을 보여 줍니다.
원할 경우 접두사 패턴과 일치하는 blob만 복사하도록 하나 이상의 필터를 지정합니다. 예를 들어, b 접두사를 지정하면 해당 문자로 시작하는 이름의 blob만 복제됩니다. 가상 디렉터리를 접두사의 일부로 지정할 수 있습니다. 최대 5개의 접두사 일치 항목을 추가할 수 있습니다. 접두사 문자열은 와일드카드 문자를 지원하지 않습니다.
다음 이미지는 복제 규칙의 일부로 복사할 blob을 제한하는 필터를 보여 줍니다.
기본적으로 복사 범위는 새 개체만 복사하도록 설정됩니다. 컨테이너의 모든 개체를 복사하거나 사용자 지정 날짜 및 시간에 시작된 개체를 복사하려면 변경 링크를 선택하고 컨테이너 쌍의 복사 범위를 구성합니다.
다음 이미지에서는 개체를 지정된 날짜 및 시간 이후부터 복사하는 사용자 지정 복사 범위를 보여 줍니다.
저장 및 적용을 선택하여 복제 정책을 만들고 데이터 복제를 시작합니다.
개체 복제가 구성되면 다음 이미지와 같이 Azure Portal에 복제 정책 및 규칙이 표시됩니다.
az storage account or-policy show \
--resource-group <resource-group> \
--account-name <dest-storage-account> \
--policy-id <policy-id> |
az storage account or-policy create --resource-group <resource-group> \
--account-name <source-storage-account> \
--policy "@-"
JSON 파일을 사용하여 개체 복제 구성
원본 스토리지 계정에 대한 권한이 없거나 10개가 넘는 컨테이너 쌍을 사용하려는 경우 대상 계정에서 개체 복제를 구성하고 정책 정의가 포함된 JSON 파일을 다른 사용자에게 제공하여 원본 계정에서 동일한 정책을 만들 수 있습니다. 예를 들어 원본 계정이 대상 계정과 다른 Microsoft Entra 테넌트에 있는 경우 이 방법을 사용하여 개체 복제를 구성할 수 있습니다.
정책 정의가 포함된 JSON 파일을 작성하는 방법에 대한 자세한 내용은 정책 정의 파일을 참조하세요.
참고 항목
테넌트 간 개체 복제는 기본적으로 스토리지 계정에 대해 허용됩니다. 테넌트 간 복제를 방지하기 위해 AllowCrossTenantReplication 속성을 설정하여 스토리지 계정에 대한 테넌트 간 개체 복제를 허용하지 않도록 설정할 수 있습니다. 자세한 내용은 Microsoft Entra 테넌트 간 개체 복제 방지를 참조하세요.
이 섹션의 예제에서는 대상 계정에서 개체 복제 정책을 구성한 다음, 다른 사용자가 원본 계정에서 정책을 구성하는 데 사용할 수 있는 해당 정책에 대한 JSON 파일을 가져오는 방법을 보여 줍니다.
Azure Portal에서 JSON 파일을 사용하여 대상 계정에 대한 개체 복제를 구성하려면 다음 단계를 수행합니다.
대상 계정에 대한 복제 정책을 정의하는 로컬 JSON 파일을 만듭니다. Azure Storage에서 정책 ID를 정의하도록 policyId 필드를 default로 설정합니다.
복제 정책을 정의하는 JSON 파일을 쉽게 만드는 방법은 먼저 Azure Portal에서 두 스토리지 계정 간의 테스트 복제 정책을 만드는 것입니다. 그런 다음, 복제 규칙을 다운로드하고, 필요에 따라 JSON 파일을 수정할 수 있습니다.
Azure Portal에서 대상 계정에 대한 개체 복제 설정으로 이동합니다.
복제 규칙 업로드를 선택합니다.
JSON 파일을 업로드합니다. 다음 이미지와 같이 Azure Portal에 만드는 정책과 규칙이 표시됩니다.
업로드를 선택하여 대상 계정에 대한 복제 정책을 만듭니다.
그런 다음, 원본 계정을 구성하기 위해 다른 사용자에게 제공할 수 있는 정책 정의가 포함된 JSON 파일을 다운로드할 수 있습니다. 이 JSON 파일을 다운로드하려면 다음 단계를 수행합니다.
Azure Portal에서 대상 계정에 대한 개체 복제 설정으로 이동합니다.
다음 이미지와 같이 다운로드할 정책 옆에 있는 자세히 단추를 선택하고, 규칙 다운로드를 선택합니다.
다른 사용자와 공유하여 원본 계정에 대한 정책을 구성할 수 있도록 JSON 파일을 로컬 컴퓨터에 저장합니다.
다운로드한 JSON 파일에는 Azure Storage에서 대상 계정에 대한 정책에 대해 만든 정책 ID가 포함되어 있습니다. 원본 계정에서 개체 복제를 구성하려면 동일한 정책 ID를 사용해야 합니다.
Azure Portal을 통해 대상 계정에 대한 복제 정책을 만들기 위해 JSON 파일을 업로드하면 동일한 정책이 원본 계정에 자동으로 만들어지지 않습니다. Azure Storage에서 개체 복제를 시작하기 전에 다른 사용자가 원본 계정에 대한 정책을 만들어야 합니다.
PowerShell에서 대상 계정에 대한 복제 정책 정의가 포함된 JSON 파일을 다운로드하려면 Get-AzStorageObjectReplicationPolicy 명령을 호출하여 정책을 반환합니다. 그런 다음, 다음 예제와 같이 정책을 JSON으로 변환하고, 로컬 파일로 저장합니다. 꺾쇠 괄호로 묶인 값 및 파일 경로를 사용자 고유의 값으로 바꿔야 합니다.
JSON 파일을 사용하여 PowerShell에서 원본 계정에 대한 복제 정책을 정의하려면 로컬 파일을 검색하고 JSON에서 개체로 변환합니다. 그런 다음, 다음 예제와 같이 Set-AzStorageObjectReplicationPolicy 명령을 호출하여 원본 계정에 대한 정책을 구성합니다.
예제를 실행하는 경우 원본 계정의 리소스 그룹에 -ResourceGroupName 매개 변수를 설정하고 -StorageAccountName 매개 변수를 원본 계정의 이름으로 설정해야 합니다. 또한 꺾쇠 괄호로 묶인 값 및 파일 경로를 사용자 고유의 값으로 바꿔야 합니다.
다음 예제에서는 정책 정의를 policy.json이라는 JSON 파일에 씁니다. 꺾쇠 괄호로 묶인 값 및 파일 경로를 사용자 고유의 값으로 바꿔야 합니다.
az storage account or-policy show \
--account-name <dest-account-name> \
--policy-id <policy-id> > policy.json
Azure CLI에서 JSON 파일을 사용하여 원본 계정에 대한 복제 정책을 구성하려면 az storage account or-policy create 명령을 호출하여 policy.json 파일을 참조합니다. 꺾쇠 괄호로 묶인 값 및 파일 경로를 사용자 고유의 값으로 바꿔야 합니다.