Blob 일시 삭제

블롭 소프트 삭제는 삭제된 데이터를 일정 기간 시스템 내에 보관함으로써 개별 블롭, 스냅샷 또는 버전을 우발적인 삭제나 덮어쓰기로부터 보호합니다. 보존 기간 중 일시 삭제된 개체를 삭제된 시점의 상태로 복원할 수 있습니다. 보존 기간이 끝나면 객체는 영구적으로 삭제됩니다.

Blob 일시 삭제는 Blob 데이터에 대한 포괄적인 계정 내 데이터 보호 전략의 일부입니다. Blob 데이터를 최적의 보호하려면 Microsoft 다음 데이터 보호 기능을 사용하도록 설정하는 것이 좋습니다.

실수로 인한 계정 삭제 또는 랜섬웨어와 같은 광범위한 데이터 손실 시나리오를 방지하려면 계정 내 기능 외에 Azure Backup 사용하도록 설정하는 것이 좋습니다. Microsoft의 데이터 보호 권장 사항에 대해 자세히 알아보려면 데이터 보호 개요를 참조하세요.

팁

Blob 및 컨테이너 소프트 삭제를 대규모로 활성화하려면, 기본 제공 Azure Policy Configure soft delete for blobs and containers on storage accounts를 사용하세요.

Blob 일시 삭제 작동 방식

스토리지 계정에서 블롭 소프트 삭제를 활성화할 때, 삭제된 객체의 보존 기간을 1일에서 365일 사이로 지정하세요. 보존 기간은 데이터를 삭제하거나 덮어쓴 후 데이터를 사용할 수 있는 기간을 나타냅니다. 객체가 삭제되거나 덮어쓰이면, 보존 기간 만료 시간이 설정됩니다.

보존 기간이 활성화된 동안, 삭제된 블롭과 해당 스냅샷 및 버전을 복원하려면 Undelete Blob 작업을 호출하면 됩니다. 다음 다이어그램에서는 Blob 일시 삭제를 사용하는 경우 삭제된 개체를 복원하는 방법을 보여줍니다.

보존 기간 동안 소프트 삭제된 블롭을 복원할 수 있는 방법의 스크린샷입니다.

언제든지 설정된 보존 기간을 업데이트할 수 있습니다.

블롭 소프트 삭제를 비활성화하면, 소프트 삭제 보존 기간이 지날 때까지 저장소 계정에서 소프트 삭제된 객체에 계속 접근하고 복구할 수 있습니다.

Azure Storage REST API 버전 2017-07-29 이상에서 블롭 소프트 삭제를 지원합니다.

중요합니다

블롭 소프트 삭제는 계층적 네임스페이스 내의 개별 블롭이나 디렉터리와 그와 연결된 모든 스냅샷 및 버전(플랫 네임스페이스에서만)을 복원하는 데만 사용할 수 있습니다. 컨테이너와 그 내용을 복원하려면 저장 계정의 컨테이너 소프트 삭제도 활성화해야 합니다.

블롭 소프트 삭제는 컨테이너나 계정 수준의 보호를 제공하지 않습니다. 워크로드에 따른 보호 권장 사항은 데이터 보호 개요를 참조하세요.

일시 삭제 사용 시 삭제가 처리되는 방법

블롭 소프트 삭제를 활성화하면, 블롭을 삭제하면 그 블롭이 소프트 삭제된 것으로 표시됩니다. 삭제 과정은 스냅샷을 생성하지 않습니다. 보존 기간이 만료되면 시스템은 소프트 삭제된 블롭을 영구적으로 삭제합니다. 계층적 네임스페이스를 가진 계정에서는, 블롭이 복원되더라도 블롭의 접근 제어 목록은 그대로 유지됩니다.

블롭에 스냅샷이 있다면, 스냅샷도 함께 삭제하지 않으면 블롭을 삭제할 수 없습니다. Blob과 해당 스냅샷을 삭제하면 Blob과 스냅샷이 모두 일시 삭제된 것으로 표시됩니다. 삭제 과정은 새로운 스냅샷을 생성하지 않습니다.

또한 기본 Blob을 삭제하지 않고 활성 스냅샷을 하나 이상 삭제할 수 있습니다. 이 경우 스냅샷은 일시 삭제됩니다.

계층적 네임스페이스 기능이 활성화된 계정에서 디렉터리를 삭제하면, 해당 디렉터리와 그 안에 있는 모든 내용물이 소프트 삭제로 표시됩니다. 소프트 삭제된 디렉터리에만 접근할 수 있습니다. 소프트 삭제된 디렉터리의 내용에 접근하려면 소프트 삭제된 디렉터리를 다시 삭제해야 합니다.

소프트 삭제된 객체는 명시적으로 표시하거나 나열하지 않는 한 보이지 않습니다. 일시 삭제된 개체를 나열하는 방법에 대한 자세한 내용은 일시 삭제된 Blob 관리 및 복원을 참조하세요.

일시 삭제 사용 시 덮어쓰기가 처리되는 방법

중요합니다

이 섹션은 계층 구조 네임스페이스가 있는 계정에는 적용되지 않습니다.

Blob 배치, 블록 목록 배치 또는 Blob 복사와 같은 작업을 호출하면 Blob의 데이터를 덮어씁니다. 블롭 소프트 삭제를 활성화하면, 블롭을 덮어쓸 때 쓰기 작업 전 블롭 상태의 소프트 삭제된 스냅샷이 자동으로 생성됩니다. 보존 기간이 만료되면 시스템은 소프트 삭제된 스냅샷을 영구적으로 삭제합니다. 시스템이 스냅샷을 생성하는 작업은 Azure Monitor 리소스 로그나 스토리지 분석 로그에 나타나지 않습니다.

소프트 삭제된 스냅샷은 소프트 삭제된 객체를 명시적으로 표시하거나 나열하지 않는 한 보이지 않습니다. 일시 삭제된 개체를 나열하는 방법에 대한 자세한 내용은 일시 삭제된 Blob 관리 및 복원을 참조하세요.

Blob 일시 삭제는 Blob 메타데이터 또는 속성을 쓰는 작업을 방지하지 않습니다. Blob의 메타데이터 또는 속성을 업데이트할 때 일시 삭제된 스냅샷은 만들어지지 않습니다. 블롭의 메타데이터를 캡처하려면 블롭 버전 관리(Blob versioning)를 참조하세요.

Premium Storage 계정의 경우 일시 삭제된 스냅샷은 스냅샷 100개의 Blob당 제한에 포함되지 않습니다.

임시 삭제된 개체 복원

보존 기간 내에 Blob 삭제 취소 작업을 호출하여 일시 삭제된 Blob 또는 디렉터리(계층 구조 네임스페이스 내)를 복원할 수 있습니다. Blob 삭제 취소 작업은 블롭과 그와 관련된 소프트 삭제된 스냅샷 또는 버전을 복원합니다. 보존 기간 동안 삭제된 스냅샷을 복원합니다. 계층 구조 네임스페이스가 있는 계정에서는 Blob의 액세스 제어 목록이 Blob과 함께 복원됩니다.

계층적 네임스페이스를 가진 계정에서는 Blob 삭제 취소 작업을 사용해 소프트 삭제된 디렉터리와 그 모든 내용을 복원할 수도 있습니다. 일시 삭제된 Blob이 포함된 디렉터리 이름을 바꾸면 일시 삭제된 Blob의 연결이 디렉터리에서 끊어집니다. 그 블롭을 복원하려면 디렉터리 이름을 원래 이름으로 되돌리거나 원래 디렉터리 이름을 사용하는 별도의 디렉터리를 만들어야 합니다. 그렇지 않으면 소프트 삭제된 블롭을 복원하려고 할 때 오류가 발생합니다. 또한 이미 그 이름의 디렉터리나 블롭이 있는 파일 경로로 디렉터리나 블롭을 복원할 수도 없습니다. 예를 들어, (1)을 삭제 a.txt 하고 (2)라는 이름 a.txt 의 새 파일을 업로드하면, 활성 a.txt 파일(2)이 삭제되거나 이름이 바뀌기 전까지는 소프트 삭제 a.txt 된 (1)를 복원할 수 없습니다. 소프트 삭제된 디렉터리의 내용은 해당 디렉터리가 삭제 해제될 때까지는 액세스할 수 없습니다.

소프트 삭제된 블롭과 관련된 스냅샷을 복원하는 과정을 보여주는 다이어그램입니다.

소프트 삭제되지 않은 블롭에서 Undelete Blob을 호출하면 그 블롭과 연결된 모든 소프트 삭제 스냅샷이 복원됩니다. Blob이 스냅샷을 포함하지 않고 일시 삭제되지 않은 경우에는 Blob 삭제 취소를 호출해도 효과가 없습니다.

일시 삭제된 스냅샷을 기본 Blob으로 승격하려면 먼저 기본 Blob에 대해 Blob 삭제 취소를 호출하여 Blob과 해당 스냅샷을 복원합니다. 그런 다음, 원하는 스냅샷을 기본 Blob에 복사합니다. 새 Blob에 스냅샷을 복사할 수도 있습니다.

객체가 복원되기 전까지는 소프트 삭제된 블롭이나 스냅샷의 데이터를 읽을 수 없습니다.

일시 삭제된 개체를 복원하는 방법에 대한 자세한 내용은 일시 삭제된 Blob 관리 및 복원을 참조하세요.

팁

정의한 조건 집합에 따라 여러 스토리지 계정에 걸쳐 블롭을 대규모로 복원하려면 스토리지 태스크를 사용하세요. 스토리지 작업은 Azure Storage Actions에서 제공하는 자원으로, 여러 스토리지 계정에 걸쳐 수백만 개의 객체에 대해 공통 데이터 작업을 수행할 수 있는 서버리스 프레임워크입니다. 자세한 내용은 Azure Storage Actions란?을 참조하세요.

작업별 Blob 일시 삭제 방지

다음 표에서는 Blob 버전 관리를 사용하거나 사용하지 않고 Blob 일시 삭제를 사용하는 경우의 삭제 및 쓰기 작업에 대한 예상 동작을 설명합니다. 다음 표에서 변경 없음 은 블롭 소프트 삭제가 활성화되었든 아니든 연산이 동일하게 동작한다는 의미입니다.

스토리지 계정(계층 구조 네임스페이스 없음)

REST API 작업 일시 삭제 사용 소프트 삭제 및 버전 관리 활성화됨
스토리지 계정 삭제 변경되지 않았습니다. 삭제된 계정의 컨테이너 및 Blob은 복구할 수 없습니다. 변경되지 않았습니다. 삭제된 계정의 컨테이너 및 Blob은 복구할 수 없습니다.
컨테이너 삭제 변경되지 않았습니다. 삭제된 컨테이너 내 블롭은 컨테이너 소프트 삭제 가 활성화되어 있지 않으면 복구가 불가능합니다. 변경되지 않았습니다. 삭제된 컨테이너의 Blob은 복구할 수 없습니다.
Blob 삭제 블롭을 삭제하는 데 사용하면, 이 작업은 블롭을 일시 삭제됨(소프트 삭제됨) 상태로 표시합니다.

블롭 스냅샷을 삭제하는 데 사용하면, 이 작업은 해당 스냅샷을 소프트 삭제로 표시합니다.
Blob을 삭제하는 데 사용되는 경우 현재 버전이 이전 버전이 되고 현재 버전이 삭제됩니다. 이 작업은 새 버전을 생성하거나 스냅샷을 소프트 삭제하지 않습니다.

블롭 버전을 삭제하는 데 사용될 경우, 이 연산은 해당 버전을 소프트 삭제로 표시합니다.
Blob 삭제 취소 보존 기간 내에 삭제된 Blob과 모든 스냅샷을 복원합니다. 보존 기간 내에 삭제된 Blob과 모든 버전을 복원합니다.
Blob 배치
블록 목록 배치
Blob 복사
URL에서 Blob 복사
활성 블롭에서 호출되면, 연산은 연산 전에 블롭의 상태에 대한 스냅샷을 자동으로 생성합니다.

소프트 삭제된 블롭에서 호출되면, 같은 유형의 블롭으로 대체될 때만 그 블롭의 이전 상태에 대한 스냅샷을 생성합니다. 블롭이 다른 유형이라면, 이 작업은 기존의 모든 소프트 삭제 데이터를 영구적으로 삭제합니다.
이 연산은 연산 이전에 블롭의 상태를 캡처하는 새로운 버전을 자동으로 생성합니다.
블록 배치 활성 Blob에 블록을 커밋하는 데 사용되는 경우 변경 사항이 없습니다.

소프트 삭제된 블롭에 블록을 커밋하는 데 사용하면, 이 연산은 새로운 블롭을 생성하고 자동으로 소프트 삭제된 블롭의 상태를 캡처하는 스냅샷을 생성합니다.
변경되지 않았습니다.
페이지 배치
URL에서 페이지 가져오기
변경되지 않았습니다. 이 작업이 덮어쓰거나 지우는 페이지 블롭 데이터는 저장되지 않고 복구할 수 없습니다. 변경되지 않았습니다. 이 작업이 덮어쓰거나 지우는 페이지 블롭 데이터는 저장되지 않고 복구할 수 없습니다.
추가 블록
URL에서 블록 추가
변경되지 않았습니다. 변경되지 않았습니다.
Blob 속성 설정 변경되지 않았습니다. 덮어쓰여진 Blob 속성은 복구할 수 없습니다. 변경되지 않았습니다. 덮어쓰여진 Blob 속성은 복구할 수 없습니다.
Blob 메타데이터 설정 변경되지 않았습니다. 덮어쓰여진 Blob 메타데이터는 복구할 수 없습니다. 이 연산은 연산 이전에 블롭의 상태를 캡처하는 새로운 버전을 자동으로 생성합니다.
Blob 계층 설정 기본 Blob는 새 계층으로 이동됩니다. 활성 또는 일시 삭제된 스냅샷은 원래 계층에 남아 있습니다. 일시 삭제된 스냅샷이 생성되지 않습니다. 기본 Blob는 새 계층으로 이동됩니다. 활성 또는 일시 삭제된 버전은 원래 계층에 남아 있습니다. 새 버전이 만들어지지 않습니다.

스토리지 계정(계층 구조 네임스페이스)

REST API 작업 소프트 삭제 활성화
스토리지 계정 삭제 변경되지 않았습니다. 삭제된 계정의 컨테이너 및 Blob은 복구할 수 없습니다.
Filesystem - 삭제 변경되지 않았습니다. 삭제된 컨테이너의 Blob은 복구할 수 없습니다.
컨테이너 삭제 변경되지 않았습니다. 삭제된 컨테이너 내 블롭은 컨테이너 소프트 삭제 가 활성화되어 있지 않으면 복구가 불가능합니다.
경로 - 삭제 이 연산은 소프트 삭제된 블롭 또는 디렉터리를 생성합니다. 일시 삭제된 개체는 보존 기간 후 삭제됩니다.
Blob 삭제 이 연산은 소프트 삭제된 객체를 생성합니다. 일시 삭제된 개체는 보존 기간 후 삭제됩니다. 기존 스냅샷이 있는 블롭은 삭제할 수 없습니다.
blob 또는 디렉터리의 이름을 바꾸는 경로 -생성 기존의 목적지 블롭이나 빈 디렉터리는 소프트 삭제되고 소스가 이를 대체합니다. 일시 삭제된 개체는 보존 기간 후 삭제됩니다.
기존 Blob에서 만료 날짜를 설정하는 Blob 만료 설정 변경되지 않았습니다. 만료된 블롭은 만료 시 일시 삭제된 블롭으로 변하지 않습니다.

기능 지원

이 기능에 대한 지원은 Data Lake Storage Gen2, NFS(네트워크 파일 시스템) 3.0 프로토콜 또는 SSH SFTP(파일 전송 프로토콜)를 사용하도록 설정하면 영향을 받을 수 있습니다. 이러한 기능을 사용하도록 설정한 경우 Azure Storage 계정의 Blob Storage 기능 지원을 참조하여 이 기능에 대한 지원을 평가합니다.

업무량 고려사항

소프트 삭제를 활성화하면 기존 데이터에 영향을 주지 않지만, 삭제 및 덮어쓰기 작업의 동작이 달라집니다. 운영 워크로드에서 소프트 삭제를 활성화하기 전에 다음 요소들을 고려하세요:

  • 모든 블롭을 나열하면 이제 소프트 삭제된 블롭을 반환합니다. 이 변화는 가장 큰 영향을 미칩니다. all 플래그(BlobListingDetails.All 레거시 SDK 또는 v12 Azure.Storage.Blobs SDK의 BlobStates.All)로 블롭을 나열하는 애플리케이션은 소프트 삭제를 활성화하면 소프트 삭제된 블롭을 받기 시작합니다. 활성 블롭만 반환된다고 가정하는 애플리케이션 로직이 잘못 동작할 수 있고, 백업 또는 복원 프로세스가 소프트 삭제된 블롭을 활성 데이터로 오인할 수 있습니다. 모든 리스팅 플래그에 대해 코드를 감사하고 테스트한 후 활성화하세요. 활성 블롭만 나열하려면 BlobStates.None를 사용합니다. 소프트 삭제된 블롭을 제외하고 버전을 나열하려면 BlobStates.Versioned를 사용합니다.

  • 삭제 및 덮어쓰기 후에도 데이터가 유지되며 계속 요금이 청구됩니다. 소프트 삭제를 활성화해도 블롭을 삭제하거나 덮어써도 즉시 공간이 확보되지 않습니다. 이전 상태는 소프트 삭제 데이터로 유지되며, 보존 기간이 지날 때까지 활성 데이터와 동일한 요금으로 청구됩니다. 저장 공간을 되찾기 위해 삭제 또는 덮어쓰기 작업에 의존하는 워크로드는 보존 기간 동안 추가 비용이 발생합니다.

  • 덮어쓰기가 많은 워크로드는 소프트 삭제된 스냅샷을 누적합니다. FNS 계정에서는 버전 관리가 활성화되어 있지 않으면, 각 덮어쓰기가 이전 상태를 캡처하는 일시 삭제된 스냅샷을 생성합니다. 로깅, 체크포인트, 임시 파일처럼 동일한 블롭을 자주 덮어쓰는 애플리케이션은 대량의 소프트 삭제 데이터와 예상치 못한 비용을 생성할 수 있습니다. Blob 또는 스냅샷의 계층을 변경하지 않은 경우 해당 Blob과 해당 스냅샷, 그리고 만약 있다면 버전까지 포함된 고유 데이터 블록에 요금이 청구됩니다. 가격 책정 및 청구 스냅샷을 참조하세요. 회복 필요를 반영하는 유지 기간을 선택하고, 이탈 데이터를 과도하게 유지하지 않도록 하세요.

  • 플랫 네임스페이스 계정에서 DFS 엔드포인트를 차단합니다. 계층적 네임스페이스가 없는 계정에서 소프트 삭제를 활성화하면, Data Lake Storage(DFS) 엔드포인트(*.dfs.core.windows.net)를 통한 작업이 차단되고 EndpointUnsupportedAccountFeatures와 함께 실패합니다. 대신 Blob 엔드포인트(*.blob.core.windows.net)를 사용하거나, 계정을 계층적 네임스페이스로 업그레이드하여 DFS 엔드포인트를 소프트 삭제가 활성화된 상태로 사용하세요.

기능 간 상호 작용

Blob 버전 관리

중요합니다

계층적 네임스페이스는 버전 관리에서는 지원되지 않습니다.

  • 덮어쓰기는 소프트 삭제 스냅샷 대신 버전을 생성합니다: 블롭 버전 관리와 블롭 소프트 삭제를 모두 활성화하면, 블롭을 덮어쓰면 블롭의 이전 상태를 반영하는 새 이전 버전이 생성됩니다. 이 작업은 소프트 삭제 스냅샷을 생성하지 않습니다. 새 버전은 일시 삭제되지 않으며 일시 삭제 보존 기간이 만료되어도 제거되지 않습니다.

  • 이전 버전을 삭제하면 해당 버전만 소프트 삭제됩니다: 특정 이전버전을 삭제하면 해당 버전을 소프트 삭제하며, 소프트 삭제 보존 기간이 지날 때까지 유지됩니다. 보존 기간이 지나면 소프트 삭제 버전이 영구적으로 삭제됩니다.

  • 삭제 취소는 모든 소프트 삭제 버전을 복원합니다: 삭제 취소 작업은 블롭의 모든 소프트 삭제 버전을 한 번에 복원합니다; 그중 하나만 선택적으로 복원할 수는 없습니다. 어떤 버전도 현재 버전으로 설정하지 않습니다. 현재 버전을 복원하려면 먼저 삭제 취소를 한 뒤, 원하는 이전 버전을 기본 블롭 위에 복사하세요. 자세한 내용은 기능 상호작용을 참조하세요.

Blob의 스냅샷

  • 버전 관리가 비활성화되면 덮어쓰기가 소프트 삭제 스냅샷을 생성합니다: 버전 관리가 없는 플랫 네임스페이스 계정에서는 블롭을 덮어쓰면 쓰기 전 블롭의 상태를 캡처하는 소프트 삭제 스냅샷이 자동으로 생성됩니다. 보존 기간이 만료되면 스냅샷은 영구적으로 삭제됩니다.

  • 소프트 삭제는 스냅샷을 명시적으로 삭제할 때 이를 보호합니다: 활성 스냅샷을 삭제하면 소프트 삭제되고, 보존 기간 동안 유지됩니다. 스냅샷이 있는 기본 블롭은 스냅샷도 삭제하지 않으면 삭제할 수 없습니다. 둘 다 삭제하면 모두 소프트 삭제로 표시됩니다.

  • 프리미엄 계정은 소프트 삭제된 스냅샷을 스냅샷 한도에 포함하지 않습니다: 프리미엄 블록 블롭 계정에서는 소프트 삭제된 스냅샷이 100개의 스냅샷이라는 블롭당 제한에 포함되지 않습니다.

수명 주기 관리

  • 라이프사이클 삭제 작업은 소프트 삭제된 개체를 생성합니다: 라이프사이클 관리 정책이 블롭, 스냅샷 또는 버전을 삭제할 때도 소프트 삭제가 여전히 적용됩니다. 삭제된 객체는 즉시 삭제되지 않고 소프트 삭제 상태로 전환되어 보존 기간 동안 복구 가능합니다. 스토리지 성장을 제어하기 위해 라이프사이클 규칙을 사용할 경우, 추가된 보존 기간을 고려하세요. 삭제된 데이터는 보존 기간이 지나갈 때까지 계속 청구됩니다.

영구 삭제

  • 영구 삭제는 스냅샷과 버전의 소프트 삭제 보존을 무효화합니다: 계정에서 영구 삭제 기능을 활성화하면, 적절한 권한을 가진 사용자가 보존 기간이 끝나기 전에 소프트 삭제된 스냅샷과 버전을 영구적으로 제거할 수 있습니다. 전체 보존 기간 동안 완전한 소프트 삭제 보호를 원한다면 영구 삭제를 비활성화하세요.

컨테이너 일시 삭제

  • 블롭 소프트 삭제와 컨테이너 소프트 삭제는 서로 다른 범위를 보호합니다: 블롭 소프트 삭제는 개별 블롭, 스냅샷, 버전을 복원하지만, 삭제된 컨테이너는 복구할 수 없습니다. 컨테이너 소프트 삭제는 삭제된 컨테이너와 그 내용물을 복원하지만, 라이브 컨테이너 내 개별 블롭의 삭제를 막지는 않습니다. 이 두 기능은 상호 보완적이며 Microsoft는 두 기능을 모두 활성화할 것을 권장합니다.

  • 소프트 삭제된 컨테이너에서 개별 블롭을 복원할 수 없습니다: 컨테이너 소프트 삭제는 컨테이너 전체를 삭제 시 상태로 복원합니다. 소프트 삭제된 컨테이너에서 개별 블롭을 선택적으로 복원할 수는 없습니다. 먼저 전체 컨테이너를 복원한 다음, 그 blob을 다루세요. 자세한 내용은 컨테이너 소프트 삭제를 참조하세요.

알려진 제한

  • 컨테이너나 계정 삭제를 막아주지 않습니다. 블롭 소프트 삭제는 블롭, 스냅샷, 버전, 디렉터리(계층적 네임스페이스) 수준에서만 작동합니다. 삭제된 컨테이너와 그 내용을 복원하려면 컨테이너 소프트 삭제도 활성화해야 합니다. 계정의 우발적인 삭제나 랜섬웨어와 같은 더 광범위한 데이터 손실 상황으로부터 보호하려면 Azure Backup을 활성화하세요.

  • 메타데이터나 속성 쓰기를 보호하지 않습니다. 블롭의 메타데이터나 속성을 업데이트할 때 소프트 삭제 스냅샷은 생성되지 않습니다. 소프트 삭제로는 이 변경 사항을 복구할 수 없습니다.

  • 계층적 네임스페이스 계정을 덮어쓰는 것을 막지 못합니다. 계층적 네임스페이스를 가진 계정에서는 소프트 삭제가 삭제에 대해서만 보호합니다. 덮어쓰기는 소프트 삭제된 스냅샷으로 캡처되지 않아 복구할 수 없습니다.

  • 보유 기간은 1일에서 365일까지이며 연장할 수 없습니다. 보존 기간이 지나면 연장할 수 없으며 객체는 영구적으로 삭제됩니다.

  • 영구 삭제 기능은 소프트 삭제 보존 정책을 무효화합니다. 계정에서 영구 삭제 기능을 활성화하면, 보존 기간이 지나기 전에 소프트 삭제된 스냅샷과 버전을 영구적으로 제거할 수 있습니다.

  • Set Blob Expiry 삭제는 복구할 수 없습니다. ADLS 전용 Set Blob Expiry 작업으로 삭제된 블롭은 소프트 삭제 블롭이 되지 않으며 삭제를 되돌릴 수 없습니다.

  • 평면 네임스페이스 계정을 계층적 네임스페이스(ADLS)로 업그레이드하지 못하게 합니다. 플랫 네임스페이스 계정에서 블롭이나 컨테이너 소프트 삭제를 활성화하면, 계층적 네임스페이스로 계정을 업그레이드하는 것이 차단됩니다(예: via Invoke-AzStorageAccountHierarchicalNamespaceUpgrade 또는 az storage account hns-migration start). 마이그레이션하려면 소프트 삭제를 비활성화하고 업그레이드를 수행한 후 다시 소프트 삭제를 활성화하세요. 가능하면 계정 생성 시 ADLS를 활성화하세요.

가격 책정 및 대금 청구

일시 삭제된 모든 데이터는 활성 데이터와 동일한 요율로 요금이 청구됩니다. 블롭이 소프트 삭제되면, 같은 티어에 남아 같은 티어에서 요금이 부과됩니다. 보존 기간이 지나면 영구적으로 삭제되는 데이터에 대해서는 요금이 청구되지 않습니다.

소프트 삭제를 활성화할 때는 짧은 보존 기간을 사용하여 이 기능이 청구서에 어떤 영향을 미치는지 더 잘 이해하세요. 최소 권장 보존 기간은 7일입니다.

자주 덮어쓰는 데이터에 대해 소프트 삭제를 활성화하면 저장 용량 요금이 증가하고 블롭을 나열할 때 지연 시간이 증가할 수 있습니다. Blob을 덮어쓰거나 삭제하는 경우 스냅샷 또는 버전의 자동 생성과 관련된 트랜잭션에 대해서는 요금이 청구되지 않습니다. 쓰기 작업 트랜잭션 속도의 Blob 삭제 취소 작업 호출에 대한 요금이 청구됩니다.

Blob Storage의 가격 책정에 대한 자세한 내용은 Blob Storage 가격 책정 페이지를 참조하세요.

Blob 일시 삭제와 가상 머신 디스크

내부적으로 Blob 일시 삭제는 페이지 Blob인 프리미엄 및 표준 비관리 디스크 모두에 사용할 수 있습니다. 일시 삭제는 Blob 삭제, Blob 배치, 블록 목록 배치 및 Blob 복사 작업에서 삭제하거나 덮어쓴 데이터를 복구하는 데 도움이 될 수 있습니다.

페이지 배치 호출 시 덮어쓰는 데이터는 복구할 수 없습니다. Azure 가상 머신은 Put Page 호출을 통해 관리되지 않은 디스크에 쓰기 때문에, Azure VM에서 비관리 디스크에 쓰기를 되돌리는 소프트 삭제는 지원되지 않는 시나리오입니다.

모니터링 및 문제 해결

Azure 포털에서 소프트 삭제된 블롭을 보려면, 컨테이너 뷰에서 활성 및 삭제된 블롭 표시를 활성화하세요.

Azure 포털의 컨테이너 뷰에서 활성 및 삭제된 블롭을 표시하는 옵션을 보여주는 스크린샷입니다.

프로그래밍적으로는 List Blobs 연산과 include=deleted(또는 Azure.Storage.Blobs v12 SDK의 BlobStates.Deleted 플래그)을 사용하여 이를 나열하세요. 소프트 삭제 데이터를 정량화하려면 필터를 includeDeleted로 설정하고 true인 Azure Storage 블롭 인벤토리 보고서를 실행한 다음 Content-Length 필드를 집계하세요. Azure Monitor의 BlobCapacity 지표는 총 계정 용량을 보고하며, 소프트 삭제 데이터와 활성 데이터를 분리하지 않습니다.

  • 제 애플리케이션이 삭제된 블롭을 반환하기 시작했거나, 소프트 삭제를 활성화한 후 실패하고 있습니다: 코드가 블롭을 나열할 때 "all" 플래그를 사용한다면(레거시 SDK의 BlobListingDetails.All, 또는 v12 Azure.Storage.Blobs SDK의 BlobStates.All), 소프트 삭제된 블롭도 결과에 포함됩니다. 활성 블롭만 반환된다고 가정하는 애플리케이션 로직이 잘못 동작할 수 있고, 백업 또는 복원 프로세스가 소프트 삭제된 블롭을 활성 데이터로 오인할 수 있습니다. 코드에 'all' 목록 플래그가 있는지 감사하세요. 활성 블롭만 나열하려면 BlobStates.None 사용; 소프트 삭제된 블롭을 제외하고 버전을 나열하려면 BlobStates.Versioned 사용.

  • 제 DFS 엔드포인트 작업이 EndpointUnsupportedAccountFeatures와 함께 실패하고 있습니다: 플랫 네임스페이스 계정에서는 소프트 삭제를 활성화하면 Data Lake Storage(DFS) 엔드포인트가 차단됩니다. *.dfs.core.windows.net에 대한 연산은 EndpointUnsupportedAccountFeatures와 함께 실패합니다. 연결 문자열이나 모니터링에서 DFS 엔드포인트 요청이 표시되는지 확인하세요. 해결하려면 워크로드를 Blob 엔드포인트(*.blob.core.windows.net)를 사용하도록 업데이트하거나, DFS 엔드포인트가 소프트 삭제 활성화 상태에서 작동하도록 계정을 계층적 네임스페이스로 업그레이드하세요.

  • 삭제된 블롭이 컨테이너에 나타나지 않습니다: 소프트 삭제된 블롭은 표준 리스트 연산에서 숨겨져 있습니다. Azure 포털에서 삭제된 blob 표시를 활성화하고, 프로그래밍 방식으로는 include=deleted을 설정합니다. 그래도 블롭이 나타나지 않는다면, 블롭이 삭제되기 전에 소프트 삭제가 활성화되었는지, 그리고 보존 기간이 지나지 않았는지 확인하세요.

  • 소프트 삭제가 활성화되어 있음에도 불구하고 제 블롭이 영구적으로 삭제되었습니다: 두 가지를 확인하세요. 첫째, 계정에서 영구 삭제 기능이 활성화되어 있다면, 보존 기간이 끝나기 전에 소프트 삭제된 스냅샷과 버전을 제거할 수 있습니다; 완전한 보호를 위해 비활성화하세요. 둘째, ADLS 전용 Set Blob Expiry 작업으로 삭제된 파일은 소프트 삭제되지 않으며 되돌릴 수 없습니다. 그렇지 않으면, 보존 기간이 이미 지나지 않았는지 확인하세요. 보존 기간이 지나면 데이터가 영구적으로 삭제됩니다.

  • 소프트 삭제를 활성화한 후 저장 비용이 올랐습니다: 소프트 삭제된 블롭, 스냅샷, 버전은 보존 기간이 끝날 때까지 활성 데이터와 동일한 요금으로 청구됩니다. 오버워쓰기가 많은 워크로드는 버전 관리가 비활성화되면 소프트 삭제된 스냅샷이 빠르게 누적됩니다. 블롭 인벤토리를 사용해 소프트 삭제된 데이터를 식별하고, 보존 기간을 단축하는 것을 고려하세요.

  • 블롭 소프트 삭제로 삭제된 컨테이너를 복구할 수 없습니다: 블롭 소프트 삭제는 개별 블롭을 보호하는 것이지, 컨테이너를 보호하는 것은 아닙니다. 컨테이너가 삭제되었다면, 블롭 소프트 삭제로는 그 블롭을 복원할 수 없습니다. 컨테이너 복구는 컨테이너 소프트 삭제가 사전에 활성화되어 있어야 합니다. 컨테이너 소프트 삭제를 참조하세요.

  • 지나치게 광범위하게 사용 설정한 후 대규모로 소프트 삭제를 비활성화해야 합니다: 여러 도구를 사용하여 소프트 삭제를 비활성화하는 방법은 컨테이너에 대한 소프트 삭제 사용 설정을 참조하세요.

  • 저는 보관 기간을 너무 길게 설정해서 블롭이 더 빨리 영구 삭제되길 원합니다: 이미 소프트 삭제된 블롭을 영구히 삭제하려면 소프트 삭제된 블롭을 복원한 다음, 블롭 소프트 삭제 기능을 끄고, 블롭을 다시 삭제합니다.

다음 단계