S3 Event Notifications
- 이벤트란
- 예를 들어 객체가 생성되었거나 객체가 삭제되었거나 객체가 복구되었거나 복제되는 것 등을 말한다. - S3:ObjectCreated, S3:ObjectRemoved, S3:ObjectRestore, S3:Replication 등의 이벤트의 유형을 필터링할 수 있다.
- 객체 이름 필터링도 가능하다.
- 예를 들어, .jpg로 끝나는 객체만 고려하고 싶다면 가능하다. - 이벤트 알림의 활용 사례
- Amazon S3에서 일어나는 특정한 이벤트에 자동으로 반응하려는 경우나 S3에 업로드된 모든 이미지의 섬네일을 생성하려 할 수도 있다. - 원하는 만큼 S3 이벤트를 만들 수 있다.
S3 Event Notifications - IAM Permissions
- 이벤트 알림이 작동하려면 IAM 권한을 가지고 있어야한다.
- 예를 들어, S3 서비스는 데이터를 SNS 토픽에 전송하고 그렇게 하기 위해서 소위 SNS 리소스 정책이라는 것을 첨부한다. - SNS 리소스 정책은 사용자가 SNS 토픽에 첨부하는 IAM 정책이고, S3 버킷이 SNS 토픽에 직접 메시지를 전송하도록 허용해준다.
- SQS를 사용할 경우에 SQS 리소스 액세스 정책을 만들어야되고, 이게 S3 서비스가 우리의 SQS Queue에 데이터를 전송하도록 허가해준다.
- 마지막으로 람다 함수의 경우에는 역시 람다 리소스 정책을 람다 함수에 첨부해서 Amazon S3가 우리의 함수를 호출할 권한을 제공해야한다.
- SNS, SQS, 람다 함수가 이벤트 알림 타킷이라는 점을 여기서 기억해야한다.
S3 Event Notifications with Amazon EventBridge
- 이벤트는 Amazon S3 버킷으로 갈 것이고, 또 Amazon EventBridge로 가게 된다
= 무슨 이벤트든 결국 모두 Amazon EventBridge로 간다. - EventBridge에서 규칙을 설정할 수 있다.
- 이 규칙들 덕분에 그 이벤트들을 18가지 AWS 서비스에 전송할 수 있다.
- S3 이벤트 알림의 능력이 크게 향상된다. - 메타데이터, 객체 사이즈, 이름으로 필터링을 하고 한꺼번에 다수의 대상에 전송이 가능해진다.
- 예를 들면, Step Functions, Kinesis Streams, Friehose 등에 전송할 수 있다. 또는 아카이빙, 이벤트 중계, 안정적인 전달 등 Amazon EventBridge에서 바로 제공하는 기능을 사용할 수도 있다.
이 글에서 요점은 Amazon S3에서 일어나는 이벤트를 SNS, 람다 혹은 Amazon EventBridge에 전송해서 그런 이벤트에 반응할 수 있다는 것을 알아가면 된다!
'AWS(Amazon Web Service)' 카테고리의 다른 글
[AWS] Amazon S3 - Select & Glacier Select / S3 Batch Operations (0) | 2024.11.03 |
---|---|
[AWS] Amazon S3 - Baseline Performance(기준성능) (2) | 2024.11.02 |
[AWS] Amazon S3 - Requester Pays (2) | 2024.10.31 |
[AWS] Amazon S3 - Lifecycle Rules (1) | 2024.10.31 |
[AWS] Amazon S3 Storage Classes (1) | 2024.10.29 |