AWS - S3 ( 이벤트 호출 )

TopOfTheHead·2026년 5월 20일

클라우드 / AWS

목록 보기
35/38

이벤트 호출 ( Event Call )
S3 버킷객체생성 / 삭제 / 변경이벤트 발생 시 다른 서비스 ( AWS Lambda ... etc )를 호출하는 기능
▶ 주로 객체 업로드검증하거나, 슬랙으로 이벤트를 통해 알람을 전달 가능

prefix 지정 시 해당 버킷 디렉토리객체에서 발생한 상호작용에 대해서만 이벤트 발생하도록 설정 가능

prefix를 지정하여 객체가 입력된 디렉토리객체가 산출될 디렉토리를 서로 다르게 하여 무한루프를 방지

  • S3 버킷객체 업로드이벤트가 발생되어 AWS Lambda 서비스와 연동이 가능
    이미지저장용도 S3 버킷으로 업로드된 경우 이벤트가 발생되어 AWS Lambda에 의해 정적호스팅 S3 버킷정적컨텐츠파일동적으로 반영 가능

    이미지 업로드이벤트 트리거가 발생하여 AWS Lambda에 의해 썸네일 파일 생성 및 웹 호스팅 S3 버킷정적컨텐츠 파일로 설정

AWS S3 이벤트 유형

  • 객체 생성 이벤트 :
    전체 생성 이벤트 : s3:ObjectCreated:*
    전송 : s3:ObjectCreated:Put
    게시 : s3:ObjectCreated:Post
    복사 : s3:ObjectCreated:Copy
    멀티파트 업로드 완료 : s3:ObjectCreated:CompleterMultipartUpload

  • 객체 제거 이벤트 :
    전체 제거 이벤트 : s3:ObjectRemoved:*
    영구 삭제 : s3:ObjectRemoved:Delete
    삭제 마커 생성 : s3:ObjectRemoved:DeleteMarkerCreated

  • 객체 복원 이벤트 :
    전체 복원 이벤트 : s3:ObjectRestore:*
    복원 시작 : s3:ObjectRestore:Post
    복원 완료 : s3:ObjectRestore:Completed
    복원 객체 만료 : s3:ObjectRestore:Delete

  • 객체 수명주기 이벤트 :
    수명주기 전환 이벤트 : s3:LifecycleTransition
    모든 수명주기 만료 이벤트 : s3:LifecycleExpiration:*
    객체 만료 이벤트 : s3:LifecycleExpiration:Delete
    삭제마커 지정 객체 만료 이벤트 : s3:LifecycleExpiration:DeleteMarkerCreated

AWS S3 이벤트 호출AWS Lambda와 연동

  • AWS LambdaAWS S3에 대한 권한을 지닌 IAM Role 생성
    사용사례 : Lambda를 지정 후 권한 : AmazonS3FullAccess, CloudWatchFullAccess 지정


  • Lambda -> 함수 생성을 통해 함수 생성


    node.js 설정 및 사용자 지정 실행 역할에서 생성한 IAM Role 설정

    。이후 이미지resize하는 로직을 작성한 코드를 업로드


  • 파일 업로드 용도의 버킷 생성이벤트 설정
    버킷 생성 이후 S3 -> 버킷 -> 속성 -> 이벤트 알림에서 이벤트 알림 생성

    prefix 지정 시 해당 버킷 디렉토리객체에서 발생한 상호작용에 대해서만 이벤트 발생

    이벤트 유형을 지정 이후 이벤트 처리AWS Lambda를 지정

    ▶ 이후 해당 Lambda 함수S3트리거로 추가됨

  • S3 버킷이벤트알림prefix로 정의된 /images 폴더 생성 및 이미지 파일업로드할 경우 연동된 AWS Lambda가 작동

    images/ 디렉토리파일 업로드AWS Lambda에 의해 resize되어 resize/ 디렉토리 내 저장

    。이후 해당 AWS Lambda 함수에서 CloudWatch를 통해 지표를 확인 가능
profile
공부기록 블로그

0개의 댓글