API Gateway

은채의 성장통·2025년 2월 21일
0

AWS

목록 보기
78/79

API Gateway와 Lambda 프록시를 활용한 REST API 개요

API란?

API(Application Programming Interface)는 애플리케이션 간 데이터를 주고받기 위한 인터페이스다.

  • 소프트웨어 또는 서비스 간 통신을 가능하게 한다.
  • 특정 기능을 외부에서 호출할 수 있도록 제공한다.

예를 들어, 날씨 앱이 기상청 API를 호출하여 데이터를 가져오는 것이 API의 대표적인 활용 사례다.


REST API란?

REST API(Representational State Transfer API)는 웹 기반의 API 설계 방식이다.

  • HTTP 프로토콜을 기반으로 동작하며, RESTful한 방식으로 설계된다.

REST의 주요 특징

클라이언트-서버 구조: 프론트엔드(클라이언트)와 백엔드(서버)가 분리되어 독립적으로 동작

무상태성(Stateless): 요청 간 서버가 상태를 유지하지 않음 → 확장성 증가

캐시 가능(Cacheable): 응답을 캐싱하여 성능 최적화 가능

일관된 인터페이스: RESTful API는 표준화된 URI와 HTTP 메서드를 사용

REST API에서 사용되는 HTTP 메서드

메서드설명예제(URI)
GET데이터를 조회/users/1 (ID가 1인 사용자 조회)
POST새로운 데이터 생성/users (새로운 사용자 등록)
PUT기존 데이터 수정/users/1 (ID가 1인 사용자 정보 수정)
DELETE데이터 삭제/users/1 (ID가 1인 사용자 삭제)

API Gateway와 Lambda 프록시 통합

API Gateway는 Lambda 함수를 프록시로 활용하여 완전한 서버리스 환경에서 REST API를 운영할 수 있도록 한다.

API Gateway 역할

  • 클라이언트 요청을 받아 Lambda로 전달
  • Lambda에서 처리한 결과를 클라이언트로 반환

이 방식은 서버를 직접 운영하지 않아도 되므로, 비용 절감 및 확장성이 뛰어나다.


API Gateway의 주요 기능

보안 기능

  • IAM 역할을 활용한 인증: API에 대한 접근을 AWS IAM 정책을 통해 제어
  • Cognito 연동: 사용자를 인증하고 액세스 제어 가능
  • Lambda를 활용한 사용자 지정 인증: 맞춤형 인증 및 권한 부여 가능
  • HTTPS 보안 지원: SSL/TLS 암호화를 통해 안전한 데이터 전송

API Gateway 엔드포인트 유형

유형설명사용 사례
엣지 최적화(Edge-Optimized)전 세계 사용자 대상 API 최적화글로벌 서비스
리저널(Regional)특정 리전에서 API 제공내부 시스템, 리전 내 API 통신
프라이빗(Private)VPC 내부에서만 접근 가능내부 API, 보안 강화 서비스

API Gateway + Kinesis 데이터 스트림 사용 예시

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를 손쉽게 생성하고 운영할 수 있는 서버리스 서비스다.

  • Lambda, Kinesis, S3, Cognito 등 AWS 서비스와의 강력한 연동을 지원하며,
  • 보안, API 버저닝, 성능 최적화 등 다양한 기능을 제공한다.
profile
인생 별거 없어

0개의 댓글