프록시 리소스를 사용하여 프록시 통합 설정 - Amazon API Gateway

프록시 리소스를 사용하여 프록시 통합 설정

프록시 리소스를 사용하여 API Gateway API에서 프록시 통합을 설정하려면 다음 작업을 수행합니다.

  • {proxy+}의 복잡한 경로 변수를 사용하여 프록시 리소스를 생성합니다.

  • 프록시 리소스에서 ANY 메서드를 설정합니다.

  • HTTP 또는 Lambda 통합 유형을 사용하여 리소스 및 메서드를 백엔드와 통합합니다.

참고

복잡한 경로 변수, ANY 메서드 및 프록시 통합 유형은 일반적으로 함께 사용되지만 독립적인 기능입니다. 복잡한 리소스에 대해 특정 HTTP 메서드를 구성하거나 비 프록시 통합 유형을 프록시 리소스에 적용할 수 있습니다.

API Gateway는 Lambda 프록시 통합 또는 HTTP 프록시 통합으로 메서드를 처리할 때 특정 제한 및 제약을 적용합니다. 자세한 내용은 Amazon API Gateway 중요 정보 단원을 참조하세요.

참고

패스스루를 포함하는 프록시 통합을 사용할 경우 API Gateway에서는 페이로드의 콘텐츠 유형이 지정되지 않은 경우 기본 Content-Type:application/json 헤더를 반환합니다.

프록시 리소스는 HTTP 프록시 통합이나 Lambda 프록시 통합을 사용하여 백엔드와 통합될 때 가장 강력합니다.

프록시 리소스를 사용한 HTTP 프록시 통합

API Gateway REST API에서 HTTP_PROXY로 지정되는 HTTP 프록시 통합은 메서드 요청을 백엔드 HTTP 엔드포인트와 통합하기 위한 것입니다. API Gateway에서는 이 통합 유형을 사용하여 프런트엔드와 백엔드 사이에 전체 요청 및 응답을 전달할 뿐이며 특정 제약 및 제한의 적용을 받습니다.

참고

HTTP 프록시 통합은 다중 값 헤더와 쿼리 문자열을 지원합니다.

HTTP 프록시 통합을 프록시 리소스에 적용할 경우 단일 통합 설정으로 HTTP 백엔드의 일부 또는 전체 엔드포인트 계층을 공개하도록 API를 설정할 수 있습니다. 예를 들어 웹사이트의 백엔드가 루트 노드(/site)에서 /site/a0/a1/.../aN, /site/b0/b1/.../bM과 같은 여러 트리 노드 분기로 구성된다고 가정합니다. ANY의 프록시 리소스에 대한 /api/{proxy+} 메서드를 URL 경로가 /site/{proxy}인 백엔드 엔드포인트와 통합할 경우, 단일 통합 요청으로 [a0, a1, ..., aN, b0, b1, ...bM, ...]에 대해 모든 HTTP 작업(GET, POST 등)을 지원할 수 있습니다. 그 대신에 프록시 통합을 특정 HTTP 메서드(예: GET)에 적용할 경우 그 결과로 얻는 통합 요청은 그러한 백엔드 노드 중 하나에서 지정된(예: GET) 작업으로 작동합니다.

프록시 리소스를 사용한 Lambda 프록시 통합

API Gateway REST API에서 AWS_PROXY로 지정되는 Lambda 프록시 통합은 백엔드에서 메서드 요청을 Lambda 함수와 통합하기 위한 것입니다. 이 통합 유형을 통해 API Gateway에서는 기본 매핑 템플릿을 적용하여 전체 요청을 Lambda 함수로 보내고 Lambda 함수의 출력을 HTTP 응답으로 변환합니다.

마찬가지로 Lambda 프록시 통합을 /api/{proxy+}의 프록시 리소스에 적용하여 백엔드 Lambda 함수가 /api 아래의 API 리소스 변경에 개별적으로 대응하도록 단일 통합을 설정할 수 있습니다.