AWS API Gateway

민태영·2024년 10월 2일
0

개요

AWS APIgateway는 규모와 상관없이 개발자가 API를 생성, 게시, 유지관리, 모니터링 및 보안 유지할 수 있도록 하는 완전관리형 서비스이다.
실시간 양방향 통신 애플리케이션이 가능하도록 하는 RESTful API 및 WebSocket API를 작성할 수 있다.
API Gateway는 컨테이너식 서버리스 워크로드 및 웹 어플리케이션을 지원한다.

여기서 API란

어플리케이션이 백엔드서비스의 데이터 비즈니스로직 또는 기능에 액세스
할 수 있는 "정문"역할을 한다.

API Gateway의 주요 지원서비스

  • AWS의 서비스 및 외부 서비스를 위한 API를 생성/관리해주는 서비스이다.
  • HTTP/Websocket프로토콜 지원
  • Serverless서비스
  • 다양한 AWS서비스와 연동
  • 예1) HTTP API형식으로 Lambda혹은 DynamodDB연동
  • 예2) 어플리케이션 백엔드를 HTTP API로 연결
  • API Key를 사용해 보안 관리와 사용량 추적가능
  • 배포관리 기능 (Canary배포 등)

REST

REST = Representational State Transfer의 약자

  • 단일 HTTP메세지로 하나의 조작에 관한 정보를 포함
  • URI로 표현하는 리소스를 정의
  • HTTP메서드(POST, GET, PUT, DELETE...)로 조작

APIGateway의 REST엔드포인트 3타입

REST API의 경우 크게 3종류의 엔드포인트가 존재하며 그 중 하나를 선택(클라이언트입장에서 액세스를 한 엔드포인트의 성질을 결정)
(추후 자세하게 정리예정)

  1. 엣지최적화: 엣지로케이션의 루팅
  2. 리젼:
    2-1: 리젼에 직접 루팅
    2-2: 리퀘스트의 루트가 동일한 리젼의 경우 레이턴시가 삭감
    2-3: CloudFront와 연동가능
  3. 프라이베이트:Public에서의 접근이 불가하며 VPC내에서 AWS PrivateLink=VPC엔드포인트경유로만 접근을 할 수 있다.

WebSocket

HTTP상으로 클라이언트와 서버간의 양방향 통신을 구현하는 통신프로토콜

  • 하나의 커넥션으로 지속적인 데이터를 송수신할 수 있다.
  • URI스키마는 wss://를 사용한다.

API작성의 흐름(신규작성)

profile
꿈을 꾸는 개발자

0개의 댓글