Amazon Web Service에서 제공하는 Amazon API Gateway에 대해 알아보자.
API는 3종류로 구분할 수 있다.
- HTTP API
- REST API
- WebSocket API
HTTP API와 REST API는 거의 같은 의미로 사용되지만 조금 디테일하게 들어가면 두 API는 차이가 있다.
HTTP API
HTTP를 통신 방식으로 사용하는 API를 HTTP API라고 한다. HTTP API는 endpoint를 API gateway로 활용하여 HTTP 요청을 통해서 서버에 접근할 수 있도록 만둘어준다. 대부분의 Web API가 HTTP API로 이루어지고 있다.
REST API
REST는 웹 서비스의 구조를 만드는데 활용되는 패턴이다. RESTful API가 되려면 CRUD 방식의 메소드, HTTP 메소드 중에서는 GET, POST, PUT, DELETE만을 활용해야한다. 의도적으로 방법을 제한하여 소통을 더 쉽게 하는 것이 목적이다. 인터페이스가 단순해지고 추후 확장도 쉬운 장점이 있다.
자세한 내용을 이전 포스트를 참고해주세요.
https://wonillism.tistory.com/256
WEBSOCKET API
채팅 앱 및 스트리밍 대시보드와 같은 실시간 양방향 통신 애플리케이션을 구축하여 백엔드 서비스와 클라이언트 간의 메시지 전송을 처리하기위해 지속적인 연결을 유지한다.
Amazon API Gateway
Amazon API Gateway는 어떤 규모에서든 개발자가 API를 손쉽게 생성, 게시, 유지 관리 및 보안 유지할 수 있도록 하는 완전 관리형 서비스이다. 트래픽 관리, CORS 지원, 권한 부여 및 엑세스 제어, 제한, 모니터링 및 API 버전관리 등 API 호출을 수신 및 처리하는 데 관계된 모든 작업을 처리한다.
프리티어 기준 1년동안 매달 100만 건씩 무료로 제공된다.
Amazon API Gateway 사용방법
API 생성을 누르면 다음과 같은 화면이 나온다.
직접 사용해보지는 않아서 잘 모르겠지만, Amazon API Gateway에서 제공하는 REST API와 HTTP API의 차이를 잘 모르겠다. HTTP API를 RESTful하게 사용하면 되는거 아닌가...?
추측하기로는 REST API 구축을 좀 더 편하게 제공하는게 아닐까... 약간의 구글링으로 보이는 단점은 새로나온 서비스라 참고자료도 잘 없고 HTTP API보다 느리고 제한적이라고 한다.
HTTP API로 구축을하면 위와 같은 페이지가 나온다.
적절한 API 이름을 정하고 검토 및 생성 클릭
생성을 누르면 API Gateway 생성이 완료된다.