본문 바로가기

Cloud/AWS

AWS API Gateway - HTTP 사용자 지정 통합을 사용하여 API 생성

반응형

안녕하세요. 남산돈가스입니다.

API Server를 운영하면서 백엔드에 대한 클라이언트 요청 데이터를 변환하거나 백엔드 응답 데이터를 변환하하는 경우에 AWS API Gateway에서 제공하는 HTTP 사용자 지정 통합을 사용하여 효과적으로 API 를 관리 할 수 있습니다.

또한 API를 API Gateway에 연결함으로써 해당 API에 대한 권한 및 스테이지 관리 등을 간편하게 관리할 수 있다는 점에서 API Gateway를 사용하는 이유를 설명할 수 있습니다.

예전 Lambda function을 등록하고 해당 Lambda를 API Gateway에 연결하여 API로 연동하는 포스팅에 이어 이번 포스팅에서는 HTTP 프록시를 API Gateway에 연결하는 작업을 진행해보려고 합니다.



먼저 AWS에 접속하고 새로운 API Gateway에 접속합니다.



API Gateway를 생성하면 위와 같이 /에 대한 매서드만 생성되어있는 상태를 확인하실 수 있습니다.


작업탭에서 리소스 생성 버튼을 선택합니다.



여기서 각각의 API에 대한 리소스와 매서드를 설정하려고한다면, 사용되는 path주소를 입력하여 리소스를 생성합니다.
 ( ex. pet에 대한 API를 생성하고자 한다면 /pet 와 같은 리소스를 생성하고 pet에 대한 메서드를 등록하여 사용할 수 있습니다.)

이번 포스팅에서는 해당 API URL에 대한 모든 리소스를 통합하여 관리하려고 하므로 '프록시 리소스로 구성'을 체크하고 리소스 경로에 {proxy+} 를 입력합니다.

프록시 리소스로 구성될 경우 이어서 설정할 API URL하위에 있는 리소스에 모든 경로를 해당 API 설정으로 처리함을 의미합니다. 또한 프록시 설정으로 리소스를 생성할 경우 ANY메서드로 자동 생성되는데 이 또한 리소스에 대한 'POST', 'GET', 'PUT', 'DELETE' 등 모든 메서드를 통합으로 관리한다는 것을 의미하게 됩니다.


{proxy+} 리소스를 생성하게 되면 위와 같이 /{proxy+} - ANY 라는 API 설정화면이 보여집니다.
지난 포스팅에서의 Lambda 함수 프록시가 아닌 HTTP 프록시를 선택하고 백엔드 API URL을 입력하고 저장합니다.





생성 된 API를 실제로 사용하기 위해 API 배포를 진행합니다.


dev라는 스테이지를 생성하고 배포하게 되면 호출 URL이 생성됩니다.


실제로 생성 된 URL를 가지고 포스트맨을 통해 API를 호출하게 되면 정상적으로 호출되는 것을 확인하실 수 있습니다.