API(Application Programming Interface)는 애플리케이션 간 데이터를 주고받기 위한 인터페이스다.
예를 들어, 날씨 앱이 기상청 API를 호출하여 데이터를 가져오는 것이 API의 대표적인 활용 사례다.
REST API(Representational State Transfer API)는 웹 기반의 API 설계 방식이다.
✔ 클라이언트-서버 구조: 프론트엔드(클라이언트)와 백엔드(서버)가 분리되어 독립적으로 동작
✔ 무상태성(Stateless): 요청 간 서버가 상태를 유지하지 않음 → 확장성 증가
✔ 캐시 가능(Cacheable): 응답을 캐싱하여 성능 최적화 가능
✔ 일관된 인터페이스: RESTful API는 표준화된 URI와 HTTP 메서드를 사용
메서드 | 설명 | 예제(URI) |
---|---|---|
GET | 데이터를 조회 | /users/1 (ID가 1인 사용자 조회) |
POST | 새로운 데이터 생성 | /users (새로운 사용자 등록) |
PUT | 기존 데이터 수정 | /users/1 (ID가 1인 사용자 정보 수정) |
DELETE | 데이터 삭제 | /users/1 (ID가 1인 사용자 삭제) |
API Gateway는 Lambda 함수를 프록시로 활용하여 완전한 서버리스 환경에서 REST API를 운영할 수 있도록 한다.
이 방식은 서버를 직접 운영하지 않아도 되므로, 비용 절감 및 확장성이 뛰어나다.
유형 | 설명 | 사용 사례 |
---|---|---|
엣지 최적화(Edge-Optimized) | 전 세계 사용자 대상 API 최적화 | 글로벌 서비스 |
리저널(Regional) | 특정 리전에서 API 제공 | 내부 시스템, 리전 내 API 통신 |
프라이빗(Private) | VPC 내부에서만 접근 가능 | 내부 API, 보안 강화 서비스 |
API Gateway를 활용하여 실시간 데이터 스트리밍을 구현할 수도 있다.
1️⃣ 클라이언트가 API Gateway를 통해 데이터를 전송
2️⃣ API Gateway는 데이터를 Kinesis Data Stream으로 전달
3️⃣ Kinesis는 데이터를 분석 또는 저장(S3, Redshift 등)
4️⃣ 실시간 분석이 필요한 경우, Lambda와 연계하여 처리 가능
[Client] → (REST API 요청) → [API Gateway] → [Kinesis Data Stream] → [Kinesis Data Firehose] → [S3 저장]
AWS API Gateway는 REST API를 손쉽게 생성하고 운영할 수 있는 서버리스 서비스다.