[Blob] Azure Blob Storage 보호 기능 (Azure Blob Storage Container Soft delete and lock)

Blob
작성자
Roronoa
작성일
2021-07-20 13:46
조회
1832
Azure Blob Storage 보호 기능 (Azure Blob Storage Container Soft delete and lock)

오브젝트 스토리지는 클라우드에서는 가장 기본적인 저장소이며 가장 가격이 저렴한 저장소이며 기능이 가장 많은 저장소 입니다. 2006년 3월 14일 AWS의 S3가 퍼블릭 클라우드에 처음 시작한 이후로 퍼브릭 클라우드에서는 오브젝트 스토리지는 기본적으로 모든 클라우드가 제공하며 매우 유사한 기능들이 디폴트로 제공되고 있습니다. 그러나 저장소에서 가장 중요한 부분은 실수로 삭제 했을시 복구가 어렵습니다. 

 

최초의 Azure Soft Delete 기능은 2018년 5월 30일 최초의 Soft Delete 기능이 출시 되었으며 이는 단순하게 Blob 만 가능한 기능이 었습니다. 

https://azure.microsoft.com/ru-ru/blog/soft-delete-for-azure-storage-blobs-ga/

 

그러나 Azure 에서 2021 년 7월 12일 드디어 Container 에 Soft Delete 기능이 출시 되었습니다.

이 기능은 어떤것이며 기존에 있는 것과 어떤 차이 인지 알아보도록 하겠습니다.

그림001
azure

그림002는 Azure Storage Account의 아이콘입니다. 스토리지 어카운트는 저장소이며  7가지의 타입의 저장소가 있습니다. 

  1. 블록 Blob

  2. File 저장소

  3. 테이블 저장소

  4. 큐 저장소

  5. 데이터레이크 저장소

  6. 페이지 Blob

  7. Managed 디스크


이 7가지 저장소 중에서 오늘 관심 대상은 블록 Blob 저장소 == 오브젝트 스토리지 입니다. 

하단의 그림002는 스토리지 어카운트의 아이콘입니다. 

그림002
azure

스토리지 어카운트는 7개의 저장소가 있는데 이중에 블랍은 스토리지어카운트의 한개의 타입의 저장소입니다.

그림003
azure

그림004 처럼 스토리지어카운트 중 Blob의 경우 하위 구조는 컨테이너라는 이름의 파일 구조의 폴더 처럼 생겼습니다. 오브젝트 스토리지이기 때문에 파일 구조의 폴더는 아니지만 유사하게 보이도록 만들어져 있습니다.

그림004
azure

그림005 처럼 그 컨테이너 는 폴더 로 생각 하시면 되며 그 컨테이너 안에 Blob.txt 라는 파일 있습니다. 이 텍스트 파일과 같은 파일을 Blob 이라고 부르며 컨테이너(폴더) 안에 파일이 있는 것과 유사합니다. 그러나 오브젝트 스토리지이기 때문에 폴더 처럼 보이는 것 뿐이지 저장된 위치가 물리적으로 다릅니다.

그림005
azure

그림006을 보겠습니다. Azure Portal에서 스토리지 어카운트를 만들고 컨테이너를 만들려 하면 여러가지 옵션중에 데이터 보호 기능이 있습니다. 빨간색 부분이 2018년도에 나온 Blob(파일)을 보호하는 기능이며 파란색 부분이 컨테이너(폴더)를 보호하는 기능 입니다. 

왜 이 기능이 두개로 분리 되어 있을까요? 최초로 Blob을 보호 하는 기능이 있었음에도 레거시 시스템처럼 컨테이너를 잘 분리가 되어서 Blob 설계를 초기에는 잘 안하고 폴더 처럼 쓰다 보니 수백 테라의 파일을 가진 회사들이 단순한 실수로 컨테이너를 지우면 Blob(파일) Soft delete 기능이 있음에도 불구 하고 컨테이너를 지우면 Blob은 복구 할 수 없었으며 수많은 회사들이 파일을 삭제해서 날린 사례가 많아 지다 보니깐 해당 기능이 2022년에 추가 된 것입니다. 개인적으로 수많은 개인파일을 Azure Blob 과 Azure Files 그리고 AWS S3, AWS EFS, AWS FSx에 저장을 해오고 실제 내구성 테스트와 수많은 테스트를 AWS는 10년 이상 Azure 는 7년 이상 써왔으며 이런 기능이 없었을때는 매우 많이 파일을 날린 기억이 있습니다. 또한 개인 용도가 아닌 회사 용도에서도 인적 실수(?) 로 인하여 파일을 삭제 한 적이 많이 있기 때문에 이런 기능은 마지막 최소한의 보루와 같은 기능이기 때문에 필요합니다.

그림006
azure

그림007의 경우 Blob.png 파일을 지우려 하면 blob Soft Delete 기능이 활성화 되어 있으면 이거 지우길 원해 ? 이거 지워도 7일 남는다 라는 경고가 제공 됩니다.

그림007
azure

그림008의 경우는 image 컨테이너와 image002 컨테이너가 빨간 박스를 보면 잘 가용한 상태를 볼 수 있습니다.

그림008
azure

그림009에서 보면 image002 컨테이너를 제가 삭제했으며 빨간 박스를 보면 삭제한 상태를 보여주고 있습니다.

그림009
azure

그림010 에서 삭제 후 컨테이너를해당 박스처럼 undelete 를 선택해보겠습니다.

그림010
azure

그림011에서 삭제한 컨테이너(폴더)와 파일들이 전부 다시 Active 상태로 돌아왔습니다.

그림011
azure

결론

같은 기능이지만 새로나온 이기능은 위에 스크린샷 과 같은 차이들이 명백하게 보입니다. 아직 추가적인 부분이 필요합니다. 이 기능으로 인해서 컨테이너를 실수로 삭제 했을때 스냅샷 없이 다시 복구 할 수 있는 엄청난 기능을 사용할 수 있으나. 만약 스토리지 어카운트 자체를 삭제 한다면 해당 기능을 전부 활성화 시켰어도 모두 삭제가 됩니다. 그러므로 스토리지 어카운트 자체는 리소스 lock 기능으로 삭제 할 수 없도록 조치 하는 것이 필요합니다.

파일을 모두 잃어버리고 낙심했었던 수많은 사람들에게 이 기능으로 방어하고 낙심하지 않기를 바래봅니다.

 

Azure Blob 소프트 삭제 공식 문서

https://docs.microsoft.com/en-us/azure/storage/blobs/soft-delete-container-overview?WT.mc_id=AZ-MVP-5002667