Udemy - Stephane Maarek AWS SAA 강의를 듣고 메모 목적으로 남김
1. S3 수명 주기 규칙 (S3 Lifecycle Rules)
- 목적: 객체의 수명 주기에 따라 스토리지 클래스를 자동으로 변경하거나 삭제하여 비용을 최적화함.
- 전환 작업 (Transition Actions):
- 객체를 다른 스토리지 클래스로 이동하도록 구성함.
- 예: 생성 30일 후 Standard-IA로 이동, 60일 후 Glacier로 이동.
- 만료 작업 (Expiration Actions):
- 지정된 시간 후에 객체를 자동으로 삭제함.
- 예: 로그 파일을 365일 후에 삭제하거나, 버전 관리 중인 이전 버전 객체를 정리할 때 유용함.
- 규칙 적용 범위: 전체 버킷 또는 특정 접두사(Prefix)나 태그(Tag)를 가진 객체에만 규칙을 적용할 수 있음.
2. S3 분석 - 스토리지 클래스 분석 (S3 Storage Class Analysis)
- 기능: 적절한 시점에 데이터를 어떤 스토리지 클래스로 옮겨야 할지 결정하는 데 도움을 주는 도구임.
- 특징:
- 데이터 액세스 패턴을 분석하여 보고서를 생성함.
- Standard 또는 Standard-IA 계층에 대해서만 분석을 지원하며, Glacier 계층은 지원하지 않음.
- 분석 결과는 매일 업데이트되며, 이를 바탕으로 수명 주기 규칙을 더 정교하게 설정할 수 있음.
S3는 기본적으로 초당 수천 건의 요청을 처리할 수 있는 매우 높은 성능을 제공함.
- 접두사당 성능 (Performance per Prefix):
- S3 버킷 내의 각 접두사(Prefix)마다 초당 3,500개의 PUT/COPY/POST/DELETE 요청과 5,500개의 GET/HEAD 요청을 처리할 수 있음.
- 접두사 개수에는 제한이 없으므로, 데이터를 여러 폴더(접두사)로 분산하면 성능을 수평적으로 무한히 확장할 수 있음.
- KMS 제한 사항:
- SSE-KMS로 암호화된 파일을 업로드/다운로드할 때는 KMS API의 초당 요청 제한(리전별로 5,500~30,000회)에 영향을 받음.
- 이 한도를 초과해야 할 경우 AWS에 할당량 상향 요청을 하거나, S3 버킷 키(Bucket Key)를 사용해 KMS 호출 횟수를 줄여야 함.
- 멀티파트 업로드 (Multi-part Upload):
- 100MB 이상의 대용량 파일 업로드 시 필수적으로 권장됨 (5GB 초과 시 필수).
- 파일을 여러 조각으로 나누어 병렬로 전송하므로 전송 속도가 빠르고, 네트워크 장애 시 실패한 조각만 다시 보내면 됨.
- S3 전송 가속화 (S3 Transfer Acceleration):
- 전 세계 사용자가 파일을 업로드할 때, 공용 인터넷 대신 AWS의 글로벌 네트워크(Edge Location)를 경유하여 가장 가까운 지점에서 AWS 백본망을 타고 리전으로 전송하는 방식.
- 전송 거리와 지연 시간을 획기적으로 줄여줌.
4. S3 Select 및 Glacier Select
- 개념: S3 객체에서 데이터 전체를 다운로드하지 않고, SQL 문법(SELECT 등)을 사용하여 필요한 데이터만 필터링하여 가져오는 기능임.
- 장점:
- 네트워크 트래픽(데이터 전송량)을 크게 줄일 수 있음.
- 클라이언트 측의 CPU 사용량을 절감하여 성능을 최대 400% 향상시키고 비용을 80%까지 아낄 수 있음.
- 지원 형식: CSV, JSON, Parquet (S3 Select 전용).
5. S3 이벤트 알림 (Event Notifications)
- 개념: 버킷 내에서 특정 이벤트(객체 생성, 삭제, 복제 등)가 발생할 때 자동으로 알림을 보내는 기능.
- 대상 (Targets):
- SNS Topic: 이메일이나 SMS 알림.
- SQS Queue: 비동기 처리를 위한 메시지 큐.
- Lambda Function: 특정 로직을 즉시 실행(예: 이미지 업로드 시 썸네일 생성).
- 특징: 보통 몇 초 이내에 알림이 전달되지만, 드물게 1분 이상 걸릴 수도 있음.
6. S3 EventBridge 통합
- 개념: S3 이벤트를 Amazon EventBridge로 직접 보내는 방식.
- 장점:
- S3 이벤트 알림보다 더 많은 서비스(18개 이상)를 대상으로 지정할 수 있음.
- 고급 필터링 규칙과 메타데이터 기반 라우팅이 가능함.
- 여러 대상에 이벤트를 동시에 보내거나 아카이브/재생 기능을 사용할 수 있음.
7. S3 Object Lambda
- 개념: 애플리케이션이 S3에서 객체를 검색할 때(GET 요청), Lambda 함수를 거쳐 데이터를 실시간으로 변환하여 반환하는 기능.
- 활용 예시:
- 개인 정보(주민번호 등) 마스킹 처리.
- 이미지 크기 조정 또는 워터마크 삽입.
- 특정 사용자 그룹에 대해 파일 형식 변환(예: JSON -> XML).
- 특징: 원본 파일은 그대로 두고, 요청 시점에만 데이터를 가공하므로 관리 효율성이 높음.
8. S3 스토리지 렌즈 (S3 Storage Lens)
- 개념: 조직 전체의 S3 사용 현황과 활동 지표를 한눈에 파악할 수 있는 대시보드 도구임.
- 특징:
- 계정 수준 또는 조직(Organizations) 수준에서 데이터를 시각화함.
- 비용 최적화, 보안 위반 사항(퍼블릭 버킷 등), 데이터 보호 상태 등에 대한 권장 사항을 제공함.
- 기본 대시보드는 무료로 제공되며, 고급 지표는 유료임.