본문 바로가기
AWS (Amazon Web Services)

Amazon Simple Storage Service (S3)

by 책읽는구리 2019. 5. 26.
반응형

Introduction to Amazon Simple Storage Service (S3)

S3는 Amazon의 "object storage" 서비스다.


[특징]
- 99.999999999% of durability(내구성)


[S3 Storage Classes]

(1) S3 Standard

- 99.99% availability

- 99.999999999 (11 * 9s) durability

- designed to sustain the loss of 2 facilities concurrently

(2) S3 - IA (Infrequently Accessed)

- 자주 접근되지 않지만, 가끔 필요할 때는 빠른 속도로 검색하는 경우를 위한 S3

- S3 Standard 보다 가격이 저렴하지만, retrieval fee (검색 비용)이 따로 요구됨

(3) S3 One Zone - IA (Infrequently Accessed)

- lower-cost options for inrequently accessed data

- mutiple Availability Zone data resilience 가 필요하지 않은 경우

- 하나의 Avalabiltiy Zone에 데이터가 구성된다.

(4) S3 - Intelligent Tiering

- 분석 기법을 이용해 데이터를 비용최적화된 클래스로 자동으로 옮겨준다.

-  성능이나 운영상의 오버헤드는 없다

(5) S3 Glacier

- low-cost stroage class for data archiving

- Retrieval times (검색 시간) configurable from minutes to hours.

(6) S3 Glacier Deep Archive

- lowest-cost storage (가장 저렴한)

- retrieval time of 12 hours


[CRR - Cross Region Replication]

- 재해를 대비해서 다른 리전간의 버킷을 구성하고 복제를 수행

- source bucket, target bucket 을 선택해서 복제 수행

- bucket versioning 기능이 활성화 되어 있어야 사용 가능하다

- source target에 기존에 올라간 객체에 대해서는 자동으로 복제가 진행되지 않는다.

- Delete Marker는 복제되지 않는다. (Versioning 기능으로 인해 실제 파일은 살아있기 때문에)

- version 파일이 삭제되는 경우에도 (Versions Show 화면에서 삭제하면 실제 파일이 삭제된다) 복제되지 않는다.


[Transfer Acceleration]

- CloudFront의 Edge location 이용한 업로드 기법

- CloudFront 엣지 로케이션에 있고, 엣지 로케이션과 리전은 "백본"망으로 연결되어 있기 때문에 인터넷망 보다 속도가 훨씬 빠르다.

- S3 멀리 있는 유저의 경우 기능을 사용하게 되면 속도 체감이 가능하다

** Transfer Acceleration 테스트 페이지 - 구글 검색어 Amazon S3 Transfer Acceleration Speed Comparison

- end user와 S3 bucket 사이의 "먼 거리를" 빠르고, 쉽고, 안전하게 전송할 수 있도록 해준다.

- Edge location에 데이터가 도착하면 Amazon S3까지 가는 가장 효율적인 경로를 결정한다.


[실습 정리]

1. Create a bucket
Amazon S3의 모든 object 는 "bucket" 이라는 곳에 저장된다.

- bucket name은 계정이나 region에 상관없이 Amazon S3 에서 유일해야 한다. (전체 S3에서 유일하게 만들려면... 이름 만들기 어려울 것 같은데...??? 왜 이렇게 되어 있을까..??)

- bucket name은 생성된 후에 변경될 수 없다.

- bucket이 존재하는 region을 선택하는데, region을 잘 선택하면 다음과 같은 효과가 있다.
  optimize latency, minimize costs, address regulatory requirements

- default로, new S3 buckets과 그 안의 objects는 pulbic 접근 권한이 없다. 세팅을 통해서 enable 할 수 있다.

2. Upload an object to the bucket

3. Make an object public
object는 text, photo, video, zip 같은 파일이다.
object별로 metadata 또는 permissions 같은 옵션을 지정할 수 있다.

- bucket이 "not to allow public access"로 설정되어 있는 경우, object에 public read 권한을 줄 수 없다.

- bucket 자체에 access 권한을 세팅하면 bucket의 모든 object에 권한이 세팅된다.

4. Create a bucket policy
bucket 전체 또는 특정 디렉토리에 대해 정책을 세팅하고 싶으면 bucket policy를 세팅하면 된다.
ARN을 이용해서 bucket policy를 세팅할 수 있다.


ARN (Amazon Resource Name)
전체 AWS 에서 AWS resource를 유일하게 식별하는 식별자
format = "arn:partition:service:region:account-id:resource"
S3는 region, account-id를 필요로 하지 않기 때문에 blank로 세팅된다.
ARN 은 AWS에서 자원에 접근하기 위한 standard way. ARN 마지막에 /* 를 추가하면 bucket내의 모든 object를 의미함.

5. Explore versioning
Versioning을 통해서 preserve, retrieve, resotre 기능을 사용할 수 있다.
특히, 의도하지 않았던 

 

 

 

 

반응형

댓글