Lambda 함수와 API Gateway의 연동 구조

Sue·2025년 6월 10일
post-thumbnail

Lambda 함수와 API Gateway의 연동 구조

AWS Lambda와 API Gateway의 연동 구조는 서버리스 아키텍처의 핵심입니다. 이 구조를 통해 외부 클라이언트(웹, 모바일 등)에서 HTTP 요청을 보내면, API Gateway가 이를 받아 Lambda 함수를 호출하고, Lambda 함수가 비즈니스 로직을 처리한 뒤 결과를 다시 API Gateway를 통해 클라이언트에 반환합니다.


전체 연동 흐름

  1. 클라이언트 요청

    • 사용자가 웹/모바일 앱 등에서 HTTP(S) 요청을 보냅니다.
  2. API Gateway 수신 및 라우팅

    • API Gateway가 엔드포인트(예: /users, /orders 등)와 HTTP 메서드(예: GET, POST 등)에 따라 요청을 수신합니다.
    • 각 엔드포인트와 메서드는 특정 Lambda 함수에 매핑됩니다.
  3. Lambda 함수 호출

    • API Gateway가 요청을 Lambda 함수로 전달합니다.
    • Lambda 함수는 전달받은 이벤트(요청 데이터, 헤더, 쿼리스트링 등)를 기반으로 비즈니스 로직을 실행합니다.
  4. 응답 반환

    • Lambda 함수가 처리 결과를 반환하면, API Gateway가 이를 HTTP 응답 형태로 변환하여 클라이언트에 전달합니다.

연동 방식: 프록시(Proxy)와 비프록시(Non-Proxy)

  • Lambda 프록시 통합(Proxy Integration)

    • API Gateway가 HTTP 요청의 모든 정보를 Lambda 함수에 그대로 전달합니다(헤더, 쿼리, 바디 등).
    • Lambda 함수가 직접 요청을 파싱하고, HTTP 응답 형식(JSON 등)으로 결과를 반환합니다.
    • 빠르고 유연하게 API를 구축할 수 있습니다.
  • Lambda 비프록시 통합(Non-Proxy Integration)

    • 요청 데이터의 일부만 Lambda에 전달하거나, API Gateway에서 요청/응답을 변환하는 매핑 템플릿을 사용합니다.
    • 입력/출력 구조를 더 세밀하게 제어할 수 있습니다.

구성 예시

[Client] 
   │ HTTP(S) Request
   ▼
[API Gateway]
   │ Lambda Trigger (Proxy/Non-Proxy)
   ▼
[AWS Lambda Function]
   │ (DB, S3 등과 연동)
   ▼
[API Gateway]
   │ HTTP Response
   ▼
[Client]

보안 및 관리

  • IAM 역할 및 권한: Lambda 함수에 필요한 최소 권한만 부여합니다.
  • API 인증/인가: API Gateway에서 Cognito, JWT, API Key 등 다양한 인증 방식 적용 가능.
  • 트래픽 관리: API Gateway가 요청량을 제한(Throttling)하고, 대량 요청에도 자동 확장 지원.

요약

  • API Gateway는 외부 HTTP 요청을 받아 Lambda 함수를 호출하고, Lambda 함수의 실행 결과를 다시 HTTP 응답으로 반환하는 중계자 역할을 합니다.
  • 프록시 통합과 비프록시 통합 두 가지 방식이 있으며, 각각의 유연성과 제어 수준이 다릅니다.
  • 이 구조를 통해 서버 관리 없이 확장성 높고, 보안이 강화된 API를 손쉽게 구축할 수 있습니다.
profile
AI/ML Engineer

0개의 댓글