Azure Storage Blob 인벤토리 보고서 사용
이 문서의 내용
Azure Storage Blob 인벤토리 기능은 스토리지 계정 내의 컨테이너, Blob, 스냅샷 및 Blob 버전의 개요를 제공합니다. 인벤토리 보고서를 사용하여 전체 데이터 크기, 사용 기간, 암호화 상태, 불변성 정책, 법적 보류 등의 다양한 Blob 및 컨테이너 특성을 이해할 수 있습니다. 이 보고서는 비즈니스 및 규정 준수 요구 사항에 대한 데이터 개요를 제공합니다.
Blob 인벤토리 보고서에 대해 자세히 알아보려면 Azure Storage Blob 인벤토리 를 참조하세요.
스토리지 계정에 하나 이상의 규칙이 있는 정책을 추가하여 Blob 인벤토리 보고서를 사용합니다. Azure Portal 을 사용하여 정책을 추가, 편집 또는 제거합니다.
인벤토리 보고서 사용
Azure Portal 에 로그인하여 시작합니다.
스토리지 계정을 찾아 계정 개요를 표시합니다.
데이터 관리 에서 Blob 인벤토리 를 선택합니다.
첫 번째 인벤토리 규칙 추가 를 선택합니다.
규칙 추가 페이지가 나타납니다.
규칙 추가 페이지에서 새 규칙의 이름을 지정합니다.
인벤토리 보고서를 저장할 컨테이너를 선택합니다.
인벤토리에 대한 개체 유형 에서 Blob 또는 컨테이너에 대해 보고서를 만들지 여부를 선택합니다.
Blob 을 선택한 경우 Blob 하위 유형 에서 보고서에 포함할 Blob의 유형을 선택하고, 인벤토리 보고서에 Blob 버전 및/또는 스냅샷을 포함할지 여부를 선택합니다.
참고 항목
Blob 버전을 포함하는 옵션은 계층 구조 네임스페이스 기능이 사용하도록 설정되지 않은 계정에만 나타납니다.
해당하는 옵션을 사용하는 새 규칙을 저장하려면 계정에서 버전 및 스냅샷을 사용하도록 설정해야 합니다.
보고서에 포함할 필드 및 보고서의 형식을 선택합니다.
보고서를 생성할 빈도를 선택합니다.
필요에 따라 인벤토리 보고서의 필터 Blob에 접두사 일치를 추가합니다.
저장 을 선택합니다.
Azure PowerShell 모듈을 사용하여 정책을 추가, 편집 또는 제거할 수 있습니다.
Windows PowerShell 명령 창을 엽니다.
최신 Azure PowerShell 모듈이 있는지 확인합니다. Azure PowerShell 모듈 설치 를 참조하세요.
Connect-AzAccount
명령을 사용하여 Azure 구독에 로그인하고 화면의 지시를 따릅니다.
Connect-AzAccount
ID가 둘 이상의 구독과 연결되어 있으면 활성 구독을 설정합니다.
$context = Get-AzSubscription -SubscriptionId <subscription-id>
Set-AzContext $context
<subscription-id>
자리 표시자 값을 구독의 ID로 바꿉니다.
사용하려는 스토리지 계정을 정의하는 스토리지 계정 컨텍스트를 가져옵니다.
$storageAccount = Get-AzStorageAccount -ResourceGroupName "<resource-group-name>" -AccountName "<storage-account-name>"
$ctx = $storageAccount.Context
New-AzStorageBlobInventoryPolicyRule 명령을 사용하여 인벤토리 규칙을 만듭니다. 각 규칙에는 보고서 필드가 나열됩니다. 보고서 필드의 전체 목록은 Azure Storage Blob 인벤토리 를 참조하세요.
$containerName = "my-container"
$rule1 = New-AzStorageBlobInventoryPolicyRule -Name Test1 -Destination $containerName -Disabled -Format Csv -Schedule Daily -PrefixMatch con1,con2 `
-ContainerSchemaField Name,Metadata,PublicAccess,Last-modified,LeaseStatus,LeaseState,LeaseDuration,HasImmutabilityPolicy,HasLegalHold
$rule2 = New-AzStorageBlobInventoryPolicyRule -Name test2 -Destination $containerName -Format Parquet -Schedule Weekly -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
-BlobSchemaField name,Last-Modified,Metadata,LastAccessTime
$rule3 = New-AzStorageBlobInventoryPolicyRule -Name Test3 -Destination $containerName -Format Parquet -Schedule Weekly -IncludeBlobVersion -IncludeSnapshot -BlobType blockBlob,appendBlob -PrefixMatch aaa,bbb `
-BlobSchemaField name,Creation-Time,Last-Modified,Content-Length,Content-MD5,BlobType,AccessTier,AccessTierChangeTime,Expiry-Time,hdi_isfolder,Owner,Group,Permissions,Acl,Metadata,LastAccessTime
$rule4 = New-AzStorageBlobInventoryPolicyRule -Name test4 -Destination $containerName -Format Csv -Schedule Weekly -BlobType blockBlob -BlobSchemaField Name,BlobType,Content-Length,Creation-Time
Set-AzStorageBlobInventoryPolicy 를 사용하여 Blob 인벤토리 정책을 만듭니다. -Rule
매개 변수를 사용하여 이 명령으로 규칙을 전달합니다.
$policy = Set-AzStorageBlobInventoryPolicy -StorageAccount $storageAccount -Rule $rule1,$rule2,$rule3,$rule4
Azure CLI 를 통해 정책을 추가, 편집 또는 제거할 수 있습니다.
먼저 Azure Cloud Shell 을 열거나 Azure CLI를 로컬로 설치 한 경우 Windows PowerShell과 같은 명령 콘솔 애플리케이션을 엽니다.
ID가 둘 이상의 구독과 연결되어 있으면 활성 구독을 설정합니다.
az account set --subscription <subscription-id>
<subscription-id>
자리 표시자 값을 구독의 ID로 바꿉니다.
JSON 문서에서 정책의 규칙을 정의합니다. 다음은 policy.json
이라는 예제 JSON 파일의 콘텐츠를 보여 줍니다.
{
"enabled": true,
"type": "Inventory",
"rules": [
{
"enabled": true,
"name": "inventoryPolicyRule2",
"destination": "mycontainer",
"definition": {
"filters": {
"blobTypes": [
"blockBlob"
],
"prefixMatch": [
"inventoryprefix1",
"inventoryprefix2"
],
"includeSnapshots": true,
"includeBlobVersions": true
},
"format": "Csv",
"schedule": "Daily",
"objectType": "Blob",
"schemaFields": [
"Name",
"Creation-Time",
"Last-Modified",
"Content-Length",
"Content-MD5",
"BlobType",
"AccessTier",
"AccessTierChangeTime",
"Snapshot",
"VersionId",
"IsCurrentVersion",
"Metadata"
]
}
}
]
}
az storage account blob-inventory-policy 만들기 명령을 사용하여 Blob 인벤토리 정책을 만듭니다. --policy
매개 변수를 사용하여 JSON 문서의 이름을 제공합니다.
az storage account blob-inventory-policy create -g myresourcegroup --account-name mystorageaccount --policy @policy.json
인벤토리 보고서 사용 안 함
개별 보고서를 사용하지 않도록 설정할 수 있지만 Blob 인벤토리가 전혀 실행되지 않도록 할 수도 있습니다.
Azure Portal 에 로그인합니다.
스토리지 계정을 찾아 계정 개요를 표시합니다.
데이터 관리 에서 Blob 인벤토리 를 선택합니다.
Blob 인벤토리 설정 을 선택하고 Blob 인벤토리 설정 창에서 Blob 인벤토리 사용 확인란을 선택 취소한 다음 저장 을 선택합니다.
BLOB 인벤토리 사용 확인란을 선택 취소하면 모든 Blob 인벤토리 실행이 일시 중지됩니다. 나중에 인벤토리 실행을 다시 시작하려면 이 확인란을 선택할 수 있습니다.
필요에 따라 액세스 시간 추적 사용
Blob 액세스 시간 추적을 사용하도록 설정하도록 선택할 수 있습니다. 액세스 시간 추적이 사용하도록 설정되면 읽기 또는 쓰기 작업을 통해 Blob에 마지막으로 액세스한 시간을 기준으로 LastAccessTime 필드가 인벤토리 보고서에 포함됩니다. 읽기 액세스 대기 시간에 대한 영향을 최소화하기 위해 최근 24시간 동안의 첫 번째 읽기만 마지막 액세스 시간을 업데이트합니다. 동일한 24시간 동안의 이후 읽기는 마지막 액세스 시간을 업데이트하지 않습니다. 읽기 간에 Blob이 수정되는 경우 마지막 액세스 시간은 두 값 중 더 최근입니다.
Azure Portal에서 마지막 액세스 시간 추적을 사용하도록 설정하려면 다음 단계를 수행합니다.
Azure Portal 에 로그인합니다.
스토리지 계정을 찾아 계정 개요를 표시합니다.
데이터 관리 에서 Blob 인벤토리 를 선택합니다.
Blob 인벤토리 설정 을 선택하고 Blob 인벤토리 설정 창에서 마지막 액세스 추적 사용 확인란을 선택합니다.
PowerShell을 사용하여 마지막 액세스 시간 추적을 사용하도록 설정하려면 다음 예제와 같이 Enable-AzStorageBlobLastAccessTimeTracking 명령을 호출합니다. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
# Initialize these variables with your values.
$rgName = "<resource-group>"
$accountName = "<storage-account>"
Enable-AzStorageBlobLastAccessTimeTracking -ResourceGroupName $rgName `
-StorageAccountName $accountName `
-PassThru
Azure CLI를 사용하여 마지막 액세스 시간 추적을 사용하도록 설정하려면 다음 예제와 같이 az storage account blob-service-properties update 명령을 호출합니다. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
az storage account blob-service-properties update \
--resource-group <resource-group> \
--account-name <storage-account> \
--enable-last-access-tracking true
다음 단계