S3 Object Lambda 모범 사례와 지침

S3 Object Lambda 모범 사례와 지침

참고

2025년 11월 7일부터 S3 Object Lambda는 현재 서비스를 사용 중인 기존 고객과 선별된 AWS Partner Network(APN) 파트너에게만 제공돼요. S3 Object Lambda와 유사한 기능에 대해서는 Amazon S3 Object Lambda 제공 변경을 참고하세요.

S3 Object Lambda를 사용할 때는 다음 모범 사례와 지침을 따라 운영과 성능을 최적화하세요.

출처: 문서

본문

S3 Object Lambda 작업

S3 Object Lambda는 GET, LIST, HEAD 요청만 처리할 수 있어요. 그 외의 모든 요청은 AWS Lambda를 호출하지 않고 표준·비변환 API 응답을 반환해요. AWS 계정·리전당 최대 1,000개의 Object Lambda 액세스 포인트를 만들 수 있어요. 사용하는 AWS Lambda 함수는 Object Lambda 액세스 포인트와 같은 AWS 계정과 리전에 있어야 해요.

S3 Object Lambda는 호출자에게 완전한 응답을 스트리밍하는 데 최대 60초를 허용해요. 여러분의 함수는 AWS Lambda 기본 할당량에도 적용돼요. 자세한 내용은 _AWS Lambda Developer Guide_의 Lambda 할당량을 참고하세요.

S3 Object Lambda가 지정된 Lambda 함수를 호출할 때, 지정된 Lambda 함수나 애플리케이션이 Amazon S3에서 덮어쓰거나 삭제하는 모든 데이터가 의도된 것이고 올바른지 확인할 책임은 여러분에게 있어요.

S3 Object Lambda는 객체에 대한 작업만 수행할 수 있어요. S3 Object Lambda로 버킷 수정이나 삭제 같은 다른 Amazon S3 작업을 수행할 수는 없어요. 액세스 포인트를 지원하는 S3 작업의 전체 목록은 S3 작업과 액세스 포인트 호환성을 참고하세요.

이 목록에 더해 Object Lambda 액세스 포인트는 POST Object, CopyObject(소스로), SelectObjectContent API 작업을 지원하지 않아요.

S3 Object Lambda와 함께 사용되는 AWS 서비스

S3 Object Lambda는 Amazon S3, AWS Lambda, 그리고 선택적으로 여러분이 선택한 다른 AWS 서비스를 연결해 요청 애플리케이션과 관련된 객체를 제공해요. S3 Object Lambda와 함께 사용되는 모든 AWS 서비스는 각자의 서비스 수준 계약(SLA)을 따르게 돼요. 예를 들어 어떤 AWS 서비스가 서비스 약속(Service Commitment)을 충족하지 못하면, 해당 서비스의 SLA에 문서화된 대로 서비스 크레딧을 받을 수 있어요.

Range 및 partNumber 헤더

대용량 객체를 다룰 때 Range HTTP 헤더를 사용해 객체에서 지정된 바이트 범위를 다운로드할 수 있어요. Range 헤더를 사용하면 요청이 객체의 지정된 부분만 가져와요. partNumber 헤더를 사용해 객체에서 지정된 파트에 대한 범위 요청을 수행할 수도 있어요.

자세한 내용은 Range 및 partNumber 헤더 작업하기를 참고하세요.

expiry-date 변환

AWS Management Console에서 Object Lambda 액세스 포인트의 변환된 객체를 열거나 다운로드할 수 있어요. 이 객체들은 만료되지 않아야 해요. Lambda 함수가 객체의 expiry-date를 변환한다면, 열거나 다운로드할 수 없는 만료된 객체가 보일 수 있어요. 이 동작은 S3 Glacier Flexible Retrieval과 S3 Glacier Deep Archive의 복원된 객체에만 적용돼요.

AWS CLI와 AWS SDK 작업

AWS Command Line Interface(AWS CLI) S3 하위 명령(cp, mv, sync)과 AWS SDK for Java TransferManager 클래스의 사용은 S3 Object Lambda에서 지원되지 않아요.

더 알아보기 (Learn more)