AWS DVA-C02 #14 S3 lambda Trigger
AWS DVA-C02 #14 S3 lambda Trigger — #개발자의도구들 #AWS시험 #AWSDVAC02 #DVAc02문제 #DVAc02덤프 참고: ExamPotic Dissc...
#개발자의도구들 #AWS시험 #AWSDVAC02 #DVAc02문제 #DVAc02덤프
참고: ExamPotic Disscussion
문제 찾는법 : 여기 최하단
요구사항 분석
- 저장 규제: 원본(PII 포함)을 10년간 변경 없이 보관 → S3에 immutable하게 저장 (버전 관리 + Object Lock 가능)
- 접근 제약:
- 사내 특정 인원 → 원본 그대로 접근 가능
- 제3자 → PII 제거 후 가공된 버전만 접근 가능
- 중복 저장 금지: 원본과 가공본을 두 개 파일로 따로 보관 X → 유지보수·비용 문제
- 개발자 코드: Lambda 함수 removePii로 PII 제거 가능
- 목표: 같은 원본 객체를 요청자에 따라 다르게 반환하는 구조 필요
보기 분석
A. S3 GET 요청시 Event Notification으로 Lambda를 호출한다.
❌❌ ⚠️ 정답으로 선택했었다.
❌ : S3 Event Notifications는 GET 요청에 의해 트리거 되지 않는다. (PUT, POST, COPY, DELETE는 가능).
GET을 가로채서 변환하려면 S3 Object Lambda가 필요함
B. S3 PUT 요청시 Event Notification으로 Lambda를 호출한다.
❌ : one copy only 조건 위반 , PUT할 때가 아니라 GET 할때 PII를 제거해야함
C. S3 Object Lambda Access Point + removePii 함수
✅ 여기에 대한 개념 부족 아래 정리
D. S3 Access point + GetObjectLegalHold API + Lambda
❌ 이것도 개녀 부족 아래 정리
개념 정리
S3 Object Lambda
기존 S3 객체 접근 시 Lambda 함수를 중간에 삽입해 데이터를 변환하거나 필터링 가능
- 예:
- 이미지 리사이징
- CSV → JSON 변환
- PII 마스킹
- 장점
- 원본은 S3에 하나만 유지
- 요청자마다 다른 버전 반환 가능
- 기존 애플리케이션에서 S3 호출 방식 그대로 사용 (Access Point만 변경)
Client -> S3 Object Lambda Access Point -> Lambda -> S3(원본) -> Lambda 변환 -> Client
S3 Event Notifications
S3 객체 변경 이벤트(PUT, COPY, DELETE) 발생 시 Lambda, SNS, SQS 호출 가능
⚠️ GET 요청 이벤트는 지원하지 않는다.
S3 Access Points
- S3 버킷에 세분화된 접근 제어 엔드포인트 제공
- 대규모 데이터 세트에서 부서, 팀별 접근 정책 부여
- 데이터 변환 기능 없음
- GetObjectLegalHold API
- 객체에 법적 보존 상태를 조회
- 삭제/변경 방지 목적, 데이터 변환과 무관