Storage Classes 사이 이동
- 스토리지 클래스 간에 객체를 이동시킬 수 있다.

Lifecycle Rules
Requester Pays
- 일반적으로, 버킷 소유주들이 S3 저장소 비용과 데이터 전송 비용을 부담.
- Requester Pays Bucket 이용시, 버킷 대신 요청자가 지불: 소유자는 여전히 개체 저장소 비용을 내지만, 요청자는 개체 다운로드와 관련된 네트워킹 비용을 지불.
Event Notifications
- 이벤트 알림 생성: s3 객체로 이벤트(객체 생성, 이동, 복원, 복제)가 들어오면, 이러한 이벤트를 이벤트 알림 타겟인 sns, sqs, lambda function으로 보냄.
IAM permission
- 이벤트 알림을 위해 IAM 승인 필요.
- S3이 데이터를 전송하도록 승인: SNS/SQS 리소스(액세스) 정책 첨부.
- S3이 함수를 호출하도록 승인: 람다 리소스 정책

Amazon EventBridge
- 거의 실시간으로 이벤트를 자동으로 전송하는 서비스
- JSON 룰에 따른 필터링 옵션(메타 데이터, 객체 크기, 이름)
- 동시에 여러 곳으로 전송 가능
- 저장하고 다시 재생하면 더 신뢰할 수 있는 전달 가능.

Multi-Part upload
- 파일 업로드 방식: 100MB 이상 파일에 권장됨. 5GB 이상일 땐 필수.
- 바이트 파일을 작은 파트로 나누어서 각각의 파일은 s3으로 병렬 업로드 됨.

S3 Transfer Acceleration
- 파일을 AWS edge location 으로 전송해 속도를 높임. 목표 지역에 있는 s3 버킷으로 데이터 전송.
- Multi-Part upload와 호환 가능.
- 예를 들어, USA에 있는 파일을 호주의 S3 버킷에 올리고 싶다면, 파일을 공용 인터넷을 사용해 USA 엣지 로케이션으로 업로드함. 그리고 엣지 로케이션에서 프라이빗 AWS 네트워크를 사용해 호주의 S3버킷으로 보냄.
-> 공용 인터넷의 양을 최소화, 프라이빗 AWS 네트워크 양을 최대화해 전송 속도를 높임.

S3 Byte-Range Fetches
- 파일을 위한 특정 바이트 범위를 가져와서 GET 요청을 병렬화함.
- 다운로드 속도 높이기: S3 파의 특정 바이트 범위를 페치해달라고 요청. 요청이 병렬적으로 일어나고, 다운로드 수를 늘려 속도가 높아짐.
- 파일 일부분만 검색: 바이트 범위에 대한 헤더 요청을 발급.