Amazon S3 이벤트 알림 - Amazon Simple Storage Service

Amazon S3 이벤트 알림

Amazon S3 이벤트 알림 기능을 사용하면 S3 버킷에서 특정 이벤트가 발생할 때 알림을 받을 수 있습니다. 알림을 활성화하려면 먼저 Amazon S3이 게시할 이벤트와 Amazon S3이 알림을 보낼 대상을 식별하는 알림 구성을 추가해야 합니다. 버킷에 연결된 알림 하위 리소스에 이 구성을 저장합니다. 자세한 내용은 버킷 구성 옵션 단원을 참조하세요. Amazon S3은 이 하위 리소스를 관리하기 위한 API를 제공합니다.

중요

Amazon S3 이벤트 알림은 한 번 이상 전송되도록 설계되었습니다. 이벤트 알림은 일반적으로 몇 초 안에 전송되지만 1분 이상 소요되는 경우도 있습니다.

Amazon S3 이벤트 알림 개요

현재 Amazon S3은 다음 이벤트에 대한 알림을 게시할 수 있습니다.

  • 새 객체 생성 이벤트 - Amazon S3은 여러 객체 생성 API를 지원합니다. 특정 API(예: s3:ObjectCreated:Put)를 사용하는 경우에만 알림을 요청할 수 있습니다. 와일드카드(예: s3:ObjectCreated:*)를 사용하면 사용된 API에 관계없이 객체가 생성될 때 알림을 요청할 수도 있습니다.

  • 객체 제거 이벤트 - Amazon S3은 버전이 지정된 객체 및 버전이 지정되지 않은 객체의 삭제를 지원합니다. 자세한 정보는 S3 버킷에서 버전 관리 사용 단원을 참조하십시오.

    버전이 지정되지 않은 객체가 삭제되거나 버전이 지정된 객체가 영구적으로 삭제될 경우 s3:ObjectRemoved:Delete 이벤트 유형을 사용하여 알림을 요청할 수 있습니다. 또한 s3:ObjectRemoved:DeleteMarkerCreated를 사용하여 버전이 지정된 객체에 대해 삭제 마커가 생성될 경우 알림을 요청할 수 있습니다. s3:ObjectRemoved:* 와일드카드를 사용하여 객체가 삭제되는 모든 경우에 알림을 요청할 수도 있습니다. 버전 지정된 객체 삭제에 대한 자세한 내용은 버전 관리가 활성화된 버킷에서 객체 버전 삭제 단원을 참조하세요.

  • 객체 복원 이벤트 - Amazon S3은 S3 Glacier 스토리지 클래스에 아카이브된 객체의 복원을 지원합니다. s3:ObjectRestore:Completed를 사용하여 객체 복원 완료 알림을 요청합니다. s3:ObjectRestore:Post를 사용하여 복원 시작 알림을 요청합니다.

  • Reduced Redundancy Storage(RRS) 객체 손실 이벤트 - Amazon S3이 RRS 스토리지 클래스의 객체 손실을 확인하면 알림을 보냅니다.

  • 복제 이벤트 - Amazon S3은 S3 복제 지표 또는 S3 RTC(S3 복제 시간 제어)가 활성화된 복제 구성에 대해 이벤트 알림을 보냅니다. 보류 중인 바이트, 보류 중인 작업, 복제 대기 시간을 추적하여 복제 진행률을 분 단위로 모니터링할 수 있습니다. 복제 지표에 대한 자세한 내용은 복제 지표 및 Amazon S3 이벤트 알림으로 진행 상태 모니터링 단원을 참조하세요.

지원되는 이벤트 유형의 전체 목록은 지원되는 이벤트 유형 단원을 참조하십시오.

Amazon S3은 다음과 같은 이벤트 게시 대상을 지원합니다.

  • Amazon Simple Notification Service(Amazon SNS)

    Amazon SNS는 유연한 완전 관리형 푸시 메시징 서비스입니다. 이 서비스를 사용하여 모바일 디바이스 또는 분산 서비스로 메시지를 푸시할 수 있습니다. SNS를 사용해 메시지를 한 번 게시하고 한 번 이상 전송할 수 있습니다. 현재 표준 SNS는 S3 이벤트 알림 대상으로만 허용되지만 SNS FIFO는 허용되지 않습니다. SNS에 대한 자세한 내용은 Amazon SNS를 참조하세요.

  • Amazon Simple Queue Service(Amazon SQS) 대기열

    Amazon SQS는 확장 가능한 완전 관리형 메시지 대기열 서비스입니다. SQS를 사용하면 다른 서비스를 항상 가용 상태로 유지하지 않고도 모든 데이터 볼륨을 전송할 수 있습니다. 알림 구성에서 Amazon S3이 SQS 대기열로 이벤트를 게시하도록 요청할 수 있습니다.

    현재 표준 SQS 대기열은 Amazon S3 이벤트 알림 대상으로만 허용되지만 FIFO SQS 대기열은 허용되지 않습니다. Amazon SQS에 대한 자세한 내용은 Amazon SQS를 참조하세요.

  • AWS Lambda

    AWS Lambda은(는) 간편하게 새 정보에 신속하게 응답하는 애플리케이션을 구축할 수 있는 컴퓨팅 서비스입니다. AWS Lambda은(는) 이미지 업로드, 앱에서의 작업, 웹 사이트 클릭 또는 연결된 디바이스의 출력과 같은 이벤트에 대한 응답으로 사용자가 작성한 코드를 실행합니다.

    AWS Lambda을(를) 사용하여 사용자 지정 로직으로 다른 AWS 서비스를 확장하거나 AWS 규모와 성능, 보안에 따라 작동하는 자체 백엔드를 만들 수 있습니다. Lambda를 사용하면 손쉽게 필요할 경우에만 실행되며, 하루 몇 번의 요청에서 초당 수천 개의 요청으로 자동 확장되는 분산 이벤트 중심 애플리케이션을 만들 수 있습니다.

    Lambda는 Amazon S3 버킷 이벤트에 대한 응답으로 사용자 지정 코드를 실행할 수 있습니다. 사용자 지정 코드를 Lambda에 업로드하여 Lambda 함수를 생성합니다. Amazon S3가 특정 유형의 이벤트(예: 객체 생성 이벤트)를 감지하면 AWS Lambda에 이벤트를 게시하고 Lambda 함수를 호출할 수 있습니다. 이에 대한 응답으로 Lambda는 함수를 실행합니다.

주의

알림을 트리거하는 동일한 버킷에 알림이 기록되면 실행 루프가 발생할 수 있습니다. 예를 들어 객체가 업로드될 때마다 버킷이 Lambda 함수를 트리거하고 그 함수가 객체를 버킷에 업로드하는 경우, 함수는 간접적으로 자체 트리거됩니다 이렇게 되지 않도록 하려면 두 개의 버킷을 사용하거나, 수신 객체에 사용되는 접두사에만 적용되도록 트리거를 구성합니다.

AWS Lambda에서 Amazon S3 알림을 사용하는 방법에 대한 자세한 내용과 예는 AWS Lambda 개발자 안내서Amazon S3와 함께 AWS Lambda 사용을 참조하세요.

S3 이벤트 알림에 대한 자세한 내용은 다음 섹션을 참조하세요.