Architecture & Tool/AWS

잊기 전에 남겨두는 Amazon API Gateway 사용 이유

jaamong 2024. 11. 30. 09:07

AWS Lambda 사용법을 조사하다가 Amazon API Gateway가 같이 언급되는 글이 많길래 왜 그런가 찾아봤다. 결론은 Lambda가 특별히 API Gateway가 필요해서 같이 붙어 다니는 건 아니었다.

 

Lambda는 특성상 무거운 프로그램의 서버보다는, 한 가지 목적에 집중하는 가벼운 프로그램의 서버로 적합하다. 각 기능(인증, 스케쥴링, 모니터링 등)을 여러 개의 Lambda로 분리해서 API Gateway로 연결하는 편이 좋다.

 

다음은 API Gateway를 사용했을 때 얻을 수 있는 이점이다.

 

 

Reusability

Lambda 유무와 관계없이 API Gateway를 사용하면 새 프로젝트 시작할 때마다 인증 기능을 구현할 필요도 없다. 인증 기능이 배포된 서버를 API Gateway에 연결해서 사용하면 되기 때문이다. 

예를 들어, 클라이언트가 게이트웨이에서 한 번 인증을 하면, 인증된 요청들은 적절한 백엔드로 라우팅 된다. 따라서 각 백엔드는 인증을 처리할 필요가 없다. 

 

Decoupling Clients from the Backend → Abstracting Backend Infrastructure

또한 API Gateway은 클라이언트 요청에 대해 단일 도메인을 제공하므로, 클라이언트는 각 기능이 배포된 서버의 endnpoint를 알 필요가 없다. 오로지 API Gateway의 도메인만 알면 된다.