Lambda 함수를 사용하여 REST API 생성

Lambda 함수를 사용하여 REST API 생성

AWS Lambda 함수로 구성된 API로 구동되는 웹 앱이 있습니다. API에는 세 가지 환경(프로덕션, 스테이징, 데모)이 있습니다. 우리는 다음을 사용하여 기능을 개발하고 있었습니다.서버리스 오프라인함수는 다음과 같습니다(총 84개의 함수가 있고 각 환경에는 28개의 함수가 있습니다).

생산

  • API-제품-기능-1
  • API-제품-기능-2
  • API-제품-기능-3
  • 등...

각색

  • API-스테이징-함수-1
  • API-스테이징-함수-2
  • API 스테이징 기능-3
  • 등...

데모

  • API-데모-함수-1
  • API-데모-기능-2
  • API-데모-함수-3
  • 등...

환경에 따라 기능은 우리가 사용하는 서비스(예: Auth0 샌드박스와 라이브, Mailgun 샌드박스와 라이브 등)의 서로 다른 DB 및 서로 다른 ENV에 연결됩니다.

문제는 기능이 최대 코드 저장 한도인 75GB를 초과했다는 것입니다. 이 스크립트를 사용하여 이전 버전을 정리했지만 삭제할 이전 버전이 남아 있지 않은 것 같습니다.

그래서 내 질문은 다음과 같습니다

  1. 이 저장 용량 한도를 늘릴 수 있나요?
  2. 기본적으로 전체 API는 람다 함수를 기반으로 구축되었으며 각 엔드포인트는 자체 람다 함수를 호출합니다. 이것이 Lambda의 좋은 사용 사례입니까?

사용된 패키지:

  • 분석 노드
  • 인증0
  • aws-sdk
  • 에버사인
  • 무서운
  • jsonwebtoken
  • 넥스
  • 람다 멀티파트 파서
  • 람다 슬랙 라우터
  • 미디
  • 순간
  • 노드메일러
  • nodemailer-mailgun-transport
  • 반대
  • 페이지
  • 갈가마귀
  • 요구
  • 요청-약속-네이티브
  • 서버리스 센트리
  • 서버리스 센트리 lib
  • 샤1
  • 여유 시간 알림
  • uuid
  • 검증인

참고: 애초에 이 모든 것을 만든 사람은 회사를 떠났고, 적합한 사람을 찾을 때까지 이를 관리해야 하는 사람은 나입니다. 저는 AWS에 대한 경험이 조금 있으므로 어떤 조언이라도 큰 도움이 될 것입니다.

미리 감사드립니다.

답변1

이 저장 용량 한도를 늘릴 수 있나요?

예, Lambda에 대한 추가 스토리지를 요청할 수 있습니다. 지원 센터로 이동 --> 선택 Create Case--> 선택 Service Limit Increase--> 한도 유형Lambda

여기에 이미지 설명을 입력하세요

해당 섹션까지 아래로 스크롤하여 아래 이미지에 표시된 대로 Requests입력하세요 . Function and Layer Storage내용을 작성하여 Use Case제출하세요.

여기에 이미지 설명을 입력하세요

기본적으로 전체 API는 람다 함수를 기반으로 구축되었으며 각 엔드포인트는 자체 람다 함수를 호출합니다. 이것이 Lambda의 좋은 사용 사례입니까?

일반적으로 말하면 이것은 Lambdas의 매우 좋은 사용 사례입니다. 주의할 점은 내가 귀하의 아키텍처나 코드를 모른다는 것입니다. Lambda 사용 사례와 Lambda를 사용하여 REST API를 생성하는 방법에 대한 여러 참조(아래 나열)가 있습니다.

Websites – Suppose you are creating a website and you want to host the backend logic on Lambda. You can invoke your Lambda function over HTTP using Amazon API Gateway as the HTTP endpoint. Now, your web client can invoke the API, and then API Gateway can route the request to Lambda.

참고자료

Amazon API Gateway에서 Lambda 통합을 사용하여 REST API 생성
Lambda 및 API 게이트웨이를 사용하여 간단한 마이크로서비스 생성
일반적인 Lambda 애플리케이션 유형 및 사용 사례

답변2

API 및 Lambda 기능을 배포하기 위해 서버리스를 사용하고 있습니까? 각 Lambda 인라인에 엔드포인트를 할당할 수 있으므로 이것이 올바른 엔드포인트에 프로비저닝되었는지 확인하는 가장 쉬운 방법입니다.

https://carova.io/snippets/serverless-aws-api-gateway-create-and-deploy-api

그런 다음 여기에 다음과 같은 Lambda 함수를 추가합니다. https://carova.io/snippets/serverless-aws-lambda-function-as-api-gateway-endpoint

관련 정보