만자의 개발일지

[AWS] API Gateway란 본문

AWS

[AWS] API Gateway란

박만자 2022. 2. 21. 14:06

이번 포스팅에서는 API Gateway가 무엇인지 살펴보고 AWS Lambda를 통해 API Gateway의 사용방법에 대해 간단히 알아보도록 하겠습니다.

 

API Gateway

MSA하면 떠오르는 것이 API Gateway입니다.

MSA가 떠오르면서 서비스를 보다 작은 단위로 분리하여 관리할 필요가 생겼습니다. 서비스를 작은 단위로 분리함에 따라 서비스의 복잡도를 줄일 수 있고, 변경에 따른 영향도를 최소화하면서 개발과 배포를 할 수 있다는 장점이 있지만, 작은 단위로 나뉘어진 서비스들의 엔드포인트를 관리하는데 있어 어려움이 있고, 각 서비스의 공통으로 들어가는 기능들을 중복으로 개발해야 하는 문제가 있습니다.

 

이러한 문제를 해결해주기 위해 생겨난 것이 바로 API Gateway입니다.

API Gateway를 사용하면 작은 단위의 서비스들을 통합적으로 관리할 수 있습니다.

 

API Gateway를 사용하게 되면 사용자는 각 서비스의 엔드포인트 대신 API Gateway로 요청을 보내게 되고, 요청을 받은 API Gateway는 설정에 따라 각 서비스의 엔드포인트로 사용자를 대신하여 요청하고 응답을 받으면 다시 사용자에게 전달하는 프록시 역할을 합니다.

 

 

API Gateway 사용방법

AWS에서 API Gateway를 사용하는 가장 대표적인 방법인 AWS Lambda를 통해 사용하는 방법을 알아보도록 하겠습니다.

우선 AWS 콘솔로 들어가 AWS Lambda로 들어가 주신후 Functions 메뉴에 들어가서 오른쪽 상단에 Create function을 클릭해 줍니다.

 

함수명을 지정해주신 후 런타임 버전을 지정해 줍니다. 필자는 Node.js(14.x) 버전을 사용하였습니다.

그 다음 오른쪽 하단에 Create function 버튼을 눌러 함수를 생성하여 줍니다.

 

다음과 같이 만들었다면 왼쪽에 Add trigger 버튼을 눌러줍니다.

 

다음과 같이 설정해 주신 후 Add 버튼을 눌러 API Gateway를 생성해 줍니다.

API Gateway생성이 완료되었다면 해당 엔드포인트 주소로 접속합니다.

 

Labmda 함수가 잘 호출 되는 것을 보실 수 있습니다.

이처럼 지금은 API Gateway를 통해 Labmda 함수를 호출 할 수 있도록 만들어 봤는데, 좀더 들어가보면 API Gateway를 사용하면 여러개의 서비스를 하나의 API Gateway로 통하게 할 수도 있습니다. 이는 추후에 다루도록 하겠습니다.

 

참고

 

 

'AWS' 카테고리의 다른 글

[AWS] AWS Fargate for ECS 시작하기  (0) 2022.02.24
[AWS] AWS ECS란  (0) 2022.02.23
[AWS] AWS Lambda란  (0) 2022.02.18
[AWS] IAM Custom Policy 생성하기  (0) 2022.02.17
[AWS] AWS Athena로 ALB Log 분석하기  (0) 2022.02.17
Comments