AWSラムダ関数、Amazon APIゲートウェイおよびServerless Frameworkを使用したServerless Backendの作成
5568 ワード
Serverlessバックエンドは、サービスとしてバックエンドと呼ばれ、サービスとして機能する.
Wikipediaによると、Serverless Computingはクラウド・コンピューティングの実行モデルであり、クラウド・プロバイダがマシン・リソースをオンデマンドに割り当て、顧客に代わってサーバを管理する.
Serverlessなアーキテクチャの長所 ServerLessは本質的にスケーラブルです. あなたのServerlessな機能が走っているとき、あなたが支払うだけであるので、より低コストでより効率的な 展開して更新する サーバ管理は不要です
無口な建築の短所 ServerLessは長時間の処理のために作られていません、それは時間枠を持っています.例えば、15分後にAWSラムダタイムアウト. デバッグと監視ツールのプロバイダに依存するのでデバッグするのは難しいです 長い実行中の処理は、サーバーに比べてサーバーレスでより高価になる可能性があります あなたのServerlessなバックエンドがその最初の機能要求を扱うのに少しの時間がかかるかもしれません. クライアントのOS情報に関する情報を以下のツールで返すServerless Backend Endpointを作成します. Serverless Framework—サーバレスアプリケーションの展開と管理のためのより汎用的ツール AWSラムダ-サーバーをプロビジョニングまたは管理せずにコードを実行し、ワークロードを意識したクラスタスケーリングロジックを作成し、イベント集約を維持するか、ランタイムを管理するServerless Computeサービス APIゲートウェイ-開発者が作成し、公開、維持、監視、およびセキュリティを任意の規模でAPIを簡単にする完全に管理サービス ChromeのV 8 JavaScriptエンジンに組み込まれたJavaScriptランタイム
始める もう持っているに違いないNodejs あなたのローカルマシンにインストールされています. あなたもAWS account , また、作成する必要がありますIAM user プログラムのアクセスでは、この記事のために、rootユーザを使います. アクセスキーのIDと秘密のアクセスキーをコピーしますAWS console インストールServerless グローバルなフレームワークを使用して
Serverless AWS NODEJSテンプレートを使用したServerlessプロジェクトの作成
.Serverlessフォルダー(このフォルダには生成されたCloudFormationファイルとZip - Blagsが含まれています)は、フォルダなしの展開を実行するたびにフォルダが再生成されます .ギティノーファイル ハンドラ.jsファイル 無力.YMLファイル(このファイルにはサーバレスの配備設定が含まれています) ハンドラ.js
無力.気象研
ローカルで関数をテストする
アマゾンAPIゲートウェイ
Amazon API Gateway 開発者が作成し、公開、維持、監視、および任意の規模でAPIを確保することを容易にする完全に管理されたサービスです.Apisはアプリケーションのためのフロントドアとして機能します.APIゲートウェイを使用すると、リアルタイム双方向通信アプリケーションを有効にするRESTful APIとWebSocket APIを作成できます.APIゲートウェイは、Webアプリケーションと同様に、コンテナやサーバーレスのワークロードをサポートしています.
AmazonAPIゲートウェイを使ってGetosInfo関数のAPIエンドポイントを作成します.Serverlessのフレームワークではかなり簡単です.必要なのはServerlessのコードを追加することです.YMLと配備
AWSに関数を配備する
概要 無セル計算の定義を学習した 私たちは、Serverlessの賛否両論を学びました 私たちは、Serverlessなフレームワーク、AWSラムダ、Amazon APIゲートウェイとNonjesを使用しているAPIでServerlessなバックエンドを作成する方法を学びました ローカルで関数をテストする方法を学びました 機能の配備方法を学びました 次の記事では、CloudFormationテンプレートを使用してServerlessアプリケーションを展開する方法を紹介します
Wikipediaによると、Serverless Computingはクラウド・コンピューティングの実行モデルであり、クラウド・プロバイダがマシン・リソースをオンデマンドに割り当て、顧客に代わってサーバを管理する.
Serverlessなアーキテクチャの長所
無口な建築の短所
始める
npm install -g serverless
サーバレスのAWS資格情報の設定serverless config credentials --provider aws --key AKJAPB7TR3*** --secret ****F4WA1JfG1sx9+7/+kKg/a
AWSコンソールからコピーしたキーと秘密を置き換えます.あなたはAzure、AWS、GCP等のような異なるプロバイダでServerlessを使用できます.Serverless AWS NODEJSテンプレートを使用したServerlessプロジェクトの作成
serverless create --template aws-nodejs --path clientOs
上記のコマンドは* clientos *と呼ばれるフォルダを作成し、このフォルダの内部に次のファイル/フォルダが表示されます.'use strict';
const os = require('os');
module.exports.getOsInfo = async (event) => {
return {
statusCode: 200,
body: JSON.stringify(
{
osName: os.hostname(),
osPlatform: os.platform(),
osCPU: os.cpus(),
// 1mb = 1048576
osMemory: os.totalmem() / 1048576,
},
null,
2
),
};
};
ハンドラを更新しました.クライアントのオペレーティングシステム情報を取得するJS.nodejsライブラリからOSをインポートし、hostname ()やplatform ()などの異なるメソッドをコールしました.無力.気象研
service: clientos
provider:
name: aws
runtime: nodejs12.x
functions:
getOsInfo:
handler: handler.getOsInfo
私も、Serverlessを更新しました.我々がちょうど作成した新しい機能によるYML.私はgetosinfo関数を追加しました.ローカルで関数をテストする
sls invoke local -f getOsInfo
AWSに関数を配備するsls deploy
あなたは、あなたのAWSコンソール、ラムダを捜してログインすることができますアマゾンAPIゲートウェイ
Amazon API Gateway 開発者が作成し、公開、維持、監視、および任意の規模でAPIを確保することを容易にする完全に管理されたサービスです.Apisはアプリケーションのためのフロントドアとして機能します.APIゲートウェイを使用すると、リアルタイム双方向通信アプリケーションを有効にするRESTful APIとWebSocket APIを作成できます.APIゲートウェイは、Webアプリケーションと同様に、コンテナやサーバーレスのワークロードをサポートしています.
AmazonAPIゲートウェイを使ってGetosInfo関数のAPIエンドポイントを作成します.Serverlessのフレームワークではかなり簡単です.必要なのはServerlessのコードを追加することです.YMLと配備
events:
- http:
path: client/os
method: get
HTTPを使用してイベントを追加します.service: clientos
provider:
name: aws
runtime: nodejs12.x
functions:
getOsInfo:
handler: handler.getOsInfo
events:
- http:
path: client/os
method: get
あなたの更新Serverless.YMLはこのようになります.AWSに関数を配備する
sls deploy
コンソールをチェックしてくださいendpoints:
GET - [https://shs8k2mrea.execute-api.us-east-1.amazonaws.com/dev/](https://shs8k2ryia.execute-api.us-east-1.amazonaws.com/dev/say/hello)client/os
あなたはURLをコピーして、あなたのブラウザーまたはポストマンまたはどちらの好みのツールにでもそれをテストすることができます.概要
Reference
この問題について(AWSラムダ関数、Amazon APIゲートウェイおよびServerless Frameworkを使用したServerless Backendの作成), 我々は、より多くの情報をここで見つけました https://dev.to/rexben001/create-a-serverless-backend-with-aws-lambda-function-amazon-api-gateway-and-serverless-framework-5063テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol