AWS API Gateway를 사용하여 서버리스 Node.js API를 배포하는 방법은 무엇입니까?

Aws Api Gatewayleul Sayonghayeo Seobeoliseu Node Js Apileul Baepohaneun Bangbeob Eun Mueos Ibnikka



AWS는 광범위한 서비스 포트폴리오를 갖춘 클라우드 컴퓨팅 플랫폼입니다. 데이터 저장부터 데이터 조작, 데이터 분석까지 이러한 서비스는 IT 산업의 다양한 측면을 다룹니다. 현재 AWS는 여러 개발 언어와 런타임 환경도 지원하고 있습니다. 이러한 서비스의 가장 일반적인 예 중 하나는 AWS Lambda입니다.

AWS 람다 사용자가 서버를 제공하거나 관리하지 않고도 코드를 실행할 수 있도록 하는 AWS의 이벤트 중심 컴퓨팅 서비스입니다. Lambda는 모든 컴퓨팅 인프라와 리소스 관리를 효율적으로 처리합니다. Lambda 서비스에서 지원하는 여러 개발 언어(예: Go, Ruby, Python 등)가 있습니다. Lambda는 사용자가 소비한 컴퓨팅 시간에 대해서만 비용이 발생하므로 비용 효율적인 서비스로 간주됩니다. Lambda 함수에 제공된 코드가 실행 상태가 아닌 경우에는 추가 비용이 발생하지 않습니다.

더 읽어보세요 : AWS Lambda 시작하기







빠른 개요



이 문서에서는 다음 측면을 설명합니다.



서버리스 프레임워크란 무엇입니까?

용어 “서버리스” 서버 제공 및 유지 관리가 타사 소프트웨어 또는 클라우드 제공업체에 의해 관리되는 용어를 나타냅니다. 이러한 프레임워크를 통해 사용자는 서버를 유지 관리하는 대신 핵심 비즈니스 논리에 집중할 수 있습니다. 오늘날 서버리스 프레임워크는 거대 기술 기업의 관심을 끌었으며 엄청난 이점을 제공하고 있습니다.





또한 서비스 제공업체에서 서버를 제공하고 관리하므로 비용 효율적인 솔루션이기도 합니다. AWS에서 Lambda는 사용자의 코드만 있으면 작동하므로 서버리스 서비스로 간주됩니다. AWS Lambda를 사용하면 사용자는 비용 효율적인 방식으로 다양한 런타임 환경에서 애플리케이션을 쉽게 구축하고 확장할 수 있습니다.

API란 무엇입니까?

API 의 약어이다 '응용 프로그래밍 인터페이스'. API의 공식적인 도입에는 소프트웨어 또는 응용 프로그램의 두 구성 요소가 통신을 위해 유용한 정보를 교환할 수 있도록 하는 일련의 정의 및 프로토콜이 포함됩니다.



API의 실시간 적용은 웹 브라우저를 사용하는 것입니다. 사용자가 웹사이트를 검색할 때마다 해당 웹사이트가 있는 서버로 요청이 전달됩니다. 서버와 브라우저 간의 이러한 통신은 API를 통해 이루어집니다.

API 게이트웨이란 무엇입니까?

API Gateway는 API 관리 도구와 유사한 AWS의 완전 관리형 서비스입니다. API 게이트웨이를 사용하여 개발자는 다양한 API를 쉽게 생성, 관리, 게시 및 확장할 수 있습니다. 마찬가지로 API 게이트웨이를 통해 사용자는 서버 측에서 실행되는 다른 마이크로서비스와 통신할 수 있습니다. 사용자로부터 입력을 받아 처리한 다음 적절한 마이크로서비스로 전달합니다. 그런 다음 이러한 마이크로서비스는 출력 생성을 위해 이 입력을 처리합니다.

API Gateway의 다양한 API 유형은 무엇입니까?

API 게이트웨이는 아래에 언급된 세 가지 유형의 API에 대한 관리 서비스를 제공합니다.

HTTP API: 이 API는 클라이언트 측으로만 제한된 웹 개발에 광범위하게 사용됩니다. 이러한 API는 비공개 또는 공개로 분류될 수 있습니다.

나머지 API: REST라는 용어는 “표현 상태 전송 API”. 이는 애플리케이션의 프런트엔드와 백엔드를 분리하는 가장 일반적으로 사용되는 접근 방식 중 하나입니다. REST API는 본질적으로 상태 비저장이며 개발 및 구현이 유연합니다.

웹소켓 API: 이러한 API는 소켓 통신이 포함될 때 사용됩니다. WebSocket API를 사용하면 사용자는 웹 개발에서 양방향 전이중 통신을 위한 소켓을 만들 수 있습니다. 이러한 API는 JavaScript로 작성되었습니다.

API 게이트웨이를 사용하여 서버리스 Node.js API를 배포하는 방법은 무엇입니까?

API 게이트웨이가 포함된 서버리스 Node.js API 배포를 위해 S3 버킷, Lambda 함수 및 API 게이트웨이를 사용합니다. S3 버킷에는 애플리케이션 코드가 포함됩니다. 버킷의 고유 URI는 핸들러로 Lambda 함수에 제공됩니다. API 게이트웨이는 사용자의 입력을 처리하고 적절한 출력을 제공하는 Lambda 함수에 대한 트리거로 추가됩니다.

다음은 API 게이트웨이를 사용하여 Serverless Node.js API를 배포하는 단계입니다.

1단계: Lambda 함수 생성

Lambda 함수를 생성하려면 “람다” 에서 서비스 AWS 관리 콘솔 :

더 알아보기: “Python 런타임으로 Lambda 함수를 생성하는 방법” .

Lambda 함수 인터페이스에서 “함수 생성” 단추:

Create Function 인터페이스에서 “저자는 처음부터” 옵션:

다음은 '기본 정보' 부분. 이 섹션에서는 Lambda 함수의 이름을 제공합니다. “함수 이름” :

다음을 클릭하세요. “함수 생성” 인터페이스 하단에 있는 버튼:

여기서는 기능 생성 된 성공적으로 :

2단계: API 게이트웨이 생성

다음 단계는 API 게이트웨이를 생성하는 것입니다. 이를 위해 “API 게이트웨이” 에서 서비스 AWS 관리 콘솔 :

API 게이트웨이 인터페이스를 아래로 스크롤하고 '짓다' 옵션에서 REST API 차단하다:

“API 생성” 상호 작용, 선택하다 다음과 같은 강조 표시된 옵션 . 우리가 건물을 짓고 있는 동안 나머지 API 처음부터 우리는 다음 옵션을 선택했습니다.

에서 설정 동일한 인터페이스 섹션에 API 이름을 제공합니다. “API 이름” 텍스트 필드:

다음을 클릭하세요. “API 생성” 단추:

API를 성공적으로 생성한 후 '행위' 버튼을 클릭하고 다음 강조 표시된 옵션을 선택하여 API의 리소스와 메서드를 구성합니다.

다음으로 API 이름을 입력하세요. “리소스 이름” 텍스트 필드. 에서 리소스 경로, 사용자는 리소스의 경로를 지정할 수 있습니다. 그러면 지정된 경로가 원래 메서드와 결합되어 요청을 처리하게 됩니다. 다음을 클릭하세요. “리소스 생성” 단추:

리소스를 생성한 후 '행위' 다시 탭하고 다음을 선택하세요. “리소스 생성” API 내부에서 메서드와 리소스를 정의하는 메서드:

이름을 입력하세요. “리소스 이름” 필드를 클릭하고 “리소스 생성” 단추:

중첩된 리소스를 구성한 후 '행위' 버튼을 클릭하고 “생성 방법” 버튼의 드롭 다운 메뉴 :

우리는 다음을 사용하여 API의 작동을 테스트하고 싶습니다. GET 요청 Node.js에서. 따라서 Methods 인터페이스에서 '얻다' 요구:

선택한 후 GET 요청 , '확인하다' 변경 사항을 확인하는 버튼:

'얻다' 메서드 인터페이스에서 앞서 생성한 Lambda 함수의 이름을 제공하고 다음과 같이 구성합니다. 그 후 '구하다' 변경 사항을 확인하는 버튼:

클릭한 후 '구하다' 버튼을 누르면 다음 대화상자가 나타납니다. 다음을 클릭하세요. '좋아요' 단추:

마찬가지로, 첫 번째 방법에 대해 수행한 것과 유사한 단계를 수행하여 하나 이상의 방법을 만듭니다. 사용자는 요구 사항에 따라 API 내에서 여러 메서드를 만들 수 있습니다. 모든 방법을 구성한 후 '행위' 탭을 선택하고 “API 배포” 옵션:

그러면 다음 대화 상자가 표시됩니다. 에서 “배포 단계” 세부정보를 제공하세요. 다음은 '예명' 스테이지 이름을 지정하는 필드입니다. 다음을 클릭하세요. “배포” 단추:

그만큼 API 되었습니다 성공적으로 생성되었습니다 :

아래로 스크롤 인터페이스를 클릭하고 '변경 사항을 저장하다' 단추:

3단계: S3 버킷 생성

이 단계에서는 코드를 저장할 버킷을 생성하겠습니다. 이 코드는 Lambda 함수와 연결되며 API는 코드 내부에 구성된 속성을 검색하는 데 사용됩니다.

S3 버킷을 생성하려면 다음을 검색하세요. 'S3' 검색창에 서비스를 AWS 관리 콘솔. 표시된 결과에서 서비스 이름을 탭하세요.

S3 콘솔에서 “버킷 생성” 프로세스를 시작하는 옵션:

에서 일반 구성 섹션에서 버킷에 대해 전역적으로 고유한 식별자를 제공합니다. 강조 표시된 텍스트 필드 :

유지함으로써 설정 ~처럼 기본 , “버킷 생성” 인터페이스 하단에 있는 버튼:

그러면 버킷이 생성됩니다. 이제 코드를 S3 버킷에 업로드하기 위해 다음을 제공했습니다. 간단한 Node JS 코드 ~에 GitHub 저장소. 다음에서 코드를 다운로드하세요. 우편번호 형식 :

다운로드 후 압축 파일 , 이동 S3 대시보드 버킷을 선택하세요. 다음 인터페이스에서 “업로드” 버튼과 업로드 그만큼 압축 파일 버킷에:

더 알아보기: Amazon Simple Storage Service에 객체를 업로드하는 방법은 무엇입니까?

탭하세요. '파일 추가' 인터페이스 오른쪽에 있는 버튼 '폴더 추가' 단추. 추가한 후 압축 파일 양동이에, 쳐 “업로드” 인터페이스 하단에 있는 버튼:

그만큼 파일 되었습니다 성공적으로 업로드되었습니다 :

후에 업로드 중 파일을 버킷에 추가하려면 물체 속성을 보려면:

다음을 클릭하세요. “S3 URI 복사” 단추. 이는 Lambda 함수에 추가됩니다.

로 이동 람다 대시보드 Lambda 함수를 선택합니다.

아래로 스크롤하여 '암호' 섹션을 탭하고 “다음에서 업로드” 단추. 로부터 드롭 다운 메뉴, 을 클릭하세요 “아마존 S3 위치” 옵션:

붙여넣기 “S3 URI” 표시된 대화 상자에서 '구하다' 단추:

람다 함수 인터페이스 , 아래로 스크롤하여 '런타임 설정' 그리고 '편집하다' 단추:

에서 '매니저' 필드에서 다음 구성을 편집합니다. 그만큼 '노드API' 은 S3 버킷에 업로드된 폴더 이름이고 index.js는 진입점입니다. 그 후 '구하다' 단추:

4단계: 확인

로 이동 API 게이트웨이 서비스 콘솔을 클릭하고 “API” 이름:

API를 선택한 후 “스테이지” 사이드바에서 버튼을 클릭한 다음 배포 단계(예: firststage)를 클릭합니다.

복사 URL 그리고 발사 우편 집배원 로컬 컴퓨터의 도구:

만들기 GET 요청 에서 우편 집배원 URL을 붙여넣으세요. 클릭한 후 '보내다' 버튼을 클릭하면 다음과 같은 결과를 얻습니다.

이것이 이 가이드의 전부입니다.

결론

API 게이트웨이를 사용하여 Node.js API를 배포하려면 코드를 S3 버킷에 업로드하고 이를 핸들러로 추가하고 API 게이트웨이를 Lambda 함수에 대한 트리거로 추가합니다. Postman을 사용하여 시작된 요청은 API를 통해 Lambda 함수로 전달됩니다. API를 생성하려면 AWS의 API 게이트웨이 서비스를 사용하십시오. Lambda 함수에 핸들러로 추가된 S3 버킷은 요청 처리를 위한 코드를 제공합니다. 출력은 Postman의 콘솔에 표시됩니다. 이 문서는 AWS API 게이트웨이를 사용하여 Node.js API를 구현하기 위한 단계별 자습서입니다.