Amazon S3

이민기·2024년 4월 1일

클라우드

목록 보기
4/6
post-thumbnail

Amazon Simple Storage Service(Amazon S3)는 업계 최고의 확장성, 데이터 가용성, 보안 및 성능을 제공하는 객체 스토리지 서비스이다. 데이터 레이크(구조화되거나 반구조화되거나 구조화되지 않은 대량의 데이터를 저장, 처리, 보호하기 위한 중앙 집중식 저장소) , 웹 사이트, 모바일 애플리케이션, 백업 및 복원, 아카이브, IoT, 빅 데이터 분석 등 다양한 사용 사례에 원하는 양의 데이터를 저장하고 보호할 수 있다.

Amazon S3의 기능

스토리지 클래스

Amazon S3는 다양한 스토리지 클래스를 제공한다. 이미지, 동영상, 워드등 업로드, 삭제, 업데이트만 가능하다. 무제한 용량으로 하나의 객체를 업로드 하는데 5TB까지 가능하다(하나의 파일은 용량제한이 존재하지만 파일을 몇개 업로드 하는지는 무제한). Bucket디렉토리의 개념으로 하나의 단위이고 Bucket의 이름은 전세계에서 고유값을 가진다.

S3 객체의 구성

Key : 파일의 이름(경로)

Value : 파일의 실제 데이터

Version ID : 파일의 버전 아이디 값

Metadata : 파일의 정보를 담은 데이터(S3에 업로드시 value와 함께 업로드 가능하다.)

ACL : 파일의 권한을 담은 데이터

Torrents : 토렌트 공유를 위한 데이터

Amazon S3 동작 예시

(W1과 W2)(R1과 R2)가 실행되기 전에 완료되기 때문에( R1과 R2)color = ruby 반환

R2W2가 완료된 후에 실행이 되지만 R1W2가 실행되는 중에 실행이 되기 때문에 color = ruby 혹은 color = garnet를 반환할 수 있다.

W1이 완료 승인을 받기 전에 W2가 시작되었다. 동시에 작성이 이루어진 것으로 간주한다. S3는 내부적으로 최종 작성자 인정(last-writer-wins)의미를 사용하여 어떤 W가 우선하는지 결정한다. 그러나 요청 수신 순서와 승인 순서는 네트워크 대기 시간 등의 다양한 요인으로 예측할 수 없다. 이때 가장 좋은 방법은 모든 W가 진행된 후에 R를 실행하는 것이다.

Lifecycle

S3의 수명 주기는 간단히 설명하면,

“새로 생성된 파일은 ()하고, 이전 버전의 파일은 삭제한다.”

()안에 들어가는 문장은

  1. 30일이 지난 후 삭제
  2. 30일이 지난 후 S3 Standard-IA로 이동

수명 주기의 사용 목적

  • 비용 절감 : 엑세스가 적은 데이터를 저렴한 스토리지로 이동시켜 비용 감소
  • 자동 정리 : 오래된 또는 필요 없는 데이터를 설정한 기간 이후에 자동으로 삭제하여 저장 공간을 효율적으로 관리한다.
  • 데이터 관리 간소화 : 수명 주기 규칙을 설정하면, 수동으로 관리할 필요없이 지정한 원하는 방식으로 데이터의 저장 및 삭제를 자동화
  • 백업 데이터 : 일정시간이 지난 백업 데이터를 Glacier나 Glacier Deep Archive로 이동하여 장기 보관 비용을 감소

이러한 수명주기의 이유는 무한으로 증가되는 S3 버킷 용량을 주기적으로 정리하는데 목적이 있다.

  1. Bucket 에 데이터를 저장 (S3 Standard)
  2. 30일이 지난 데이터를 더 저렴한 S3 Standard-IA로 전환
  3. 이후 중요한 데이터는 S3 Glacier로 전환 or 1년 후 삭제

위와 같이 S3스토리지 클래스 간 전환에는 폭포수형(Waterfall Model)을 지원한다. (상위에서 하위로의 이동만 가능)

References

AWS S3 -

https://docs.aws.amazon.com/ko_kr/AmazonS3/latest/userguide/Welcome.html

https://velog.io/@ghldjfldj/AWS-S3란-무엇인가

AWS S3 Lifecyce -

https://bigco-growth-diary.tistory.com/46

profile
개발자 도전기

0개의 댓글