본문 바로가기

Development

S3

반응형

S3란?

Simple Storage Service(S3)는 AWS에서 제공하는 인터넷 스토리지 서비스이다. 말 그대로 Storage이다. 하나의 버킷에 데이터들을 업로드하면, 인터넷을 통해 어디서든 해당 파일을 다운로드 할 수 있다.

S3 기본 개념

객체(Object)

파일과 메타데이터를 구성하는 저장단위이다. 객체 하나의 크기는 1Byte부터 5TB까지 허용되며 메타데이터는 MIME 형식으로 파일 확장자를 통해 자동으로 설정되며 사용자 임의로도 지정 가능하다.

 

버킷(Bucket)

S3에서 생성할 수 있는 최상위 디렉토리의 개념이다. 객체를 저장하고 관리한다. 계정별로 100개까지 생성 가능하며 버킷에 저장할 수 있는 객체 수와 용량은 무제한이다.

S3 특징

1. S3의 버킷은 무한대의 객체를 저장할 수 있으므로 스토리지의 요구를 미리 추정하여 관리할 필요가 없어 확장/축소에 신경쓰지 않아도 된다.

 

2. 높은 내구성과 가용성을 자랑한다.  어떠한 데이터든 시간이 흐르면서 훼손될 수 있다. 즉, 내구성을 무조건적으로 보장할 수 없다.

 

이런 물리적인 한계를 극복하기 위해 S3 버킷은 기본적으로 내부 복제를 한다. 하나의 객체가 업로드 되면 자동적으로 내부에 객체의 여러 복제본을 만든다. 그렇게 되면 추후에 어떤 데이터가 손상되더라도, 손상되지 않은 복제본이 있기 때문에 이를 사용하여 내구성을 높일 수 있다. 그리고 그만큼 가용성도 높아진다.

 

그런데 내부 복제가 가지는 문제점도 있다. 만약 내부 복제가 모두 완료되지 않은 않은 상태라면 S3는 각각 다른 객체로 요청에 대해 응답한다. 따라서 사용자별 받은 응답의 결과가 다를 수 있다.

 

 🧐 내구성? 가용성?

가용성: 서비스가 항상 정상적으로 동작할 수 있는 상태

내구성: 데이터가 유실되지 않는 것. 손상되지 않는 것

 

출처

https://usefultoknow.tistory.com/entry/Amazon-S3란-무엇일까

https://acstory.tistory.com/33

반응형