AWS/API Gateway

AWS API Gateway란? - 주요 기능과 사용 사례 및 이점 완벽 가이드

삐누아빠 2025. 2. 22. 01:01

 

 

AWS API Gateway 란 무엇인가?

 

AWS API Gateway는 애플리케이션 프로그래밍 인터페이스(API)를 생성, 배포 및 관리하는 완전 관리형 서비스입니다. 이 서비스는 개발자가 HTTP 기반의 API를 쉽게 구축할 수 있도록 돕고, 클라이언트와 서버 간의 상호작용을 관리하는 중요한 역할을 합니다. API Gateway는 요청을 받아 백엔드 서비스로 전달하고, 응답을 클라이언트에 전달하는 중간 계층 역할을 수행합니다.

 

목차
1. API Gateway 개요
2. API Gateway의 사용 사례
3. API Gateway의 주요 기능
4. API Gateway의 종류
5. API Gateway의 위치와 역할
6. API Gateway 사용 시의 이점

1. API Gateway 개요

AWS API Gateway는 클라우드 기반 서비스로, RESTful API뿐만 아니라 WebSocket API, GraphQL API를 지원합니다. 이 서비스는 API의 생성, 배포, 보안 설정, 로깅, 모니터링 등을 자동으로 관리하며, 서버리스 아키텍처를 기반으로 동작하여 사용자가 인프라를 직접 관리할 필요 없이 API를 구축할 수 있게 합니다.

주요 특징:

  • 완전 관리형: AWS가 인프라를 관리하므로, 서버 설정이나 관리가 필요 없습니다.
  • 확장성: API Gateway는 수천에서 수백만 개의 동시 요청을 처리할 수 있는 확장성을 제공합니다.
  • 보안: AWS IAM, AWS Cognito와 통합하여 인증 및 권한 부여를 할 수 있으며, API KeyLambda Authorizer를 사용해 접근 제어를 할 수 있습니다.
  • 모니터링 및 로깅: AWS CloudWatch와 통합되어 API 사용 현황을 실시간으로 모니터링하고, 로그를 기록할 수 있습니다.

2. AWS API Gateway의 사용 사례

API Gateway는 다양한 사용 사례에서 유용하게 활용됩니다. 대표적인 사용 사례는 다음과 같습니다:

  • 모바일 애플리케이션과 서버 간의 데이터 통신: 모바일 앱에서 서버와의 데이터 전송을 관리하기 위해 RESTful API를 구현할 때 사용됩니다.
  • 서버리스 애플리케이션: Lambda 함수와 결합하여 서버 없이 API를 운영할 수 있습니다.  L 함수는 API Gateway에서 호출된 후 처리 결과를 반환합니다.
  • 마이크로서비스 아키텍처: 여러 마이크로서비스 간의 API 호출을 중앙화하여 관리할 수 있습니다.
  • 웹 애플리케이션: 클라이언트-서버 통신을 위해 HTTP API를 사용할 수 있습니다.

3. API Gateway의 주요 기능

AWS API Gateway는 여러 가지 기능을 제공하여 API를 효율적으로 관리할 수 있도록 돕습니다. 주요 기능은 다음과 같습니다:

1) API 요청 처리

API Gateway는 클라이언트의 HTTP 요청을 받아 적절한 백엔드 서비스(예: Lambda 함수, EC2 인스턴스 등)로 전달합니다. 이때, API Gateway는 요청 파라미터를 검증하거나, 요청 본문을 변환하는 등의 사전 처리를 수행할 수 있습니다.

2) 라우팅

API Gateway는 들어오는 요청에 대해 다양한 라우팅 기능을 제공합니다. 예를 들어, URI 경로에 따라 서로 다른 백엔드 서비스로 요청을 라우팅하거나, 요청 헤더를 기반으로 라우팅할 수 있습니다.

3) 트래픽 관리

API Gateway는 트래픽 관리를 위한 여러 기능을 지원합니다. 요청 제한(Throttling)과 병목 현상 방지를 위해 쿼터 설정레이트 리미팅을 통해 트래픽을 조절할 수 있습니다.

4) 보안

API Gateway는 다양한 보안 기능을 제공합니다. API Key, Lambda Authorizer, AWS Cognito User Pools 등 다양한 인증 방법을 통해 API에 대한 접근을 제한할 수 있습니다. 또한, HTTPS를 사용하여 전송 중인 데이터를 암호화할 수 있습니다.

5) 모니터링 및 로깅

API Gateway는 AWS CloudWatch와 통합되어 API 요청에 대한 로그를 기록하고, 메트릭스를 통해 성능을 모니터링할 수 있습니다. 이를 통해 개발자는 API의 상태와 성능을 실시간으로 확인하고 문제를 추적할 수 있습니다.

6) CORS 지원

API Gateway는 CORS(Cross-Origin Resource Sharing)를 지원하여, 다른 도메인에서 호출된 API 요청을 처리할 수 있게 해줍니다. 이를 통해 다양한 클라이언트 애플리케이션이 API를 호출할 수 있습니다.


4. API Gateway의 종류

AWS API Gateway는 다양한 API 유형을 제공하여 다양한 용도에 맞는 API 솔루션을 제공합니다. API Gateway의 종류에는

HTTP API, WebSocket API, REST API, REST API Private 이렇게 총 4종류가 있습니다. 

  • HTTP API: 간단하고 빠른 RESTful API 구축을 위한 저비용, 고속 서비스.
  • WebSocket API: 실시간 양방향 통신을 위한 지속적이고 효율적인 데이터 전송.
  • REST API: 복잡한 CRUD 연산 및 고급 기능을 지원하는 표준 API 솔루션.
  • REST API Private: VPC 내에서만 접근 가능한 보안 강화된 비공개 API.

5. API Gateway의 위치와 역할

API Gateway는 클라이언트와 백엔드 서비스 사이에 위치하는 중간 계층 역할을 합니다. 클라이언트가 요청을 보내면, API Gateway가 이를 처리한 후 적절한 백엔드 서비스로 전달합니다. 이때, API Gateway는 다음과 같은 중요한 역할을 수행합니다:

  • 요청 라우팅: API Gateway는 클라이언트 요청을 올바른 백엔드 서비스로 라우팅합니다. 예를 들어, API Gateway가 HTTP 요청을 Lambda 함수나 EC2 인스턴스로 전달합니다.
  • 트래픽 관리: API Gateway는 요청 수를 제한하고, 요청이 과도하게 들어오는 경우 트래픽을 제어하여 시스템의 안정성을 유지합니다.
  • 보안: API Gateway는 클라이언트가 보낸 요청에 대해 인증 및 권한 부여 작업을 수행하여 시스템을 보호합니다.
  • 응답 반환: API Gateway는 백엔드 서비스에서 받은 응답을 클라이언트에 반환합니다. 필요시 응답 데이터를 포맷팅하거나 변환할 수도 있습니다.

6. API Gateway 사용 시의 이점

AWS API Gateway를 사용하는 주된 이유는 그 편리성확장성입니다. 그 외에도 많은 이점이 있습니다:

  • 서버 관리 필요 없음: AWS가 인프라를 관리하므로, 서버를 설정하거나 관리할 필요가 없습니다.
  • 확장성: 수천, 수백만 명의 사용자에게 서비스를 제공할 수 있습니다.
  • 통합 기능: Lambda, DynamoDB, S3 등 AWS의 다른 서비스와 쉽게 통합되어 개발이 용이합니다.
  • 비용 효율성: API 호출 수에 따라 요금이 부과되므로, 사용한 만큼만 비용이 발생합니다.

AWS API Gateway는 서버리스 환경에서 API를 구축하고 관리하는 데 필수적인 서비스입니다. 이를 통해 개발자는 API 구축에 집중할 수 있으며, 인프라 관리에 소요되는 시간을 절약할 수 있습니다. API Gateway를 활용하면 고성능확장 가능한 API를 쉽게 구축하고, 클라이언트와 서버 간의 효율적인 데이터 통신을 실현할 수 있습니다.