[SAA] Amazon S3 - Advanced

Blue·2024년 2월 16일
0

SAA

목록 보기
12/25

이전에서 조금 고급 내용을 다룬다.
객체를 Storage Class 간에 이동할수 있다고 한다.
만약 내가 가진 Object 가 자주 접근 안한다./.?
그러면 Standard IA로 이동하는 것이다.
근데 Glacier 에서 Standard IA 이렇게는 이동 못함

이렇게 이동하는것을 LifeCycle Rules 를 사용해서 자동화 할수 있다.

Amazon S3 - Lifecycle Rules

다른 클래스로 이동하는것을 설정하는 수명 주기 규칙이다.

두개의 액션이 있다.
하나는 전환작업으로 생성하고 6개월후에 다른클래스 또 6개월후에 다른 클래스로 이동하는것이다.
또하나는 만료작업인데 그냥 생성되고 몇일 뒤에 삭제하는것이다.

// 프로필 사진이 Amazon S3 에 업로드된 후 EC2 인스턴스에서 애플리케이션이 썸네일을 생성한다.
이 썸네일들은 손쉽게 재생성할 수 있으며 45일간만 보관된다. 45일 동안은 원본 사진 파일을 즉시 회수할 수 있으며 그 이후에는 사진을 다운로드 받을 때 유저가 최대 6시간까지 기다릴 수 있다.
이 솔루션을 어떻게 설계할 수 있을까?

이런 시나리오가 있을떄 원본은 Standard 로 두고 60일 후에는 Glacier 로 이동하면 된다. 그리고 썸내일은 One-zone IA 에 두면 된다.여기서는 재생성이 되기떄문임. 그리고 45일 후에 만료 작업을 해두면 된다.

Amazon S3 Analytics - Storage Class Analysis

어떻게 객체를 다른 Class 로 이전할 최적의 일수를 알수 있을까?
이건 OneZone-IA 나 Glacier 에는 안되고 Standard 나 standard IA 에만 가능하다.
이걸 활성화하면 매일 정보들이 업데이트 되고 처음 활성화 할떄까지는 24시간에서 48시간이 필요하다고 한다.
이렇게 Analysis를 보고 내가 가진 Object 를 보고 일수를 정할수 있는것이다.

S3 - Requester Pays

원래는 Owner 가 Storage Cost 랑 networking Cost 둘다 담당을 한다.
근데 만약 수많은 대형파일이 있다면 어떻게 다 감당하나?
그래서 Request Pay를 활성화해서 Networking Cost는 Requester 가 담당하는것이다.

S3 - Event Notifications

event 는 객체 생성,삭제,복구 를 다 event 라고 한다.
보통 Amazon S3 에 업로드 된 사진의 썸네일을 생성할떄 이걸 생성한다고 하는데...

이벤트 알림 대상으로는 SNS,SQS,Lambda Fucntion 이렇게3개가 있다고 한다.

근데 Event Alarm 작동하려면 IAM 권한이 있어야하고 Amazon S3 가 함수를 호출할 권한을 제공해야한다.

S3 - Baseline Performance

일단 S3 는 성능이 개좋다.
지연율이 100-200 ms 라고 한다.
그리고 prefix 가 초당 3,500 개 정도의 PUT/COPY/POST/DELETE 요청을 처리하고 prefix 초당 5,500 개의 및 GET/HEAD 요청을 버킷 내에서 처리한다.

bucket/folder1/sub1/file 에서 folder1/sub1/ 이 접두산데 만약 4개 prefix에서 작업한다면 초당 22000개의 Head 와 Get 요청을 처리할수 있게 된다고 한다.

S3 Performance

Multi-part Upload 는 분할 업드르로 100MB 이상이면 추천하고 5GB 이상이면 무조건 이거 써야한다고 한다.
업로드를 병렬화 해서 전송속도를 높인후에 대역폭을 최대화하고 자동으로 S3 안에서 다시 하나의 파일이 된다.

S3 Transter Acceleration 은 파일을 Aws Edge Loaction 으로 전송해서 전송속도를 높이는것이다.
Multi part upload 랑도 호환이 된다. 이렇게 해서 Public Internate Usage 를 최소화 하고 private Aws Network 사용량을 최대화 한다.

S3 Byte-Range Fetches 는 다운로드 속도를 높이는 방식으로 특정 Byte 범위를 가져와서 Get 요청을 병렬화 하는것이다.

S3 Select & Glacier Select

S3 에서는 파일 검색하면 너무 많은 데이터를 가져온다 그래서 서버측 필터링을 통해서 필요한 데이터만 쿼리할수 있게 한다.

profile
할수있다가 아닌 해야한다!!

0개의 댓글