본문 바로가기
CSP (Cloud Service Provider)/AWS

AWS API Gateway

by BTC_나르 2023. 9. 15.

베하~! 탑신병자 듀오 팀 나르 입니다!

이번 포스팅에서는 AWS API Gateway에 대해서 알아보도록 하겠습니다


AWS API Gateway란?

  • 규모에 상관없이 API 생성, 유지 관리, 모니터링과 보호를 할 수 있게 해주는 서비스
  • Client에서 server로 통신할 때 사용하는 많은 api들의 통로
    • 사용자가 설정한 라우팅 설정에 따라 각 엔드포인트로 클라이언트를 대리하여 요청하고 응답 받으면 다시 클라이언트에게 전달(Proxy)
  • 엔드포인트 서버에서 공통으로 필요한 인증/인가, 사용량 제어, 요청/응답 변조 등의 다양한 기능을 플러그인 형태로 제공
  • Lambda와 연동하여 Serverless 서비스를 구축하는데 사용 된다.

API 유형

  • RESTful API
    • HTTP API
      • 1000000 request 당 $1
      • User 마다 API KEY 나눌 수 있도록 지원X
      • HTTP를 통신 방식으로 사용하여 빠르고 간단한 API 구현 가능
      • 속도와 경량화에 집중
      • 앱/웹/서버 → 서버로 사용 된다.
    • REST API
      • 1000000 request 당 $3
      • HTTP API에서 여러가지 제약 조건이 추가 된 형태
        • 자원의 식별
        • 메시지를 통한 리소스 조작
      • User 마다 API KEY 나눌 수 있도록 지원
      • Pull 기능을 사용할 때 유용하다
      • CRUD 메서드 동작
  • WEBSOCKET API
    • 채팅 앱 및 스트리밍 대시보드와 같은 실시간 양방향 통신 애플리케이션을 구축 가능
    • 사용자의 브라우저와 서버 사이의 인터액티브 통신 세션을 설정할 수 있게 하는 기술

HTTP API Gateway 생성

  • API 유형 선택

  • API Name 설정 후 URL 호출 확인

  • Routes를 통하여 경로를 설정

  • 메서드 설정 및 경로 설정(ANY → 모든 요청 포함)

  • 통합 설정을 통하여 연결 할 URL을 설정

  • 호출 URL과 설정한 경로를 통하여 연결 된 URL로 접속이 되는 것을 확인

REST API Gateway 생성

  • API 유형 선택

  • 예제 API를 이용하여 생성

  • 앤드포인트 유형 선택

 

지역: 특정 리전 안에서 사용
최적화된 에지: CloudFront를 사용
프라이빗: AWS내 VPC에서만 접근 가능
  • 실제 API를 호출하는 URL을 설정하기 위하여 “리소스 생성”

  • 2번째 경로를 “리소스 생성”을 통하여 지정
    • 리소스 경로에 {}를 묶어주며 경로 파라미터로써 사용할 수 있다
      • 서비스 특성상 뒤의 경로가 고정되어 있지 않고, 여러개의 경로 값을 사용할 경우 변수 역할을 할 수 있다.

  • 요청할 메서드 생성

  • 엔드포인트 URL 부분에 요청을 보낼 목적지 URL을 넣는다
    • https://api.github.com/users/{userid} ⇒ 이 URL의 경우 GitHub에서 무료로 제공하는 API, {userid} 부분에 GitHub 닉네임을 넣고 요청하게 되면 GitHub 프로필 정보를 json으로 반환

  • Test 진행 후 배포 작업

  • 생성 된 URL/path1/{userid}을 통하여 Github 프로필 확인


지금까지 AWS API Gateway에 대하여 알아봤습니다

다음 포스팅에는 더욱 흥미로운 주제로 돌아오겠습니다~!

그럼 베빠~!

'CSP (Cloud Service Provider) > AWS' 카테고리의 다른 글

[AWS] Cost Explorer  (0) 2023.09.16
[AWS] Amazon Route 53 Resolver  (0) 2023.09.16
[AWS] AWS DMS - LOB 모드  (0) 2023.09.15
[AWS] CloudWatch Metric Stream  (0) 2023.09.15
[AWS] DynamoDB (1)  (0) 2023.09.15

댓글