본문 바로가기
클라우드/AWS

AWS S3(1)

by dustnn 2024. 11. 7.

컴퓨터 구조 수업에서 하드웨어의 계층에 대해 배운 바 있다.

S3는 가장 하위 계층인 storage부분에 해당한다.

 

컴퓨터가 데이터를 저장하기 위해 두 가지 storage방식을 사용한다.

 

1. On-premises

: 기관이 직접 보유한 storage

(-) 많은 장비를 두어야 하므로 upfront cost 비쌈

(+) 기밀을 안전하게 지킬 수 있음

 

2. cloud storage

: 기관 밖 cloud에서 제공해주는 storage 서비스

(+) 쓰는 만큼 지불 => cost efficient

(+) 보안성 좋음(데이터를 여러 서버에 나눠서 store하기 때문에 server attack 시 위험 부담 적음)

(+) 다수의 사용자 수용 가능

(+) workload에 따라 scaling 가능

(+) server 관리 필요 없어 간편

(+) cloud가 데이터 복사본을 여러 개 가지고 있으므로 EC2가 shut down했다고 해서 데이터 사라지지 않음

 

 

Cloud Storage 종류

 

1. Block Storage

- 데이터를 block 단위로 나누고 각 block별로 고유의 identifier와 함께 보관

- OS나 SAN(Storage Area Network)에 의해 운영

(+) performance: low-latency access(속도 빠름) & high IOPS(Input/Output Operations Per Second)

(+) flexibility: 데이터가 잘게잘게 쪼개져 있음

(+) reliability: 데이터를 복제해놓아 손실을 막음

ex. high-performance databases, virtual machine file systems

 

2. File Storage

- 계층적 구조에 따라 데이터 정리

- 개인 컴퓨터의 file 형태로 저장 및 접근됨

- NFS, SMB 등 file system protocol에 의해 접근 가능

(+) simplicity: file형식은 친숙한 모델이므로 사용이 편리함

(+) collaboration: 다수의 사용자가 file sharing 가능

(+) compatibility: 다른 OS라도 같이 사용 가능

ex. shared file repositories, content management systems

 

 

3. Object Storage

 

- file들이 속성 별로 구분돼 object형태로 저장됨

- 각 object들은 data, metadata, object key로 구성됨

- metadata란 object size, purpose 등의 object 정보

- object key란 object의 고유 식별자 (고유 식별자의 API를 통해 접근 가능)

- bucket은 object를 담고 있어 object끼리 구별해준다. (bucket 이름+key+version ID)

- flat address 형태 => hierarchy 없음(모든 object 같은 레벨)

- object들은 고유 식별자(ID)를 통해 retrieve됨

- metadata-rich object(많은 정보 포함)

- distributed storage system(node 여러 개 둠으로써 horizontal scaling & 데이터 복제를 통해 reliability)

- HTTP/HTTPS와 같은 프로토콜을 사용한 web-based API 통해 접근 가능

(+) scalability: 대량의 정보 처리 가능

(+) metadata: 확장형 metadata

(+) cost-effectiveness: 적은 비용으로 대량 dataset 저장에 적합

ex. cloud storage services, backup and archival solutions ..

 

 

 

 

 

쉽게 비유해보자면 ,,,

Block Storage같은 경우는 데이터들이 종이조각에 조각조각 저장돼있다. (block)

File Storage같은 경우는 캐비넷(=directory)의 서랍(=file)에 저장돼있다.

Object Storage같은 경우는 상자(=object)에 저장돼있고, QR코드(=identifier)로 식별된다.

 

=> file storage 는 엄격한 기준으로 정리돼있어 비교적 유연성이 부족하며,

object storage는 block storage보다는 느리지만 정리가 필요하지 않고

QR코드만으로 식별 가능하므로 빠르게 데이터 처리가 가능하여 유연성이 꽤 높다.

 

 

 

 

Object storage의 예: Dropbox

 

key(UUID) + data + metadata

 

 

S3

 

AWS의 storage service에는 세 종류가 있다.

EBS(Elastic Block Service): 

EFS(Elastic File Service): 

S3(Amazon Simple Storage Service): object storage 형태를 가진 storage service

 

 

위와 같은 file을 S3에 업로드하면 그 파일이 최소 3개로 복제되고, 

3개의 파일은 서로 다른 availability zone을 가진 instance로 전달된다.(durabiliy & availability)

 

 

 

S3의 이점

- scalabtility

- durability: loss와 관련된 것 => durability 99%이면 파일 100개 중 99개만 보존된다는 뜻

aws는 99.999999999%

- availability: 연도별 object에 접근할 수 있는 날짜 수(90%이면 36.5일은 접근 못 한다는 것)

aws는 99.9%

- performance

- security

 

 

 

AWS S3 Storage Classes

 

 

1. Active storage

: 항상 쓰는(또는 빠른 접근이 필요한) 데이터 저장

ex. files for static website

 

 

2. Archive storage

: 가끔씩만 쓰지만 필요한 데이터 저장

ex. data for compliance or video archive

 

왼쪽으로 갈수록 active, 오른쪽으로 가수록 archive storage

 

 

- Amazon S3 Standard: static content만 포함, log file

- Amazon S3 Standard-Infrequent Access: backups, 자주 접근하지는 않지만 빨리 접근해야 하는 file들

- Amazon S3 One Zone-Infrequent Access: 다른 S3 bucket으로부터 오는 replication backups

- Amazon S3 Glacier Flexible Retrieval: 장기적 backup에 필요

- Amazon S3 Glacier Deep Archive: 장기적 data libraries

- Amazon S3 Intelligent-Tiering: 예측 불가능한, 알려지지 않은, 자주 바뀌는 workload

 

 

 

'클라우드 > AWS' 카테고리의 다른 글

Security(1)  (1) 2024.11.22
AWS EC2(2)  (4) 2024.11.07
AWS EC2(1)  (6) 2024.10.08
클라우드컴퓨팅이란  (3) 2024.10.04