[AWS] API Gateway 설명

JUHYUN SEO·2024년 8월 21일

AWS

목록 보기
5/6

회사에서 강의? 있는거 일단 차근차근 정리하기용~

API란?


요청과 응답을 사용하여 두 어플리케이션이 서로 통신하는 방법을 정의하는것. 쉽게 설명하면,

✨프론트 엔드와 백엔드가 서로 통신할때 API를 사용✨



API Gateway

API Gateway란?

위의 그림과 같이 api서버주소(데이터 주는 곳)이 다른데 요청할때마다 매번 다른 주소를 요청하는것이 번잡해 사용하는것

🌱 클라이언트와 백엔드 사이에서 데이터를 주고 받는 중계자 역활이라고 생각하면 됨

✨ 실제 백엔드 서비스 또는 데이터와 접속하고, API 호출에 대한 정책, 인증 및 엑세스 제어를 적용해주는 관리 시스템 ✨


API Gateway 종류

  1. HTTP API ➡️ 인증 커스텀 불가능
  2. WebSocket API ➡️ 장시간 연결을 유지할때 사용하나 비용이 비쌈
  3. REST API ➡️ 인증을 원하는데로 커스텀 가능
  4. REST API Private

REST API

Rest Api Gateway는 4가지 단계로 데이터 처리

  1. 메소드 요청 ➡️ 요청이 어떻게 오는지에 대한 설정
  2. 통합요청 ➡️ 요청이 어디로 처리되는지에 대한 설정
  3. 통합 응답 ➡️ 응답이 어떻게 오는지에 대한 설정
  4. 메소드 응답 ➡️ 응답을 어떻게 클라이언트에게 되돌려주는지에 대한 설정

➕ Swagger란?
API에 대한 정보를 전달하기 위해 일일이 문서화하는 것은 매우 번거롭다.
Swagger는 이러한 API문서를 자동으로 생성하여 HTML로 만들어주는 오픈 소스 프레임워크이다.

➕ API EndPoint란?
API 엔드포인트는 API 호출이 수행되는 곳이다.
즉, API가 RESTful API를 인터페이스를 통해 서버의 리소스에 액세스 할 수 있도록 해주는 URL

➕ Cors란?


🌱Http Method

주요 메소드

GET: 리소스 조회
POST: 요청 데이터 처리, 주로 등록에 사용
PUT: 리소스를 대체, 해당 리소스가 없으면 생성
PATCH: 리소스 부분 변경
DELETE: 리소스 삭제

기타 메소드

HEAD: GET과 동일하지만 메시지 부분을 제외하고, 상태 줄과 헤더만 반환
OPTIONS: 대상 리소스에 대한 통신 가능 옵션(메소드)을 설명(주로 CORS에서 사용)
CONNECT: 대상 자원으로 식별되는 서버에 대한 터널을 설정
TRACE: 대상 리소스에 대한 경로를 따라 메시지 루프백 테스트를 수행



API Endpoint

API가 서버에서 리소스에 접근할 수 있도록 가능하게 하는 URL
프로그래밍 방식으로 AWS 서비스에 연결하려면 엔드포인트를 사용



API 인증

➕ 인증 - 인증은 유저가 유효한지를 확인하는 것(로그인이 되는지 안되는지)
💫 AWS에서는 Cognito로 가능
💫 API에서 オーソライザー에서 인증 가능

➕ 인가 - 해당 유저가 권한이 있는지 없는지를 확인하는것 (로그인은 되어있지만, 유저인지 관리자인지 확인해 관리자만 보이게 하는것)

➕ JWT(Json Web Token) - 일반적으로 클라이언트와 서버 사이에서 통신할 때 권한을 위해 사용하는 토큰

구성요소

Header - 토큰 타입과 알고리즘 정보가 담겨있는 부분
Payload - 유효기간 등의 데이터가 담겨있는 부분
Signature - 앞의 정보를 암호화 한 내용이 들어가는 부분
profile
alice is everywhere

0개의 댓글