서버 없이 그냥 응답만하는 것을 뜻한다.
API로 요청보내면 서비스와 연동하고 그리고 요청과 응답을 변경해서 사용가능하다. 매핑 템플릿을 통해서 응답과 요청의 파라미터, 내용, 헤더 등을 변경할 수 있다. 변경만이 아닌 새로운 값 추가도 가능하다.
요청 / 응답을 변경해서 사용 불가하며, 요청하면 바로 람다 서비스로 간다.
요청 / 응답을 변경해서 사용 불가하며, 백엔드의 요청 / 응답을 보내고 받게 된다.
HTTP API / Websocket API / Rest API / private Rest API이 있다.
HTTP API는 사용량 설정 / API 키가 없고, 비용이 저렴하며 프록시하는 것만 지원한다. 인증도 Custom이며, IAM도 사용 불가이다. 하지만 Rest API 종류는 정반대이다.
WebSocker API은 실시간 어플리케이션을 위해 만들어졌다. onConnect / sendMessage / onDisconnect 를 통해서 작동한다. {기본URL}/@connections/{connectionId}
를 통해서 다시 콜백할 수 있게 해주며, 라우팅 키 테이블을 통해서 어떤 람다에 요청할지 정하는 라우팅 시스템이 있다.
3가지 타입이 있다. default는 Edge-Optimized 타입이다.
비용이 비싸다. 메모리는 0.5GB - 237GB, TTL은 0 - 3600로 설정 가능하다. 캐시는 스테이지 당 정의되고 오버라이딩 세팅을 통해 메서드에 따라 따로 캐시 세팅을 하는 것도 가능하다.
사용량 설정할 수 있다. API Key를 통해서 해당 클라이언트의 액세스, 처리량들을 확인할 수 있고, 추가 요청이 없는 한 해당 사용량을 초과하면 서비스를 사용 못하게 된다.
사용자들을 분리하는 기준이다. 처리량을 설정할 수 있다. x-api-key 헤더에 api key를 넣어서 요청해야 한다.
API Key 생성 - Key마다 처리량 설정 - Usage Plan 작성 - API Key와 Usage Plan 연동
초당 10000 처리량이 기본이다. Stage limit & method limit & Usage Plan에 따라서 API Gateway의 처리량에 제한이 걸린다. 제한이 걸리면 throttle - 429 Error
이라는 에러가 나온다.
5,000개의 요청을 처리할 수 있는 최대 버킷 용량을 사용하여 토큰 버킷 알고리즘에서 제공하는 추가 버스트 용량이 있는 초당 10,000개의 요청(RPS). - 공식문서 참고