본문 바로가기

CLOUD

AZ-104: Azure 내 스토리지 구현 및 관리

스토리지 계정 구성

  • Azure Storage는 파일, 메시지, 테이블 및 기타 유형의 정보를 저장하는 데 사용할 수 있는 서비스
  • 가상머신 데이터(디스크 및 파일) / 비정형 데이터 / 정형 데이터 지원 
  • 표준 vs 프리미엄 계층 > HDD vs SSD에서 백업
  • Azure Blob Storage : 텍스트 및 이진 데이터를 위한 대규모 크기로 조정 가능한 개체 저장소
  • Azure Files : 클라우드 또는 온프레미스 배포에 대한 관리되는 파일 공유 
  • 고가용성 네트워크 파일 공유 지원하며 모든 사용자가 읽기/쓰기 액세스 권한이 있어야 함
  • Azure Queue Storage : 애플리케이션 구성 요소 간의 안정적인 메시징을 위한 메시징 저장소
  • Azure Table Storage : 비관계형 구조적 데이터 저장소
  • 복제 전략 : LRS / ZRS / GRS / GZRS
  • LRS : 가장 저렴하지만 내구성 낮음
  • ZRS : 단일 지역에 3개의 영역에 동기적으로 복사 
  • GRS(RA-GRS) : LRS > GRS > LRS
  • GZRS(RA-GZRS) : ZRS > GRS > LRS
  • 스토리지마다 고유한 URL 주소 
  • 사용자 지정 도메인 구성 : www.contoso.com과과 같은 사용자 지정 도메인 및 하위 도메인을 스토리지 계정의 Blob 또는 웹 엔드포인트에 매핑하면 사용자는 해당 도메인을 사용하여 스토리지 계정의 Blob 데이터에 액세스 가능
  • 하위 도메인에서 Azure Storage 계정으로 가리키는 CNAME 레코드 생성
  • 도메인이 매핑되는 동안 약간의 가동 중시 시간을 방지하려면 하위 도메인 앞에 asverify 키워드를 추가  
  • 선택한 가상 네트워크(스토리지 계정과 같은 지역) 및 IP 주소에서만 사용하도록 설정 가능  

 

Azure Blob Storage 구성

  • 개체 스토리지 또는 컨테이너 스토리지

  • 설정 구성 : 컨테이너 옵션 / 형식 및 업로드 옵션 / 액세스 계층 / 수명 주기 규칙 / 개체 복제 옵션  
  • 모든 Blob은 컨테이너에 있어야 하며 한 컨테이너에 저장될 수 있는 Blob 수에 제한 없음 
  • 퍼블릭 액세스 수준 : 프라이빗 / Blob / 컨테이너
  • 액세스 계층 : 핫 / 쿨(30일) / 콜드(90일) / 보관(180일)
  • 핫은 액세스 비용이 가장 낮지만 스토리지 비용이 가장 많이 듦 = 보관 스토리지 비용은 낮지만 액세스 비용 큼 
  • 수명 주기 관리 : If 절이 true면Then 절(쿨 or 보관 스토리지로 이동 or 삭제) 실행  

  • 개체 복제 : 구성한 정책 규칙에 따라 Blob을 비동기식으로 복사  
  • 버전 관리를 해야 하며 스냅샷을 지원하지 않음
  • Blob 형식 : 블록 / 추가 / 페이지
  • 블록 Blob : 텍스트와 파일, 이미지 및 비디오 같은 바이너리 데이터
  • 추가 Blob : 블록과 같이 데이터 블록으로 구성되지만 추가 작업에 최적화 = 로깅 시나리오
  • 페이지 Blob : 읽기 쓰기 작업이 빈번한 경우에 효율적이며 VM의 OS 디스크 및 데이터 디스크에 사용   
  • Azure Storage Explorer(업로드 도구) : AZCopy / Azure Data Box Disk / Azure Import & Export

 

Azure Storage 보안 구성

  • 보안 전략 : 암호화 / 인증 / 전송 중 데이터 / 디스크 암호화 / 공유 액세스 서명 / 권한 부여 
  • 권한 부여 전략 : Microsoft Entra ID / 공유 키 / 공유 액세스 서명 / 컨테이너 및 Blob에 대한 익명 액세스
  • 공유 액세스 서명(SAS) : Azure Storage 리소스에 대한 제한된 액세스 권한을 부여하는 URI
  • 스토리지 계정 키에 대한 액세스 권한이 없는 클라이언트에게 SAS 제공 가능   
  • URI : https://스토리지리소스?SAS토큰 형식으로 제공 
  • 암호화 : Microsoft 관리형 키  or 고객 관리형 키(URI 입력하거나 Key Vault에서 선택)
  • SAS는 저장된 액세스 정책을 바꾸거나 삭제하여 사용 권한 또는 기간에 따라 액세스 변경 가능
  • 액세스 키는 스토리지 리소스에 대한 무제한 액세스 제공 가능

 

Azure Files 및 Azure 파일 동기화 구성

  • Azure Files 동기화는 온프레미스 윈도우 서버 또는 클라우드 가상머신에서 여러 파일 공유를 캐시할 수 있는 서비스  
  • 데이터를 파일 공유에 실제 디렉터리 개체로 저장
  • SMB 및 NFS 프로토콜 제공
  • 프리미엄 계층 vs 표준 계층 : SSD vs HDD
  • 파일 공유의 공유 스냅샷 생성 가능
  • 공유 스냅샷은 데이터의 특징 시점 읽기 전용 복사본 
  • 일시 삭제 기능 제공 = 기간 내 복구 가능 (NFS 공유에는 일시 삭제가 작동하지 않음)
  • Azure Storage Explorer를 사용하여 여러 계정 및 구독에 액세스하고 모든 스토리지 콘텐츠 관리 가능 
  • 리소스에 완전히 액세스하려면 Storage Explorer에 관리 권한과 데이터 계층 권한 필요 = Entra 권한 필요
  • Azure 파일 동기화는 최근에 액세스한 데이터만 로컬 서버에저장
  • 사용하지 않는 데이터는 Azure Files로 이동시키려면 클라우드 계층화 구현  

 

Azure Storage 계정 만들기

  • 스토리지 계정 이름은 Azure 내에서 전역적으로 고유
  • 배포 모델 : Resource Manager / 클래식
  • 계정 종류 : 표준 - 범용 v2 / 프리미엄 - 페이지 Blob / 프리미엄 - 블록 Blob / 프리미엄 - 파일 공유  
  • REST API 작업을 위한 보안 전송 필요 > 모든 클라이언트가 HTTPS를 사용하도록 강제
  • 대량 파일 공유 사용 > 최대 100TB를 지원하지만 추가 제한 적용

 

공유 액세스 서명을 사용하여 Azure Storage에 대한 액세스 제어

  • 클라이언트는 HTTP/HTTPS를 통해 Azure Storage에 저장된 파일에 액세스
  • Azure는 저장된 데이터에 액세스하기 위한 클라이언트의 권한 부여 요청을 확인
  • Blob Storage에 액세스하기 위한 옵션 : 퍼블릭 액세스 / Microsoft Entra ID / 공유 키 / 공유 액세스 서명
  • 퍼블릭 액세스 : 스토리지 계정(AllowBlobPublicAccess)과 컨테이너 설정이 모두 필요
  • 스토리지 계정이 익명 액세스를 허용하는 경우에만 컨테이너가 익명 액세스 사용 가능
  • 컨테이너의 익명 액세스는 개별 Blob이 아닌 컨테이너 수준에서 제어
  • Microsoft Entra ID : OAuth 2.0 토큰을 반환하는 보안 주체를 인증한 다음 Azure Storage에 토큰 전달
  • 공유 키 : 생성된 모든 스토리지에 2개의 512bit 액세스 키 부여됨
  • 해당 키는 스토리지의 루트 액세스 권한에 해당하는 액세스 권한을 모든 사용자에게 부여
  • 공유 액세스 서명 : 세부적인 액세스 권한 부여 가능 
  • 사용자 위임 SAS : Blob Storage에서만 사용 가능하며 Microsoft Entra 자격 증명으로 보호
  • 서비스 SAS : 4개의 Storage 서비스 중 하나에 대한 액세스 권한을 위임하며 스토리지 계정 키를 사용하여 보호
  • 계정 SAS : 서비스 SAS와 동일한 컨트롤을 포함하지만 서비스 수준에 대한 액세스도 제어 가능하며 스토리지 계정 키를 사용하여 보호 
  • SAS를 가진 모든 사용자가 파일에 액세스할 수 있지만 액세스가 계속 유효하기 때문에 저장된 액세스 정책과 연결 
  • 정책을 변경하면 연결된 모든 SAS에 영향

  

Azure Storage Explorer를 사용하여 데이터 업로드, 다운로드 및 관리  

  • 저장된 데이터 액세스 및 관리 최소화하기 위해 Microsoft에서 개발한 GUI 애플리케이션
  • 편집, 다운로드, 복사, 삭제를 비롯한 다양한 스토리지 및 데이터 조작 작업   
  • 여러 구독에 여러 스토리지 계정 관리
  • 로컬 에뮬레이터 사용   
  • 관리 권한 > 다양한 스토리지 계정, 컨테이너 및 서비스 엔드포인트 목록을 볼 수 있는 데 사용
  • 데이터 계층 권한 : Blob, 컨테이너 및 기타 데이터 리소스에 액세스하는 데 사용 
  • Azure에 Storage Explorer 연결 방법
  • 1) Microsoft Entra ID를 사용하여 리소스 추가
  • 2) 연결 문자열 사용 
  • 3) SAS URI 사용
  • 4) 이름 및 키 사용 : 액세스 키 사용
  • 5) 로컬 에뮬레이터 연결
  • 6) URI 사용하여 Azure Data Lake Storage에 연결 
  • Data Lake Storage : 대량의 데이터 워크로드를 지원하며 엔터프라이즈급 기능 제공