API Gateway에서 프록시 통합에 대한 통합 응답 스트리밍 - Amazon API Gateway

API Gateway에서 프록시 통합에 대한 통합 응답 스트리밍

API Gateway가 통합 응답을 반환하는 방법을 제어하도록 프록시 통합을 구성할 수 있습니다. 기본적으로 API Gateway는 전송을 시작하기 전에 전체 응답을 수신할 때까지 기다립니다. 그러나 통합의 응답 전송 모드를 STREAM으로 설정하면 API Gateway는 클라이언트로 전송하기 전에 응답이 완전히 계산될 때까지 기다리지 않습니다. 응답 스트리밍은 모든 REST API 엔드포인트 유형에서 작동합니다.

다음 사용 사례에 응답 스트리밍을 사용합니다.

  • 챗봇과 같은 생성형 AI 애플리케이션의 time-to-first-byte(TTFB)를 줄입니다.

  • S3 미리 서명된 URL을 사용하지 않고 대용량 이미지, 비디오 또는 음악 파일을 스트리밍합니다.

  • 서버 전송 이벤트(SSE)와 같은 증분 진행 상황을 보고하면서 장기 실행 작업을 수행합니다.

  • API Gateway의 10MB 응답 페이로드 제한을 초과했습니다.

  • 통합 제한 시간 증가를 요청하지 않고 API Gateway의 29초 제한 시간을 초과했습니다.

  • 바이너리 미디어 유형을 구성하지 않고 바이너리 페이로드를 수신합니다.

응답 페이로드 스트리밍 고려 사항

다음 고려 사항은 응답 페이로드 스트리밍 사용에 영향을 미칠 수 있습니다.

  • HTTP_PROXY 또는 AWS_PROXY 통합 유형에만 응답 페이로드 스트리밍을 사용할 수 있습니다. 여기에는 Lambda 프록시 통합과 통합을 사용하는 프라이빗 HTTP_PROXY 통합이 포함됩니다.

  • 기본 전송 모드 설정은 BUFFERED입니다. 응답 스트리밍을 사용하려면 응답 전송 모드를 STREAM으로 변경해야 합니다.

  • 응답 스트리밍은 REST API에만 지원됩니다.

  • 요청 스트리밍은 지원되지 않습니다.

  • 최대 15분 동안 응답을 스트리밍할 수 있습니다.

  • 스트림에는 유휴 제한 시간이 적용됩니다. 리전 또는 프라이빗 엔드포인트의 경우 제한 시간은 5분입니다. 엣지 최적화 엔드포인트의 경우 제한 시간은 30초입니다.

  • 자체 CloudFront 배포와 함께 리전 REST API에 응답 스트리밍을 사용하는 경우 CloudFront 배포의 응답 제한 시간을 늘려 30초 이상 유휴 제한 시간을 달성할 수 있습니다. 자세한 내용은 응답 시간 초과를 참조하세요.

  • 응답 전송 모드를 STREAM로 설정하면 API Gateway는 전체 통합 응답의 버퍼링을 요구하는 기능을 지원할 수 없습니다. 따라서 응답 스트리밍에서는 다음 기능이 지원되지 않습니다.

    • 엔드포인트 캐싱

    • 콘텐츠 인코딩입니다. 통합 응답을 압축하려면 통합에서 이 작업을 수행합니다.

    • VTL을 사용한 응답 변환

  • 각 스트리밍 응답 내에서 응답 페이로드의 처음 10MB에는 대역폭 제한이 적용되지 않습니다. 10MB를 초과하는 응답 페이로드 데이터는 2MB/s로 제한됩니다.

  • 제한 시간으로 인해 클라이언트와 API Gateway 간 또는 API Gateway와 Lambda 간의 연결이 종료되면 Lambda 함수가 계속 실행될 수 있습니다. 자세한 내용은 Lambda 함수 제한 시간 구성을 참조하세요.

  • 응답 스트리밍에는 비용이 발생합니다. 자세한 내용은 API Gateway 요금을 참조하세요.