AWS - API Gateway란?

songa29·2021년 5월 25일
1
post-thumbnail

📌 API란?

API는 Application Programming Interface의 약자이며, 요청을 받고 요청받은 일들을 알아서 처리해준다.

📌 RESTful API란?

API 종류들 중 하나

  • REpresentational State Transfer : 상태에 변화를 주기 위해 그 정보를 서버와 클라이언트 간에 공유하고 주고 받기 위해 사용된다.
  • CREATE(post), READ(get), UPDATE(put), DELETE(delete)
  • JSON형태로 요청을 받고 해결함
  • ex) { “customer_id”: “simon_05”,
    “category”: “car”}

API Gateway에 들어가기 앞서

  • 대부분의 어플리케이션은 RESTful API 기반으로 운용됨
  • 매우 힘든 RESTful API 관리
    - Authentication & Authorization
    어플리케이션에서 모든 사용자들이 API 요청을 하는 것을 허용해서는 안된다. 예로 회원/비회원, 로그인/비로그인
    - API 요청을 모니터링 해야함
    - 더나은 성능을 위해 API 요청 캐시 시스템 필요
    사용한 API를 캐시에 넣어 빠르게 요청할 수 있도록 함

📌 API Gateway란?

  • 뛰어난 확장성 제공 및 API를 만들고 운영하고 모니터링 가능
    모니터링은 CloudWatch 로그를 통해 확인
  • Back-end 서비스 (웹 어플리케이션, EC2)에 들어있는 데이터 접근 허용
  • Pay As You Go
    계속 비용을 지불하는 것이 아니라 API를 사용할때 오래걸리는지, 얼마나 많은 데이터를 처리하는지에, 대해 비용 지불, 비용적으로 큰 이점

실습


API Gateway : 사용자로부터 다양한 요청을 받음
Lambda Function : 이 정보를 람다함수로 전달
DynamoDB : 사용자 요청에 따라 DynamoDB에 데이터를 관리(업데이트, 삭제, 수정)

1) DynamoDB 생성
파티션 키에 따라 DynamoDB 성능을 극대화 시킬 수 있음
2) API Gateway 생성
보안상 VPC 내에서만 사용할 수 있는 것은 프라이빗
새 API 생성하는 방법은 3가지 (람다함수처럼)
엔드포인트 유형 - 지역
3) 이 API를 사용하여 DynamoDB에 넣고 싶은데, 리소스를 생성 후 메소드 생성
4) Lambda 함수 생성, API Gateway에서 전달받은 요청은 Lambda에서 어떻게 보여질 것인지? 배포 (저장)
5) API Gateway에서 생성한 Lambda 함수와 연결 후 메서드 실행할 때 요청 본문에 내용을 보내고 후에 로그 보기

profile
백엔드 개발자

0개의 댓글