2023/3/2 (更新日: 2023/3/2)
Serverless Frameworkを使用してAWS Lambdaを構築してみた
AWS

serverless frameworkとは?
Serverless Frameworkは、「サーバーレスアーキテクチャ」を使ってアプリケーションを開発・デプロイするためのフレームワークです。
AWS Lambda、Google Cloud Functionsなどの設定を手元のファイルに記述して、デプロイするだけで環境を構築することができます。
メリット
serverless frameworkのメリットとしては、
- 多様なプラットフォームのサポートをしており、プラットフォームが異なっても同じ環境を構築ができる
- 必要なリソースを最適化してくれるので、必然的にコストが削減できる
- セキュリティに優れているので、セキュリティの面倒を見ることなくサーバーの運用ができる
といったものが存在します。
serverless frameworkでlambdaを構築する方法
以下の手順でaws lambdaの環境を構築することができます。
serverless frameworkをインストールする
ターミナルで「npm install -g serverless」と入力して、Serverless Frameworkをインストールします。
npm install -g serverless
AWSの認証情報を設定する
AWSのアクセスキーIDとシークレットアクセスキーを取得し、ターミナルで
serverless config credentials --provider aws --key [自分のアクセスキー] --secret [自分のシークレットキー]
と入力して認証情報を設定します。
新しいServerless Serviceを作成する
ターミナルで
serverless create --template aws-nodejs --path my-service
と入力して、新しいServerless Serviceを作成します。
Lambda関数を定義する
my-serviceディレクトリに移動し、serverless.ymlファイルを編集して、Lambda関数の定義を追加します。例えば、以下のようになります。
service: my-service
provider:
name: aws
runtime: nodejs12.x
functions:
hello:
handler: handler.hello
events:
- http:
path: /
method: GET
上記の例では、Lambda関数"hello"が定義されており、"handler.hello"というハンドラー関数が使用されます。また、API Gatewayのエンドポイントとして、HTTPメソッドが"GET"でパスが"/"のエンドポイントが設定されています。
Lambda関数をデプロイする
ターミナルで
serverless deploy
と入力して、Lambda関数をデプロイします。これにより、関数コードがアップロードされ、関数が自動的に作成されます。

23歳のITエンジニア兼野球好き。 初心者でもわかりやすい記事を投稿し、質の高いアプリを作成できるようにお手伝いします。 IT技術を駆使し、世界をより豊かにするための情報を提供するブログです。
