Lambda 함수에 대한 응답 스트리밍 - AWS Lambda

Lambda 함수에 대한 응답 스트리밍

응답 페이로드를 클라이언트로 다시 스트리밍하도록 Lambda 함수 URL을 구성할 수 있습니다. 응답 스트리밍은 첫 번째 바이트까지 시간(TTFB) 성능을 개선하여 지연 시간에 민감한 애플리케이션에 도움이 될 수 있습니다. 이는 부분 응답을 사용할 수 있게 되면 클라이언트에 다시 전송할 수 있기 때문입니다. 또한 응답 스트리밍을 사용하여 더 큰 페이로드를 반환하는 함수를 빌드할 수 있습니다. 버퍼링된 응답의 소프트 한도는 6MB인데 반해 응답 스트림 페이로드의 소프트 한도는 20MB입니다. 응답을 스트리밍하므로 함수가 전체 응답을 메모리에 담을 필요가 없습니다. 응답이 매우 큰 경우 함수에 대해 구성해야 하는 메모리 양을 줄일 수 있습니다.

Lambda가 응답을 스트리밍하는 속도는 응답 크기에 따라 달라집니다. 함수 응답의 처음 6MB에 대한 스트리밍 속도에는 제한이 없습니다. 6MB보다 큰 응답의 경우 응답의 나머지 부분에 대역폭 한도가 적용됩니다. 스트리밍 대역폭에 대한 자세한 내용은 응답 스트리밍에 대한 대역폭 한도 섹션을 참조하세요.

스트리밍 응답에는 비용이 발생합니다. 자세한 내용은 AWS Lambda 요금을 참조하십시오.

Lambda는 Node.js 관리형 런타임에서 응답 스트리밍을 지원합니다. 다른 언어의 경우, 사용자 지정 런타임을 사용자 지정 런타임 API 통합과 함께 사용하여 응답을 스트리밍하거나 Lambda Web Adapter를 사용할 수 있습니다. Lambda 함수 URL, AWS SDK 또는 Lambda InvokeWithResponseStream API를 사용하여 응답을 스트리밍할 수 있습니다.

참고

Lambda 콘솔을 통해 함수를 테스트할 때 항상 응답이 버퍼링된 것으로 표시됩니다.

응답 스트리밍에 대한 대역폭 한도

함수 응답 페이로드의 처음 6MB에는 대역폭 한도가 없습니다. 이 초기 버스트 이후 Lambda는 최대 2MBps의 속도로 응답을 스트리밍합니다. 함수 응답이 6MB를 초과하지 않는 경우 이 대역폭 한도는 적용되지 않습니다.

참고

대역폭 한도는 함수의 응답 페이로드에만 적용되며 함수의 네트워크 액세스에는 적용되지 않습니다.

제한되지 않은 대역폭의 속도는 함수의 처리 속도를 비롯한 여러 요인에 따라 달라집니다. 일반적으로 함수 응답의 처음 6MB에 대해 2MBps보다 높은 속도를 예상할 수 있습니다. 함수가 AWS 외부의 대상으로 응답을 스트리밍하는 경우 스트리밍 속도는 외부 인터넷 연결 속도에 따라서도 달라집니다.