API Gateway
EC2와 ELB를 연결하는 방법
api gateway: AWS에서 제공하는 EC2와 ELB는 여러 서비스를 이용하는 데 있어 중요한 역할을 담당한다. EC2는 가상 컴퓨터를 제공하고, ELB는 로드밸런서를 제공하여 수많은 트래픽을 효율적으로 처리할 수 있다. 만약 EC2와 연결하고 싶다면, instance의 public 주소를 입력하면 된다.
만약 로드밸런서를 사용해서 ELB를 생성했다면 ELB DNS 주소를 입력하면 된다. 이렇게 연결을 완료하면 원하는 서비스를 구축할 수 있다. 하지만, 단순히 EC2와 ELB를 연결하는 것만으로는 부족하다.
여러 경로를 설정해주어야 원하는 서비스를 구축할 수 있다. 두번째 경로 설정도 추가로 해본다. 이번엔 다음 사이트로 라우팅 되도록 설정해준다.
경로를 설정해줬으니, 이제 해당 경로에 실질적으로 어느 도메인으로 연결할지 통합 연결을 설정해준다. 다음과 같이 서버로 요청이 들어오는 method와 path를 설정해 줄수 있다.
Method | Path | 묘사 |
---|---|---|
GET | /api/users | 모든 사용자 정보 가져오기 |
GET | /api/users/:id | 특정 사용자 정보 가져오기 |
POST | /api/users | 새로운 사용자 생성하기 |
PUT | /api/users/:id | 특정 사용자 정보 수정하기 |
DELETE | /api/users/:id | 특정 사용자 정보 삭제하기 |
위와 같이 설정해주면, 특정 요청에 대해 원하는 서비스를 구축할 수 있다.
AWS에서 제공하는 EC2와 ELB를 활용하여 원하는 서비스를 구축해보자.
API 게이트웨이를 생성하는 방법
API 게이트웨이를 사용하면 서로 다른 소스 간에 데이터를 교환하고 액세스할 수 있습니다. 이러한 이점을 활용하여, 개발자들은 자사의 애플리케이션에서 다른 회사의 서비스를 사용하거나 다른 애플리케이션에서 자사의 서비스를 사용할 수 있습니다. API 게이트웨이를 생성하는 방법은 매우 간단합니다.
먼저, API 게이트웨이 콘솔 메뉴로 이동한 후, API 생성 버튼을 클릭합니다. 다만, HTTP API, REST API 및 WEBSOCKET API의 경우 각각 요금이 다르므로 이 점을 염두에 두어야 합니다. 웹 개발을 처음 시작한 사람들은 클라이언트와 서버 간의 통신을 HTTP 프로토콜만을 이용해 구성한다고 생각할 수 있습니다.
그러나 채팅 애플리케이션, 스트리밍 대시보드와 같은 실시간 양방향 통신 애플리케이션을 만들기 위해서는 HTTP만으로는 부족합니다. 따라서, API 게이트웨이를 활용하여 클라이언트와 서버 간의 실시간 양방향 통신을 가능하게 할 수 있습니다. 이를 위해서는 API 게이트웨이 생성과 함께 적절한 프로토콜을 선택해야 합니다.
아래의 표는 HTTP API, REST API 및 WEBSOCKET API의 각각의 요금과 프로토콜에 대한 설명을 제공합니다.
API 종류 | 프로토콜 | 요금 |
---|---|---|
HTTP API | HTTP | 요금 무료 |
REST API | HTTP | 요금 있음 |
WEBSOCKET API | WebSocket | 요금 있음 |
따라서, 개발자들은 API 게이트웨이를 통해 자사의 애플리케이션에서 다른 회사의 서비스를 사용하거나 다른 애플리케이션에서 자사의 서비스를 사용할 수 있으며, 이를 위해 API 종류와 프로토콜에 맞춰 요금을 지불해야 합니다.
REST와 RESTful API란?
REST는 Representational State Transfer의 약자로, 웹 서비스를 구축하는데 사용하는 패턴입니다.
RESTful API는 REST의 원칙을 지킨 API를 의미합니다. 이를 충족하기 위해서는 다음과 같은 4가지 제약 조건을 따라야 합니다. 1. 클라이언트-서버 구조: 서버와 클라이언트가 각각 독립적으로 발전해야 한다.
2. 무상태성(Stateless): 각각의 요청 간 별도의 상태 정보를 저장하고 관리하지 않는다. 3. 캐시 처리 가능(Cacheable): HTTP 프로토콜을 그대로 사용하므로 웹에서 사용하는 기존 인프라를 그대로 활용할 수 있다. 4. 계층형 구조(Layered System): REST 서버는 다중 계층으로 구성될 수 있으며, 클라이언트는 서버에 직접 연결되어 있는지 또는 중간 매체를 거쳐 연결되어 있는지를 알 수 없다.
RESTful API는 HTTP API의 한 종류로, 여러가지 제약 조건이 추가된 형태입니다. HTTP API는 데이터만 주고 받고 UI 화면이 필요하면 따로 처리해야 하는 방식입니다. 반면 RESTful API는 완전한 REST 설계 규칙을 지켜 구축된 API이며, 자원을 상태 코드와 함께 표현해 요청하면 그에 대한 데이터만 반환합니다.
대부분의 Web API가 HTTP API로 이루어져 있으며, RESTful API는 이러한 HTTP API가 REST 원칙을 지키게끔 구현한 것입니다. RESTful API는 HTTP 메소드를 이용하여 자원을 생성, 조회, 수정, 삭제할 수 있습니다. 예를 들어 GET 메소드를 이용하여 자원의 상태를 조회하거나, PUT 메소드를 이용하여 자원을 수정할 수 있습니다.
HTTP Method | 기능 |
---|---|
GET | 자원 조회 |
POST | 자원 생성 |
PUT | 자원 수정 |
DELETE | 자원 삭제 |
RESTful API를 사용하면 HTTP 프로토콜을 통해 API를 호출할 수 있기 때문에 웹에서 사용하는 인프라를 그대로 활용할 수 있습니다. 또한 각 요청 간 별도의 상태 정보를 저장하지 않기 때문에 서버와 클라이언트 간 의존성이 적어지고, 성능 또한 좋아지게 됩니다.
'it' 카테고리의 다른 글
NFC 사용법 총정리 (0) | 2023.06.27 |
---|---|
API란 뜻 개념 알아보기 (0) | 2023.06.26 |
에어팟 프로 (초기화, 리셋, 재설정) 방법 (0) | 2023.06.23 |
에어팟 노이즈 캔슬링 (0) | 2023.06.23 |
사용자에 맞춤 에어팟 프로 개인 맞춤형 공간 음향 설정하기 (0) | 2023.06.22 |
댓글