案件でServerless Frameworkについて触ったのでその記録です

technologies

そもそもserverless Frameworkとは?

サーバーレスなアーキテクチャを簡単に作成できるオープンソースのフレームワークです。
AWS Lambdaだけでなく、Azure Functions、Google CloudFunctionsなどに対応してます。

イメージとしてはCloudFormationでいろいろリソースを作成できますが、その点以外にもserverless frameworkを活用して簡単にデプロイができるという優れものになっています。

Node.jsのインストール

ServerlessはNode.jsで作られたCLIツールです。
なのでNode.jsをインストールしましょう。

<参考サイト>

https://qiita.com/kyosuke5_20/items/c5f68fc9d89b84c0df09

僕はHomebrewを使用してNode.jsをインストールしています。

Serverlessのインストール

Serverlessはnpmのパッケージとして公開されています。

PCのグローバル環境にインストールするため

npm install -g serverless

としましょう。2020/11/11時点では2.11.1でした(ただこのバージョン後に共有する記事(aws-nodejs-typescript)のローカル環境での確認でファイル構成が変わっていたりたくさんイシューが上がっていたりするのでバージョンには要注意です。

インストールされたらバージョンを確認しましょう

(base) ~% serverless -v
Framework Core: 1.67.3
Plugin: 3.8.4
SDK: 2.3.2
Components: 2.34.9
(base) ~% sls -v
Framework Core: 1.67.3
Plugin: 3.8.4
SDK: 2.3.2
Components: 2.34.9
(base) ~% 
(base) ~% 
(base) ~% sls --help

serverlessは短縮コマンドとしてslsが使用できます。
現在1.67.3は最新ではありませんが、後に確認する記事に合わせるためにしています。

serverless-offlineを導入してステップ実行の確認をする

serverless.ymlファイルの
pluginsの部分にserverless-offlineを追記する

plugins:
  - serverless-webpack
  - serverless-offline

その後npm install –save-dev serverless-offlineを実行します

npm install --save-dev serverless-offline

その後

sls offline start

でローカル環境を実行できる

plugins:
  - serverless-webpack
  - serverless-offline
  - serverless-dynamodb-local

インストール
npm install save-dev serverless-dynamodb-local

<参考サイト>
https://note.com/dafujii/n/naf05740a253b

関連記事一覧