6. 스토리지 서비스 2강. 객체 스토리지
학습내용 - 객체 스토리지 학습목표
- 객체 스토리지의 개념과 제공업체별 서비스를 설명할 수 있다.
1. 객체 스토리지 1) 개념
① 객체
- 비구조적 데이터 블롭(blob)을 개별 블록이 아닌 논리적으로 객체화하여 전체로 저장하 고 불러오는 데 사용
- 이미지 파일, HTML, 페이지, 바이너리, 비디오, 실행 파일, 사용자 생성 콘텐츠 등 대부 분 변경될 가능성이 별로 없는 비구조적인 데이터로 구성
② 인터넷상의 공유 저장소
③ 객체에 대한 메타 데이터에 독립적인 객체 접근 인터페이스 사용으로 이기종 플랫폼에서도 객체 공유 가능
- 애플리케이션은 네임스페이스와 디렉토리 구조 대신 ID와 PUT, POST, GET, DELETE와 같은 몇 가지 간단한 HTTP API(REST API) 호출을 기반으로 객체를 다룸
④ 객체 스토리지는 다기능 측면에서 부족한 부분을 간소화함으로 보상
- 파일 및 블록 스토리지의 과도한 오버헤드가 없으므로 백업 소프트웨어와 같은 애플리 케이션은 방대하게 확장된 스토리지 시스템 전반에서 간단한 요청을 사용해 객체를 저 장하고 불러올 수 있음
- 백업에 객체 스토리지를 사용할 경우 파일 및 블록 스토리지에 비해 유리함
2) AWS 객체 스토리지 – S3(Simple Storage Service) 가. 특징
① 인터넷용 공유 스토리지:인터넷 스토리지를 이용하는 애플리케이션을 손쉽게 개발
② 객체 크기 최대 5TB, 버킷 크기 제한 없음
③ 온라인, HTTP 기반 액세스
④ 웹을 통해 언제 어디서든 원하는 양의 데이터를 저장하고 검색할 수 있는 스토리지
⑤ S3 버킷 생성 시 리전 지정 : 리전 선택 시 고려사항
- 데이터 액세스 지연 시간을 줄이기 위해 고객, 데이터 센터 또는 다른 AWS 리소스 와 가까운 지역
- 지리적 이중화 및 재해 복구 목적을 위해 다른 운영 지역에서 멀리 떨어진 지역 - 특정 법적 및 규제 요구사항을 충족할 수 있는 지역
- 스토리지 비용을 줄일 수 있는 지역, 더 저렴한 리전을 선택해 비용을 절약
⑥ 고도의 확장성, 안정성, 속도 및 내구성 제공
: 연간 객체에 대해 99.9999999999% 내구성과 99.99%의 가용성을 제공하도록 설계 : 최소 3개의 AZ(가용 영역)에 걸쳐 여러 디바이스에 객체를 중복 저장
⑦ 버전 관리
: Amazon S3 버킷에 저장된 모든 버전의 모든 객체를 보존, 검색 및 복원 가능
⑧ 보안
: 리소스 소유주만 자신이 생성하는 S3 리소스에 액세스 가능
: 버킷 및 객체에 대한 액세스는 액세스제어 목록, 버킷 정책, 사용자 인증 및 권한 정 책인 IAM(Identity and Access Management), 쿼리 문자열 인증 등을 통해 제어 가 능
: S3 암호화 클라이언트 이용 암호화 가능
나. AWS S3 스토리지 클래스
① 범용 : S3 표준(standard(
② 변화하는 액세스
- S3 Intelligent-Tiering
- 성능 영향 또는 운영 오버헤드 없이 가장 비용 효과적
- 두 개의 액세스 계층을 이용하여 빈번하거나 빈번하지 않은 액세스에 맞게 비용을 최 적화하기 위해 설계
③ 빈번하지 않은 액세스
- S3 표준 IA(Infrequent Access)
: 자주 액세스하지 않지만 필요할 때 빠르게 액세스해야 하는 데이터 - S3 one Zone-IA(Infrequent Access)
: 단일 AZ에 데이터를 저장하며 비용이 S3 Standard-IA보다 20% 적게 듦
④ 아카이브 - S3 Glacier
: 데이터 보관을 위한 안전하고 내구성 있는 저렴한 클래스 - S3 Glacier Deep Archive
: 가장 저렴한 비용의 스토리지 클래스이며 1년에 한두 번 정도 액세스할 수 있는 데 이터의 장기 보관 및 디지털 보존을 지원
다. AWS S3 가격 예
3) 구글 객체 스토리지 – Cloud Stotage 가. 소개
- 객체 수명 주기 관리로 스토리지 클래스의 가격 및 성능을 최적화
- 보안, 내구성, 오류 또는 서비스 중단에 대한 장애 복구성이 우수한 스토리지 - 데이터 스토리지의 탄소 배출량을 0으로 줄여 줌
- 콘텐츠 전송, 데이터 레이크, 백업에 Cloud Storage 사용
나. 특징
① OLM을 사용한 스토리지 비용 및 성능 관리
- 객체 수명 주기 관리(OLM)를 사용하면 데이터가 특정 기간에 도달하거나 최신 버전의 데이터를 저장한 경우와 같이 지정한 기준을 충족할 때 비용이 더 낮은 스토리지 클래
스로 자동 전환되도록 데이터를 구성할 수 있음
② 다양한 중복성과 성능 요건에 맞는 위치 유형
- Cloud Storage의 전 세계 위치는 지속적으로 늘어나고 있으며 여러 자동 중복 옵션으 로 데이터를 저장할 수 있음
- 빠른 응답 시간을 제공하도록 최적화하거나 강력한 재해 복구 계획을 세우는 등 목적에 맞게 데이터를 저장하는 위치와 방식을 맞춤 가능함
③ 모든 워크로드에 적합한 스토리지 클래스
- 스토리지 클래스는 Cloud Storage에 저장한 데이터에 적용되는 가용성 및 가격 모델을 결정함
- Standard
: 성능과 빈도가 높은 액세스에 맞춰 최적화되어 있음
- Nearline
: 월 1회 미만으로 액세스하는 데이터를 위한 빠르고 내구성 높은 스토리지 옵션
- Coldline
: 분기당 1회 미만으로 액세스하는 데이터를 위한 빠르고 내구성 높은 스토리지 옵션
- Archive
: 연 1회 미만으로 액세스하는 데이터를 위한 가장 저렴한 스토리지 옵션
다. 사용량 한도
4) MS Azure 블록 스토리지 – Azure Blob 가. 소개
- 데이터에 계층화된 스토리지를 사용하여 비용을 최적화
- 고성능 컴퓨팅 및 기계 학습 워크로드를 위해 유연하게 스케일 업 지원 - 99.9% 이상의 가용성 보장
- 여러 스토리지 계층 및 자동화된 수명 주기 관리를 통해 자주 액세스하지 않거나 거의
액세스하지 않는 데이터를 비용 효율적인 방식으로 저장 - 확장성, 지속성 및 가용성 제공
- 99.9% 이상의 가용성 보장
- 대량의 비정형 데이터를 저장하도록 최적화
: 비정형 데이터: 텍스트, 이진 데이터와 같은 특정 데이터 모델이나 정의를 따르지 않는 데이터
- 사용 대상
: 브라우저에 이미지 또는 문서 직접 제공 : 분산 액세스용 파일 저장
: 동영상 및 오디오 스트리밍
: 백업/복원, 재해 복구 및 보관용 데이터 저장
: 온-프레미스 또는 Azure 호스티드 서비스에 의한 분석용 데이터 저장 - HTTP/HTTPS를 통해 어디서나 액세스 가능
- 3가지 유형의 리소스 제공
: 스토리지 계정 : Azure에서 고유의 네임스페이스 : 스토리지 계정의 컨테이너
- 파일시스템의 디렉토리와 비슷한 형태로 Blob 세트 구성
: 컨테이너의 blob
- Blob : 이진 데이터, 속성 및 메타데이터로 구성된 단일 엔터티
: 리소스 URI는 고유해야 함
나. Azure Blob 가격 - 총 비용 결정 요인
: 매월 저장된 데이터 볼륨
: 수행된 작업의 수량 및 형식 + 데이터 전송 비용 : 선택된 데이터 중복성 옵션
: 예) 종량제 데이터 스토리지 가격
평가하기
1. 비구조적 데이터 블롭(blob) 전체를 객체로 저장하고 검색하는데 사용되는 스토 리지로 인터넷상의 공유 저장소 형식으로 사용할 수 있는 스토리지 서비스는?
① 블록 스토리지
② 파일 스토리지
③ 객체 스토리지
④ 파일 시스템 - 정답 : ③
해설 : 객체 스토리지는 이미지 파일, 바이너리 파일, 비디오, 실행파일, 사용자 생성 콘 텐츠 등 대부분 변경될 가능성이 별로 없는 비구조적인 데이터로 구성된 객체의 저장소 로 사용됩니다.
학습정리
1. 객체 스토리지
- 블록 스토리지에서 개별 파일 수준이 아니라 블록 수준에서 작동하는 것과 달리 비구조적 데이터 블롭을 개별 블록이 아닌 전체로 저장하고 불러오는데 사용
- 객체는 이미지, 바이너리, 실행파일, 음성 등 변경될 가능성이 별로 없는 비 구조적 데이터로 구성
- 사례
: AWS S3 서비스
: 구글 Cloud Storage 서비스 : MS Azure Blob 서비스