AWS

[AWS] S3

어코링 2024. 2. 12. 14:26
S3 (Simple Storage Servise) 

: AWS에서 가장 처음으로 런칭한 프로그램

 

✴ 안전하고 가변적인 Object 저장공간을 제공 (eg. Google Could)

외부에서 안전장치를 걸어서 안전하게 사용가능 / Object은 이미지, 동영상 파일 같은 것, 운영체제 사용 X

✴ 편리한 UI 인터페이스를 통해 어디서나 쉽게 데이터를 저장하고 불러올 수 있음

✴ 파일 크기는 0KB부터 5TB까지 지원

✴ 저장공간 무제한 (하드디스크와 달리 방대한 양의 파일들을 보관할 수 있다.)

✴ Bucket이라는 이름을 사용함 (디렉토리와 유사함)

Bucket을 사용자가 부여할 수 있다. 폴더를 만들고 이름을 지정해주는 것과 같음

✴ Bucket은 보편적인 namespace를 사용함 = Bucket이름은 고유해야함

 

S3 Object 구성요소

 Key

: 파일명

 Value

: 파일에 대한 data

 Version ID

S3의 고유 특징

 Metadata

: 데이터의 데이터라는 뜻. 언제 파일이 업로드 되었는지 그리고 어떤 팀의 이 파일의 오너인지 등등에 대한 다양한 정보들이 담겨있다. 또한 직접 수정이 가능하다.

 CORS (Croess Origin Resource Sharing)

: 한 버켓의 파일을 다른 버켓에서 접근 가능하게 해주는 기능 (+지역 무시)

S3 Data Consistency Model

1. Read after Write Consitency (PUT)

: 파일이 S3 버킷에 올라간다면 그 파일을 즉시 사용할 수 있다는 뜻 (과정없이)

PUT : S3 버킷에 파일을 올릴 때 사용한다.

2. Eventual Consistency (UPDATE, DELETE)

: PUT과 달리 UPDATE, DELETE를 사용하여 버킷에 올라간 파일 내용을 변경시키거나 삭제할 시 그결과가 바로 ㅏ타나지 않는다.

육안으로 보기에는 그렇더라도 S3 내부에서는 그렇지 않다.

다양한 S3 스토리지 타입

✴ 일반 S3

- 가장 보편적으로 사용되는 스토리지 타입

- 높은 내구성, 가용성 (Durability, Availability)

내구성 : 얼마나 데이터의 손실이 없이 잘 복원되어지는지

가용성 : 얼마나 데이터 접근이 용이한지에 대한 의미

✴ S3 - IA (Infrequent Access)

- 자주 접근되지는 않으나 접근시 빠른 접근이 요구되는 파일이 많을시 유용

- 일반 S3에 비해 비용은 저렴하나 접근시 추가 비용 발생

- 멀티 AZ를 통한 데이터 저장 (가용성이 상당히 높음)

✴ S3 - One Zone IA

- 단일 AZ를 통한 데이터 저장

만약, 하나의 AZ가 서버다운한다면 원존 스토리지를 사용할 수 없게 된다. ⭢ 서버의 다운 문제가 해결된 후에 접근 가능

- 단일 AZ에 의한 데이터 접근 제한 (조금 낮은 가용성)

- 데이터 접근시 S3 - IA보다 20% 비용 저렴

✴ Glacier

- 거의 접근하지 않을 데이터 저장 시 유용

- 매우 저렴한 비용

- 데이터 접근시 대략 4-5시간 소요

✴ Intelligent Tiering

- 데이터 접근 주기가 불규칙할때 매우 유용

- 2가지 티어 존재

    Frequent Tier (접근 ⭡)

    Infrequent Tier (접근 ⭣)

- 데이터 접근 주기에 따라 두가지 티어중 하나로 선택됨

왔다리 갔다리 (효율적)

- Frequent Tier가 비용이 약간 더 비쌈

- 최고의 비용 절감 효율을 누릴 수 있음

S3 요금

GB당

PUT, GET, COPY 요청 횟수당

데이터 다운로드시 / 다른 리소스로 전송시

Metadata (Object tag)