Lambda 関数を使用して REST API を作成する

Lambda 関数を使用して REST API を作成する

AWS Lambda関数で構成されたAPIを搭載したウェブアプリがあります。APIには3つの環境(本番環境、ステージング環境、デモ環境)があります。サーバーレスオフライン関数は次のようになります (合計 8​​4 個の関数があり、各環境に 28 個の関数があります)。

生産

  • API 製品関数 1
  • API 製品関数 2
  • API 製品関数 3
  • 等...

演出

  • API ステージング関数 1
  • API ステージング関数 2
  • API ステージング関数 3
  • 等...

デモ

  • API デモ関数 1
  • API デモ関数 2
  • API デモ関数 3
  • 等...

環境に応じて、関数は、使用するサービスのさまざまな DB とさまざまな ENV (Auth0 サンドボックスとライブ、Mailgun サンドボックスとライブなど) に接続されます。

問題は、関数が最大コード ストレージ制限の 75 GB を超えていることです。このスクリプトを使用して古いバージョンをクリーンアップしましたが、削除する古いバージョンは残っていないようです。

私の質問は次のとおりです:

  1. このストレージ制限を増やすことは可能ですか?
  2. 基本的に、API 全体は Lambda 関数上に構築されており、各エンドポイントは独自の Lambda 関数を呼び出します。これは Lambda の適切な使用例でしょうか?

使用されるパッケージ:

  • 分析ノード
  • 認証0
  • AWS SDK について
  • エバーサイン
  • 恐ろしい
  • jsonwebtoken
  • ネックス
  • ラムダマルチパートパーサー
  • ラムダ スラック ルーター
  • ミディ
  • 一瞬
  • ノードメーラー
  • ノードメールラーメールガントランスポート
  • 異議
  • ページ
  • カラス
  • リクエスト
  • リクエスト-promise-ネイティブ
  • サーバーレスセントリー
  • サーバーレスセントリーライブラリ
  • シャ1
  • slack通知
  • ユーザID
  • バリデータ

参考までに: 最初にこれを構築した人が会社を辞めてしまったので、適切な人が見つかるまで私がこれを管理しなければなりません。私は AWS の経験が少しあるので、どんなアドバイスでも大いに役立ちます。

前もって感謝します。

答え1

このストレージ制限を増やすことは可能ですか?

はい、Lambda のストレージ容量を増やすことができます。サポートセンターに移動して、[選択Create Case] Service Limit Increase> [制限タイプ] を選択します。Lambda

ここに画像の説明を入力してください

セクションまでスクロールし、下の画像のようRequestsに入力します。入力して送信します。Function and Layer StorageUse Case

ここに画像の説明を入力してください

基本的に、API 全体は Lambda 関数上に構築されており、各エンドポイントは独自の Lambda 関数を呼び出します。これは Lambda の適切な使用例でしょうか?

一般的に言えば、はい、これは Lambda の非常に良い使用例です。ただし、アーキテクチャやコードはわかりません。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 Gateway を使用してシンプルなマイクロサービスを作成する
一般的な 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

関連情報