[AWS] API Gateway: REST/HTTP API 관리
aws-api-gateway, API Gateway, AWS API Gateway
정의
AWS API Gateway 는 REST/HTTP/WebSocket API 를 관리하는 완전관리형 서비스. 백엔드 통합, 인증, 스로틀링, 캐싱, 로깅 제공.
두 종류
REST API
- 초기 버전 (2015~)
- 풍부한 기능: usage plan, API key, request validator, WAF 통합
- 비용 높음 ($3.50 per million calls)
- 레거시 옵션, 신규는 HTTP API 권장
HTTP API
- 2019~
- 비용 70% 저렴 ($1.00 per million)
- 지연시간 낮음
- JWT authorizer 내장 (Cognito, Auth0)
- CORS 자동
- WebSocket 지원
통합 타입
- Lambda proxy: 요청 그대로 Lambda 로
- HTTP proxy: 다른 URL 로 프록시
- AWS 서비스: DynamoDB, SQS 등 직접 통합
- VPC Link: 프라이빗 ALB/NLB 연결
인증
- IAM: SigV4 서명
- Cognito User Pool
- JWT Authorizer (HTTP API 만)
- Lambda Authorizer (커스텀)
- API Key + Usage Plan
스로틀링
- 계정 레벨: 10,000 rps (soft limit)
- API 레벨, 스테이지 레벨, 리소스 레벨
- Usage Plan 으로 API Key 별 quota
캐싱 (REST API)
TTL 기반 응답 캐싱. 백엔드 부하 감소, 응답 속도 향상.
함정
- VPC 접근: 사설 API 는 VPC Endpoint 로. HTTP API 는 VPC Link.
- payload 크기: 10 MB 제한, WebSocket 128 KB
- cold start: HTTP API 자체는 없음, Lambda 통합 시 Lambda 콜드 스타트
참고
이 글의 용어 (3개)
- [AWS] ALB vs NLB: L7 vs L4 로드 밸런서cloud
- 정의 | | ALB | NLB | (Classic ELB) | |---|---|---|---| | Layer | L7 (HTTP) | L4 (TCP/UDP) | L4 + L7 (…
- [AWS] Lambda Cold Start: 원인과 완화cloud
- 정의 Cold Start = Lambda 가 처음 호출 또는 idle 후 다시 호출 시 컨테이너 + 런타임 + 사용자 코드 init 의 시간. 단계 | 단계 | 시간 (Node)…
- [AWS] Lambda: 서버리스 함수, 트리거, 동시성cloud
- 정의 AWS Lambda = 서버리스 함수 실행. 이벤트 트리거 → 함수 실행 → 결과 / 비동기 처리. 서버 관리 0. 트리거 종류 | 트리거 | 모델 | |---|---| |…
💬 댓글