개인의 기록
  • 소개
  • 프로젝트
  • 글
  • 링크

© 2026 newgirok

← 글 목록

API Gateway — REST·HTTP·WebSocket API 서비스

2026년 3월 27일
AWSAPI GatewayREST API서버리스

AWS API Gateway는 개발자가 API를 생성, 게시, 유지 관리, 모니터링, 보호할 수 있도록 지원하는 완전 관리형 서비스입니다. 클라이언트의 HTTP 요청을 받아 백엔드(Lambda, EC2, 외부 HTTP 엔드포인트 등)로 전달하고 응답을 반환하는 API 관문(Gateway) 역할을 합니다. 인증, 속도 제한, 캐싱, CORS 처리 등을 서버 코드 없이 설정만으로 구성할 수 있어 서버리스 아키텍처의 핵심 구성 요소로 활용됩니다.

API 유형

API Gateway는 세 가지 API 유형을 제공합니다.

REST API

REST API는 API Gateway의 가장 오래된 유형으로, 기능이 가장 풍부합니다. 요청·응답 변환(Mapping Template), API 키 기반 사용 계획, 요청 검증, 캐싱, WAF 연동 등 고급 기능을 모두 지원합니다. 단, 기능이 많은 만큼 설정이 복잡하고 HTTP API보다 비용이 높습니다.

HTTP API

HTTP API는 REST API보다 단순하고 저렴한(약 70% 저렴) 최신 유형입니다. Lambda, HTTP 백엔드와의 프록시 연동에 최적화되어 있으며, JWT 인증, CORS, 자동 배포 등 핵심 기능을 빠르게 구성할 수 있습니다. 고급 변환 기능이나 캐싱이 필요 없는 대부분의 서버리스 API에는 HTTP API가 권장됩니다.

WebSocket API

WebSocket API는 클라이언트와 서버 간 양방향 실시간 통신을 지원합니다. 채팅, 실시간 알림, 게임 등에서 활용됩니다. 연결(connect), 메시지(message), 연결 해제(disconnect) 세 가지 라우트로 구분하여 각각 Lambda 함수를 연결합니다.

REST API vs HTTP API vs WebSocket API

  REST API
    Client ──> API Gateway ──> Lambda / EC2 / HTTP
    (고급 기능: 캐싱, WAF, Mapping Template)

  HTTP API
    Client ──> API Gateway ──> Lambda / HTTP
    (단순·저렴, JWT 인증, CORS 자동 처리)

  WebSocket API
    Client <──> API Gateway <──> Lambda
    (양방향 지속 연결: connect / message / disconnect)

Stage

Stage는 API의 배포 버전을 구분하는 단위입니다. 예를 들어 dev, staging, prod Stage를 만들어 각각 다른 Lambda 함수 버전이나 환경 변수를 연결할 수 있습니다. Stage별로 캐싱, 로깅, 스로틀링 설정을 독립적으로 관리할 수 있습니다.

Lambda 연동 패턴

API Gateway와 Lambda를 연동하는 방식에는 두 가지가 있습니다.

Lambda Proxy 통합

요청 전체(헤더, 쿼리 파라미터, 경로, 본문 등)를 그대로 Lambda에 전달하고, Lambda가 응답 객체(statusCode, headers, body)를 직접 구성합니다. 설정이 간단하고 유연하여 가장 많이 사용되는 패턴입니다.

Client
  |
  | HTTP Request
  v
API Gateway
  |
  | event = { httpMethod, path, headers, body, ... }
  v
Lambda Handler
  |
  | return { statusCode: 200, body: JSON.stringify(data) }
  v
API Gateway
  |
  | HTTP Response
  v
Client

Lambda 비프록시(커스텀) 통합

Mapping Template을 사용하여 요청·응답을 API Gateway 레벨에서 변환합니다. Lambda는 변환된 데이터만 받아 처리하므로 Lambda 코드를 API 구조로부터 독립적으로 유지할 수 있습니다. 다만 설정이 복잡하여 REST API에서만 지원됩니다.

주요 부가 기능

기능설명
인증IAM, Cognito, Lambda Authorizer(커스텀 토큰 검증)
스로틀링초당 요청 수(RPS) 제한으로 백엔드 과부하 방지
캐싱REST API에서 응답을 최대 1시간까지 캐싱
CORS허용 오리진·헤더·메서드 설정
사용 계획API 키 발급 및 요청량 할당량 관리
로깅CloudWatch Logs로 요청·응답·오류 기록

API Gateway는 단순한 프록시 이상의 역할을 합니다. 인증, 속도 제한, 로깅, 모니터링을 한 곳에서 관리함으로써 백엔드 함수는 비즈니스 로직에만 집중할 수 있는 환경을 제공합니다.

← 이전 글EventBridge — 이벤트 기반 시스템 연결
다음 글 →CloudWatch — 로그와 모니터링