S3 Event Notifications
- 일부 이벤트는 S3 버킷 내에서 발생
예) 새로운 객체 생성, 객체가 제거, 복원, 복제 등 - 모든 이벤트들에 대해 리액트하고자 한다면 규칙을 생성할 수도 있고 객체 이름에 따라 필터링하는 아벤트 규칙을 만들 수 있음
예) jpeg 파일에만 리액트하려는 경우 *.jpg 규칙 사용 - S3에 업로드된 사진의 썸네일을 생성하는데 이벤트를 사용
- S3 이벤트 알림이 가능한 대상에는 3가지가 존재
1) 알림과 이메일을 보내는 간단 알림 서비스인 SNS
2) 메시지를 대기열에 추가해주는 간단한 큐 서비스인 SQS
3) 커스텀 코드를 생성하는 람다 함수
- S3 이벤트는 원하는 개수만큼 새엉이 가능하며 대부분의 경우 몇 초 안에 전달되지만 가끔 1분 이상 소요될 때도 있음
- 모든 이벤트에 대한 알림이 전달되도록 하기 위해서는 버킷의 버저닝을 활성화해야 함
<S3 이벤트 알림 실습>
- 버킷 생성 및 이벤트 알림 생성
eu-west-1dp demo-stephane-2020-s3-bucket-notifications 이름을 가진 버킷을 생성한 후
Properties에 들어가서 이벤트 알림을 수정
여러 개의 알림을 수정할 수 있으므로 DemoEvent라는 이름으로 이벤트 알림을 생성
접두사와 접미사를 선택하면 여기에 지정된 접두사와 접미사가 있는 버킷에 있는 모든 객체에 적용되게 되므로 생략
이벤트 타입을 설정하여 이 이벤트가 어떻게 적용되게 할 지 정할 수 있음
이번 실습에서는 객체가 생성될 때마다 이 이벤트가 발동하게 하기 위해 All object create events를 선택
원하시면 이벤트 삭제, 복구와 같은 달력 이벤트도 선택할 수 있음
위를 통해 S3 객체 생성을 시작하도록 모든 객체 생성 이벤트를 선택한 후 목적지를 선택해야 함
목적지는 람다 함수일 수도 있고 SNS Topic, SQS 대기열일 수 있으므로 SQS 대기열을 선택
이를 위해 SQS로 이동하여 Standard를 선택한 후 demo-s3-notifications로 이름을 지정하여 대기열을 생성
그리고 액세스 정책을 설정하여 S3 버킷이 SQS 대기열에 작성을 할 수 있도록 허용해야 하므로
누구나 SQS 대기열에 메시지를 보낼 수 있도록 허용한 뒤 SQS 대기열의 ARN을 입력하여 정책을 생성하고 붙여넣음
그리고선 이 생성한 SQS 대기열을 선택해 줌
- 이벤트 알림 작동 확인
coffee.jpg 파일을 업로드한 후 SQS에 가서 Send and receive message를 누르고 poll for messges를 눌러 메시지를 받음
첫 번째 메시지를 보면 S3의 테스트 이벤트라고 나와 있고 이 내용은 S3 버킷과 SQS 대기열의 연결을 테스팅하고 있다는 메시지
두 번째 메시지를 보면 S3가 SQS 대기열에 보낸 실제 알림이 포함되어 있음을 볼 수 있음
이에는 이벤트 시간, 리전, 이벤트 이름, 누가 한 것인지에 대한 IP 등 이벤트에 대한 다양한 정보를 포함하고 있음
'Cloud > AWS' 카테고리의 다른 글
[SAA] Athena 개요 (0) | 2022.03.28 |
---|---|
[SAA] S3 요청자 지불 (0) | 2022.03.28 |
[SAA] S3 셀렉트 & Glacier Select (0) | 2022.03.28 |
[SAA] S3 퍼포먼스 (0) | 2022.03.28 |
[SAA] S3 애널리틱스 (0) | 2022.03.28 |