api-gateway

유유·2021년 7월 14일
0

API Gateway 란?

최근 서비스는 마이크로서비스 아키텍처 형태로 독립적인 기능을 수행하는 작은 단위의 서비스로 나누어 개발하고 있습니다.
작은 단위의 서비스로 분리함에 따라 서비스의 복잡도를 줄일 수 있으며, 변경에 따른 영향도를 최소화하면서 개발과 배포를 할 수 있다는 장점이 있습니다.
하지만, 여러 서비스의 엔드포인트를 관리해야 하는 어려움이 있으며 각 서비스의 API에서 공통적으로 필요한 기능을 중복으로 개발해야 하는 문제가 있습니다.

API Gateway를 이용하면 통합적으로 엔드포인트와 REST API를 관리 할 수 있습니다.

모든 클라이언트는 각 서비스의 엔드포인트 대신 API Gateway로 요청을 전달합니다.

API Gateway는 사용자가 설정한 라우팅 설정에 따라 각 엔드포인트로 클라이언트를 대리하여 요청하고 응답을 받으면 다시 클라이언트에게 전달하는 프록시 역할을 합니다.

그뿐만 아니라 API Gateway는 엔드포인트 서버에서 공통으로 필요한 인증/인가, 사용량 제어, 요청/응답 변조등의 기능을 플러그인 형태로 제공하고 있습니다.
플러그인을 사용하면 각 엔드포인트 API 서버가 구현하지 않아도 되기 때문에 개발자 입장에서는 개발 비용을 줄일 수 있습니다.


Amazon API Gateway란 무엇입니까?

Amazon API Gateway는 규모와 관계없이 REST 및 WebSocket API를 생성, 게시, 유지, 모니터링 및 보호하기 위한 AWS 서비스입니다. API 개발자는 AWS 또는 다른 웹 서비스를 비롯해 AWS 클라우드에 저장된 데이터에 액세스하는 API를 생성할 수 있습니다. API Gateway API 개발자는 자체 클라이언트 애플리케이션에서 사용할 API를 생성할 수 있습니다. 또는 타사 앱 개발자가 API를 사용하도록 제공할 수도 있습니다.

API Gateway는 다음과 같은 RESTful API를 생성합니다.

HTTP 기반.
상태 비저장 클라이언트-서버 통신을 활성화합니다.
표준 HTTP 메서드(예: GET, POST, PUT, PATCH, DELETE)를 구현합니다.
API Gateway REST API 및 HTTP API에 대한 자세한 내용은, HTTP API와 REST API 중에서 선택, HTTP API 작업, API Gateway를 사용하여 REST API 생성 및 Amazon API Gateway에서 REST API 생성 단원을 참조하세요.

API Gateway는 다음과 같은 WebSocket API를 생성합니다.

클라이언트와 서버 간에 상태를 저장하는 전이중 통신을 지원하는 WebSocket 프로토콜 준수.
수신 메시지를 메시지 콘텐츠에 따라 라우팅.

이 다이어그램은 Amazon API Gateway에서 빌드한 API가 귀사 또는 개발자 고객에게 AWS 서버리스 애플리케이션 빌드를 위한 통합적이고 일관된 개발자 환경을 제공하는 방법을 보여줍니다. API Gateway는 최대 수십만 개의 동시 API 호출 허용 및 처리에 관련된 모든 작업을 다룹니다. 여기에는 트래픽 관리, 권한 부여 및 액세스 제어, 모니터링, API 버전 관리가 포함됩니다.

API Gateway는 애플리케이션이 Amazon Elastic Compute Cloud(Amazon EC2)에서 실행 중인 워크로드, AWS Lambda에서 실행 중인 코드, 웹 애플리케이션, 실시간 통신 애플리케이션과 같은 백엔드 서비스에서 데이터, 비즈니스 로직 또는 기능에 액세스할 수 있게 해주는 “정문” 역할을 합니다.

API Gateway의 기능

Amazon API Gateway는 다음과 같은 기능을 제공합니다.

상태 저장(WebSocket) 및 상태 비저장(HTTP 및 REST) API에 대한 지원.
AWS Identity and Access Management 정책, Lambda 권한 부여자 함수 및 Amazon Cognito 사용자 풀과 같은 강력하고 유연한 인증 메커니즘입니다.
API를 게시하기 위한 개발자 포털.
변경 사항을 안전하게 롤아웃하기 위한 Canary 릴리스 배포.
API 사용 및 API 변경에 대한 CloudTrail 로깅 및 모니터링.
경보 설정 기능을 포함한 CloudWatch 액세스 로깅 및 실행 로깅.

profile
하이

0개의 댓글