[AWS] S3 Event 알림이란?

비전·2025년 1월 15일
0

AWS 실습

목록 보기
49/54

AWS S3 이벤트 알림은 S3 버킷에서 발생하는 특정 이벤트를 감지하고 이를 기반으로 알림을 트리거하는 기능입니다.
S3에 객체가 생성되거나 삭제되는 등 특정 작업이 발생했을 때, 이 정보를 Amazon SNS, SQS, 또는 Lambad와 같은 다른 AWS 서비스로 전달하여 자동으로 워크플로우를 실행할 수 있습니다.

1. S3 이벤트 종류

  1. ObjectCreate : S3 버킷에 객체가 새로 생성될 때 트리거 합니다.
  2. ObjectRemoved: S3 버킷에서 객체가 삭제될 때 트리거됩니다.
  3. ObjectRestore: S3 객체가 복원될 때 트리거됩니다.
  4. Replication: S3 객체가 복제될 때 트리거됩니다.

2. 객체 이름 필터링

특정 파일 형식이나 이름 패턴을 기반으로 이벤트를 선택적으로 트리거할 수 있습니다.
예를들어, *.jpg 파일만 감지하도록 설정합니다.

사용사례는 다음과 같이 들을 수 있습니다. 이미지 업로드시 썸네일 생성
1. 사용자가 S3 버킷에 이미지를 업로드하면 S3:ObjectCreated 이벤트가 발생합니다.
2. 해당 이벤트는 Lambda 함수를 호출하여 업로드된 이미지의 썸네일을 생성하고 S3 버킷에 저장합니다.

3. S3 이벤트 알림 - IAM 권한

이벤트 알림을 위해서는 IAM 권한이 필요합니다.
위 사진처럼 SNS 서비스를 사용한다면 액세스 정책을 첨부합니다.
마찬가지로 SQS, Lambda 서비스도 액세스 정책을 첨부해야 합니다.

4. S3 이벤트 알림 - EventBridge 연동

AWS S3 이벤트 알림은 기본적인 이벤트 트리거 외에도 고급 필터링과 다양한 대상 서비스와의 연동 기능을 제공합니다. 이를 통해 더욱 세분화된 조건으로 이벤트를 처리하고, 복잡한 워크플로우를 구현할 수 있습니다.

고급 필터링 옵션

S3 이벤트 알림은 JSON 규칙을 사용하여 보다 세부적인 필터링 조건을 설정할 수 있습니다.
이를 통해 S3 이벤트를 트리거하는 조건을 더욱 정밀하게 정의할 수 있습니다.

다중 대상 설정

S3 이벤트 알림은 하나의 이벤트를 기반으로 여러 대상 서비스에 알림을 보낼 수 있습니다

  • AWS Lambda: 특정 로직 실행 (예: 이미지 처리, 데이터 변환 등)
  • Step Functions: 복잡한 상태 기반 워크플로우 관리
  • Kinesis Data Streams / Firehose: 실시간 데이터 스트림 처리
  • Amazon SNS: 다수의 구독자에게 알림 전달
  • Amazon SQS: 대기열 기반 메시지 전달 및 비동기 처리
profile
아는 만큼 보인다

0개의 댓글