Amazon S3 - Moving between Storage Classes
- 스토리지 클래스 간 객체 이동 가능

- 객체에 자주 액세스하지 않으면 Standard IA로 이동
- 객체를 아카이브하려면 Glacier Deep Archive 티어로 이동
- 객체는 수동으로 옮기거나 수명 주기 규칙을 이용하여 자동화 가능
Amazon S3 - Lifecycle Rules
- Transition Actions
- 다른 스토리지 클래스로 객체를 전환하도록 구성
- 생성 60일 후 Standard IA로 이동하거나 6개월 후 Glacier에 아카이빙 되도록 설정할 수 있음
- Expiration actions
- 일정 시간이 지나면 객체가 삭제 또는 만료되게 할 수 있음
- 365일 후에 액세스 로그 파일을 삭제하도록 하거나
- 버저닝을 활성화한 경우 이전 버전의 파일을 삭제하도록 설정 가능
- 또는 완료되지 않은 멀이파트 업로드는 삭제하도록 구성할 수 있음
- 규칙에는 특정 접두사를 사용하여 전체 버킷이나 버킷의 일부 경로에만 적용할 수 있음
- 특정 객체 태그에만 지정할 수 있음
- 예로 '회계과' 태그가 붙은 객체에만 규칙을 적용할 수 있는 것
- 문제 예시 1

- 문제 예시 2

Amazon S3 Analytics - Storage Class Analysis
- 클래스 간 객체 전환시 최적의 기간 설정을 도와줌
- Standard와 Stardad IA에서 사용 권장
- One-Zone IA 나 Glacier은 해당되지 않음
- S3 Analystic 실행시 버킷에 대한 권장 사항과 통계를 csv 파일로 제공
- 보고서는 매일 업데이트되고 데이터 분석 결과까지 24시간에서 48시간 시요
- csv 보고서로 수명 주기 규칙을 알아보고 개산 방향 고려 가능

S3 - Requester Pays
- 버킷 소유자가 아니라 요청자가 객체 데이터 다운로드 비용을 지불
- 다운로드와 관련된 네트워킹 비용을 지불하는 것
- 대량의 데이터 셋을 다른 계정과 공유할 때 유용
- 요청자가 익명이면 안됨, AWS에서 인증을 받아야 가능
S3 - Event Notifications
- 객체 생성, 삭제, 복원, 복제 발생 경우에 이벤트 발생
- SQS, SNS, Lambda 또는 Amazon EventBridge로 알림을 보냄

- 이벤트가 Amazon S3 버킷으로 이동하면 이벤트 종류와 상관없이 모든 이벤트는 Amazon EventBridge로 모이게 할 수 있음


- prefix : 접두사

S3 - Byte Range Fetches

S3 select & Glacier Select
- S3에서 파일을 검색할 때 검색 후 필터링하면 너무 많은 데이터가 검색됨
- 따라서 서버 측에서 필터링을 수행
- SQL 문에서 간단한 행과 열을 사용해 필터링 가능
- 네트워크 전송이 줄어들기 때문에 CPU 비용도 줄어듬

S3 Batch Operations
- 단일 요청으로 기존 S3 객체에서 대량 작업을 수행하는 서비스
- 한 번에 많은 S3 객체의 메타데이터 & properties 수정 가능
- 배치 작업으로 S3 바컷 간 객체 복사 가능
- S3 버킷 내 암호화되지 않은 모든 객체를 암호화 가능
- ACLs or tags 수정 가능
- S3 Glacier에서 한 번에 많은 객체 복원 가능
- Lambda 함수 호출을 통해 S3 Batch Operations의 모든 객체에서 사용자 지정 작업 수행 가능
- 작업은 객체의 목록, 수행할 작업 옵션 매개 변수로 구성
- retries, tracks progress, send completion notifications, generate reports 등 가능

- S3 Inventory 기능을 사용해 객체 목록을 가져오고
- S3 Select을 사용해 객체를 필터링
- S3 Inventory와 Select을 사용해 배치 작업에 포함하려는 필터링된 객체 목록을 얻은 후 S3 Batch Operations에 수행할 작업, 매개 변수와 함께 객체 목록을 전달
- 이후 S3 배치가 작업을 수행하고 객체를 처리